mcpField
F
FastAPI-MCP

FastAPI-MCP

本地服务
fastapi-mcp.tadata.com开发工具12.0k63 周前更新

关于 FastAPI-MCP

FastAPI-MCP 可将 FastAPI 端点暴露为 MCP 工具,并复用应用中已有的认证依赖。它面向希望为现有 FastAPI 服务增加 MCP 能力的 Python 开发者,并以 ASGI 方式直接调用应用。

主要功能

  1. 01复用 FastAPI Depends() 实现认证与授权
  2. 02自动保留请求与响应模型的 schema
  3. 03保留端点的 Swagger 文档说明
  4. 04可挂载到同一应用或独立部署
  5. 05基于 ASGI 直接通信,无需额外 HTTP 调用
  6. 06零或少量配置即可运行

适用场景

  1. 01为现有 FastAPI 服务添加 MCP 工具接口
  2. 02在 MCP 端点上应用既有的权限控制
  3. 03将内部 API 以 MCP 工具形式提供给 Cursor 或 Claude 等客户端

MCP 相关

FastAPI-MCP 是一个 MCP 服务端扩展,将 FastAPI 路由转换为 MCP 工具,并在应用中挂载 /mcp 端点供 MCP 客户端连接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

fastapi-to-mcp

由 Tadata 构建

FastAPI-MCP

tadata-org%2Ffastapi_mcp | Trendshift

将 FastAPI 端点作为 Model Context Protocol(MCP)工具公开,并支持身份验证!

PyPI version Python Versions FastAPI CI Coverage

fastapi-mcp-usage

功能特性

  • 内置身份验证,使用现有的 FastAPI 依赖项!

  • 原生支持 FastAPI: 不只是另一个 OpenAPI -> MCP 转换器

  • 零配置/最少配置——只需指定 FastAPI 应用即可使用

  • 保留架构,包括请求模型和响应模型的架构

  • 保留文档,所有端点的文档都会按 Swagger 中的原样保留

  • 灵活部署——可将 MCP 服务挂载到同一应用,也可单独部署

  • ASGI 传输——直接使用 FastAPI 的 ASGI 接口,实现高效通信

托管解决方案

如果你更倾向于使用托管解决方案,请访问 tadata.com。

安装

我们推荐使用快速的 Python 包安装器 uv:

uv add fastapi-mcp

或者,你也可以使用 pip 安装:

pip install fastapi-mcp

基本用法

使用 FastAPI-MCP 最简单的方法,是直接在 FastAPI 应用中添加 MCP 服务:

from fastapi import FastAPI
from fastapi_mcp import FastApiMCP

app = FastAPI()

mcp = FastApiMCP(app)

# Mount the MCP server directly to your FastAPI app
mcp.mount()

就这样!自动生成的 MCP 服务现已可通过 https://app.base.url/mcp 访问。

文档、示例和高级用法

FastAPI-MCP 提供了全面的文档。此外,还可以查看 examples 目录,其中包含展示这些功能实际用法的代码示例。

FastAPI 优先的方法

FastAPI-MCP 被设计为 FastAPI 的原生扩展,而不只是一个从 API 生成 MCP 工具的转换器。这种方法有几个关键优势:

  • 原生依赖项: 使用熟悉的 FastAPI Depends() 进行身份验证和授权,保护 MCP 端点

  • ASGI 传输: 通过 FastAPI 应用的 ASGI 接口直接通信,无需 MCP 通过 HTTP 调用你的 API

  • 统一基础设施: FastAPI 应用无需与 MCP 服务分开运行(同时也支持单独部署)

这种设计理念确保了为现有 FastAPI 服务添加 MCP 功能时只需最少的改动。

开发与贡献

感谢您考虑为 FastAPI-MCP 做出贡献!我们欢迎社区成员提交 Issues 和创建 Pull Requests。

开始之前,请参阅我们的贡献指南。

社区

加入 MCParty Slack 社区,与其他 MCP 爱好者交流、提问并分享您使用 FastAPI-MCP 的经验。

要求

  • Python 3.10+(推荐使用 3.12)
  • uv

许可证

MIT 许可证。版权所有 (c) 2025 Tadata Inc.

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。