模式
OpenAPI 集成
从OpenAPI规范生成MCP服务器
New in version: 2.0.0
FastMCP 可以根据 OpenAPI 规范自动生成 MCP 服务器。用户只需提供 OpenAPI 规范(3.0 或 3.1 版本)和一个 API 客户端即可。
配置选项
超时
你可以为所有API请求设置超时时间:
此超时设置适用于所有由工具、资源和资源模板发起的请求。
路由映射
默认情况下,OpenAPI路由会根据以下规则映射到MCP组件:
| OpenAPI 路由 | 示例 | MCP 组件 | 备注 |
|---|---|---|---|
GET without path params | GET /stats | Resource | Simple resources for fetching data |
GET with path params | GET /users/{id} | Resource Template | Path parameters become template parameters |
POST, PUT, PATCH, DELETE, etc. | POST /users | Tool | Operations that modify data |
在内部,FastMCP使用优先级排序的RouteMap对象集合来确定组件类型。路由映射表明特定的HTTP方法(或多个方法)和路径模式应被视为特定的组件类型。以下是默认的路由映射集合:
自定义路线图
用户可以添加自定义路由映射来覆盖默认的映射行为。用户提供的路由映射总是优先于默认路由映射被应用。
工作原理
- FastMCP解析您的OpenAPI规范以提取路由和模式
- 它应用映射规则对每条路线进行分类
- When an MCP client calls a tool or accesses a resource:
- FastMCP根据OpenAPI定义构建HTTP请求
- 它通过提供的httpx客户端发送请求
- 它将HTTP响应转换为适当的MCP格式
请求参数处理
FastMCP 精心处理 OpenAPI 请求中的不同类型参数:
查询参数
默认情况下,FastMCP只会包含具有非空值的查询参数。值为None或空字符串("")的参数会自动从请求中过滤掉。这确保API服务器不会接收到可能引发问题的多余空参数。
例如,如果您使用以下参数调用工具:
生成的HTTP请求将仅包含 category=electronics&min_price=100。
路径参数
对于REST API通常需要的路径参数,FastMCP会过滤掉None值并检查是否提供了所有必需的路径参数。如果缺少必需的路径参数或值为None,将会引发错误。