FastAPI-MCP 由 tadata-org 开发,目标是把 FastAPI 端点直接暴露为 Model Context Protocol(MCP)工具,并自带身份验证能力。根据仓库说明,它使用你现有的 FastAPI 依赖项实现内置身份验证,采用 FastAPI 原生方式,而不是另一个 OpenAPI 到 MCP 的转换器。
主要能力:
- 零配置或极少配置:只需指向 FastAPI 应用即可工作。
- 保留请求模型和响应模型的 schema。
- 保留所有端点的文档,与 Swagger 中保持一致。
- 灵活部署:可将 MCP 服务器挂载到同一应用,也可单独部署。
- 采用 ASGI 传输,直接使用 FastAPI 的 ASGI 接口进行高效通信。
使用方式: 最简便的用法是把 MCP 服务器直接添加到 FastAPI 应用中。仓库说明完成设置后,自动生成的 MCP 服务器即可在 https://app.base.url/mcp 访问。安装推荐使用 uv(快速 Python 包安装器),也可使用 pip 安装。具体代码示例和高级用法可参考其文档与 examples 目录。
设计理念(FastAPI-first):
- 原生依赖:使用熟悉的 FastAPI Depends() 保护 MCP 端点,实现身份验证与授权。
- ASGI 传输:直接通过 FastAPI 应用的 ASGI 接口通信,避免 MCP 到 API 的 HTTP 调用。
- 统一基础设施:FastAPI 应用不必与 MCP 服务器分开运行(也支持单独部署)。
适用场景:
- 已有 FastAPI 服务,希望以最小改动为其添加 MCP 能力。
- 需要在 MCP 端点中复用既有 FastAPI 依赖做鉴权。
- 希望保留既有端点的请求/响应 schema 与 Swagger 文档。
限制与环境:
- 需要 Python 3.10+,推荐 3.12。
- 许可证为 MIT License,Copyright (c) 2025 Tadata Inc.。
- 托管方案方面,仓库提到如偏好托管服务可查看 tadata.com,具体收费与价格暂未提供。
- 安装命令、更详细的文档、示例与高级用法暂未提供具体内容。