OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  FastAPI-MCP — 为 MCP 服务快速搭建 Python API 接口

FastAPI-MCP — 为 MCP 服务快速搭建 Python API 接口

 
  journey ·  2026-04-16 11:00:27 · 10 次点击  · 0 条评论  

fastapi-to-mcp

Tadata 构建

FastAPI-MCP

tadata-org%2Ffastapi_mcp | Trendshift

将你的 FastAPI 端点作为模型上下文协议 (MCP) 工具暴露出来,并自带认证!

[![PyPI 版本](https://img.shields.io/pypi/v/fastapi-mcp?color=%2334D058&label=pypi%20package)](https://pypi.org/project/fastapi-mcp/) [![Python 版本](https://img.shields.io/pypi/pyversions/fastapi-mcp.svg)](https://pypi.org/project/fastapi-mcp/) [![FastAPI](https://img.shields.io/badge/FastAPI-009485.svg?logo=fastapi&logoColor=white)](#) [![CI](https://github.com/tadata-org/fastapi_mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/tadata-org/fastapi_mcp/actions/workflows/ci.yml) [![覆盖率](https://codecov.io/gh/tadata-org/fastapi_mcp/branch/main/graph/badge.svg)](https://codecov.io/gh/tadata-org/fastapi_mcp)

fastapi-mcp-usage

特性

  • 内置认证:使用你现有的 FastAPI 依赖项!
  • FastAPI 原生:不仅仅是另一个 OpenAPI -> MCP 转换器。
  • 零/最少配置:只需指向你的 FastAPI 应用即可工作。
  • 保留模式:完整保留请求模型和响应模型的模式定义。
  • 保留文档:保留所有端点的文档,与 Swagger 中完全一致。
  • 灵活部署:可将 MCP 服务器挂载到同一应用,或单独部署。
  • ASGI 传输:直接使用 FastAPI 的 ASGI 接口进行高效通信。

托管解决方案

如果你更喜欢托管的解决方案,请查看 tadata.com

安装

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

uv add fastapi-mcp

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

pip install fastapi-mcp

基本用法

使用 FastAPI-MCP 最简单的方式是直接将 MCP 服务器添加到你的 FastAPI 应用中:

from fastapi import FastAPI
from fastapi_mcp import FastApiMCP

app = FastAPI()

mcp = FastApiMCP(app)

# 将 MCP 服务器直接挂载到你的 FastAPI 应用上
mcp.mount()

搞定!你自动生成的 MCP 服务器现在可以通过 https://app.base.url/mcp 访问。

文档、示例与高级用法

FastAPI-MCP 提供了全面的文档。此外,可以查看示例目录中的代码示例,了解这些特性的实际应用。

FastAPI 优先的设计理念

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

  • 原生依赖项:使用熟悉的 FastAPI Depends() 来保护你的 MCP 端点,实现认证和授权。
  • ASGI 传输:直接使用 FastAPI 应用的 ASGI 接口进行通信,无需 MCP 向你的 API 发起 HTTP 调用。
  • 统一的基础设施:你的 FastAPI 应用无需与 MCP 服务器分开运行(当然也支持单独部署)。

这种设计理念确保了在为你现有的 FastAPI 服务添加 MCP 功能时,摩擦最小。

开发与贡献

感谢你考虑为 FastAPI-MCP 做贡献!我们鼓励社区提交 Issue 和创建 Pull Request。

在开始之前,请阅读我们的贡献指南

社区

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

要求

  • Python 3.10+ (推荐 3.12)
  • uv

许可证

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

10 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 14 ms
Developed with Cursor