什么是 FastAPI-MCP?
FastAPI-MCP 是 FastAPI 框架的原生扩展。它将您的 API 端点暴露为 MCP 工具,MCP 兼容的 LLM 代理可以动态发现和调用这些工具。与传统的转换器不同,FastAPI-MCP 深度集成 FastAPI 的 ASGI 栈,支持内置的认证和文档保留,并实现统一和分离部署模式,提供更大的灵活性。
如何配置 FastAPI-MCP
- 使用您喜欢的包管理器安装 FastAPI-MCP:
- 使用 uv:
uv add fastapi-mcp - 使用 pip:
pip install fastapi-mcp
- 使用 uv:
- 导入 FastAPI-MCP 并在您的 FastAPI 应用实例中初始化它。
- 使用
.mount()方法暴露您的 MCP 服务器,该方法将根据您现有的 FastAPI 路由自动生成 MCP 工具端点。 - 可选择使用 FastAPI 的依赖注入配置认证(例如,
Depends()),并根据您的要求自定义文档或部署。
如何使用 FastAPI-MCP
- 在您的 FastAPI 应用中添加以下内容:
from fastapi import FastAPI from fastapi_mcp import FastApiMCP app = FastAPI() mcp = FastApiMCP(app) mcp.mount() - 一旦挂载,您的 MCP 服务器将在您的应用基础 URL 的
/mcp下可用。 - 所有兼容的 FastAPI 端点将自动成为 MCP 工具,准备被 MCP 客户端(包括 LLM 代理)发现和调用。
- 端点保留其原始模式、验证和认证逻辑,您对 FastAPI 应用的任何更改将反映在 MCP 工具中。
- 在 fastapi-mcp.tadata.com 查看文档,并参考 示例 进行实际演示。
关键特性
- 认证集成: 重用 FastAPI 现有的依赖和安全模型为 MCP 端点提供支持。
- 最小配置: 通过一个方法调用立即将所有 FastAPI 端点暴露为 MCP 工具。
- 原生 FastAPI 支持: 利用 ASGI 传输实现高效和直接的通信。
- 模式和文档保留: 保持 OpenAPI 文档、模型和字段验证。
- 灵活部署: 将 MCP 服务器作为嵌入应用或独立服务进行部署。
- 全面的生态系统: 容易与 LLM 和外部 MCP 兼容工具集成。
使用案例
- 立即将您业务的 REST API 转换为可安全访问的 LLM 工具,支持智能代理工作流程。
- 通过让 LLM 调用您的 FastAPI 端点作为 MCP 工具来构建自定义工作流自动化。
- 原型设计和分享新的 AI 驱动功能,避免手动端点封装或重复。
- 将企业数据和外部 API 连接到统一的、模型可访问的工具集。
常见问题
问1: 我需要修改我的 FastAPI 代码来使用 FastAPI-MCP 吗?
答: 不需要,您可以通过简单地初始化和挂载 FastAPI-MCP,将现有端点作为 MCP 工具暴露,几乎不需要修改。
问2: 我可以在 MCP 工具中使用 FastAPI 的认证和依赖吗?
答: 可以,FastAPI-MCP 完全支持通过 FastAPI 的 Depends() 进行认证和依赖注入,因此您的安全模型不会受到影响。
问3: 我可以将 MCP 服务器单独部署在我的 FastAPI 应用之外吗?
答: 可以,FastAPI-MCP 支持统一和单独的部署模式,您可以在应用内或作为独立 ASGI 服务挂载 MCP 服务器。
问4: 请求和响应模式如何处理?
答: 所有端点的模式和文档都将被保留,确保通过 MCP 工具进行一致的输入验证和发现。