ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">FastAPI-MCP 是一款ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(51, 51, 51);">零配置工具,可让 FastAPI 应用ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(51, 51, 51);">自动暴露所有端点,并兼容ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(51, 51, 51);">Model Context Protocol (MCP)。ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">这意味着你的 FastAPI 应用不仅能被传统客户端调用,还能ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(51, 51, 51);">无缝对接ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(51, 51, 51);">Claude Desktop、Cursor等 AI 代理工具,实现更智能的 API 交互。 ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0.3em 1em;color: rgb(255, 255, 255);background: rgb(51, 51, 51);border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px;">? FastAPI-MCP 是什么?ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">FastAPI-MCP 是一款ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(51, 51, 51);">零配置工具,可让 FastAPI 应用自动兼容 Model Context Protocol (MCP),从而:✅一行代码集成—— 直接在 FastAPI 挂载 MCP 服务器,无需改动现有代码 ✅自动发现 API—— 无需额外配置,所有端点自动转换为 MCP 工具 ✅保留 API 文档—— 你的 Swagger 文档可在 MCP 生态中直接访问 ✅支持自定义扩展—— 允许额外定义 MCP 工具,增强 API 能力 你的 FastAPI 应用,从此不仅能被传统客户端调用,还能变身智能 API 服务器,供 AI 代理工具高效交互!
安装 FastAPI-MCP你可以通过pip或uv进行安装: # 使用 uv(推荐) uv add fastapi-mcp
# 或使用 pip pip install fastapi-mcp
快速上手假设你已经有一个FastAPI应用,现在**只需一行代码**,就能让它支持MCP: fromfastapiimportFastAPI fromfastapi_mcpimportadd_mcp_server
# 创建 FastAPI 应用 app = FastAPI()
# 挂载 MCP 服务器 add_mcp_server( app, # FastAPI 应用 mount_path="/mcp", # MCP 服务器路径 name="My API MCP", # MCP 服务器名称 )
这样,你的 MCP 服务器就可以通过https://your-app.com/mcp访问了!?
进阶用法FastAPI-MCP 还支持自定义 API 配置,比如: ?启用完整 JSON Schema,适配不同的 LLM 工具 ?显示所有可能的响应模式,让 API 更直观 ?手动扩展 MCP 工具,增强交互能力 示例代码: fromfastapiimportFastAPI fromfastapi_mcpimportadd_mcp_server
app = FastAPI()
# 创建 MCP 服务器并启用高级配置 mcp_server = add_mcp_server( app, mount_path="/mcp", name="My API MCP", describe_all_responses=True, # 显示所有可能的响应模式 describe_full_response_schema=True# 提供完整 JSON Schema )
# 额外添加一个 MCP 工具(获取服务器时间) @mcp_server.tool() asyncdefget_server_time() ->str: """获取服务器当前时间""" fromdatetimeimportdatetime returndatetime.now().isoformat()
这样,你的 MCP 服务器不仅支持 API 自动转换,还能扩展自定义 AI 工具! ? 连接 MCP 服务器FastAPI-MCP 支持SSE(Server-Sent Events)和mcp-proxy两种方式,轻松对接 AI 工具: 1️⃣ SSE 方式(适用于 Cursor)- 2. 在Cursor设置中,填写 MCP 服务器 URL(如
http://localhost:8000/mcp)
2️⃣ mcp-proxy 方式(适用于 Claude Desktop)如果 MCP 客户端不支持 SSE(如 Claude Desktop),可以使用mcp-proxy代理: 安装 mcp-proxyuvtoolinstallmcp-proxy 配置 Claude Desktop在claude_desktop_config.json中添加 MCP 代理配置: Windows { "mcpServers":{ "my-api-mcp-proxy":{ "command":"mcp-proxy", "args":["http://127.0.0.1:8000/mcp"] } } }
MacOS { "mcpServers":{ "my-api-mcp-proxy":{ "command":"/Full/Path/To/Your/Executable/mcp-proxy", "args":["http://127.0.0.1:8000/mcp"] } } }
找到mcp-proxy的路径: whichmcp-proxy Claude Desktop 将自动发现并对接所有 API 端点!?
总结FastAPI-MCP 让你的FastAPI 应用无缝集成 MCP 生态,只需一行代码,就能让 API 端点自动转换为 AI 代理工具可用的 MCP 工具,同时还保留 Swagger 文档。 适用于: ✅ 想让 FastAPI自动暴露 API的开发者 ✅ 需要与AI 代理(Claude / Cursor)交互的场景 ✅ 希望零配置即可对接 MCP 生态的项目 |