fastmcp
快速构建 MCP 服务器和客户端的 Python 框架,能自动将 Python 函数转为 MCP 兼容的 tool/resource/prompt,并处理 transport、认证等生命周期。亮点是已被官方 MCP Python SDK 采纳,当前 70% 的 MCP 服务器基于它构建,支持 server、client、app 三大组件,适合需要让 LLM 调用工具或数据源的开发者。
README
FastMCP 🚀
快速行动,创造价值。
由 Prefect 用 💙 制作
模型上下文协议(Model Context Protocol,MCP) 将 LLM(大型语言模型)与工具和数据连接起来。FastMCP 提供了从原型到生产环境所需的一切:
from fastmcp import FastMCP
mcp = FastMCP("Demo 🚀")
@mcp.tool
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
if __name__ == "__main__":
mcp.run()
为什么选择 FastMCP
构建一个有效的 MCP 应用比看起来要难得多。FastMCP 处理了一切。用 Python 函数声明一个工具,schema(模式)、验证和文档会自动生成。通过 URL 连接到服务器,传输协商、身份验证和协议生命周期都会自动管理。你只需专注于业务逻辑,MCP 部分就能正常工作:使用 FastMCP,最佳实践内置其中。
这就是 FastMCP 成为使用 MCP 的标准框架的原因。 FastMCP 1.0 已于 2024 年被纳入官方的 MCP Python SDK。如今,这个积极维护的独立项目每天被下载一百万次,某种版本的 FastMCP 驱动着跨所有语言的 70% 的 MCP 服务器。
FastMCP 有三大支柱:
服务器 向 LLM 暴露工具、资源和提示。 |
应用 为你的工具提供直接在对话中渲染的交互式 UI。 |
客户端 连接到任何 MCP 服务器——本地或远程,编程式或 CLI。 |
服务器 将你的 Python 函数封装成符合 MCP 的工具、资源和提示。客户端 通过完整的协议支持连接到任何服务器。而 应用 则为你的工具提供直接在对话中渲染的交互式 UI。
使用 Horizon 在生产环境中运行 FastMCP
FastMCP 是构建 MCP 服务器的标准方式。Prefect Horizon 是用于安全运行它们的企业级 MCP 网关。
由 FastMCP 团队构建的 Horizon,封装了我们从交付世界上最流行的 MCP 框架中学到的最佳实践。
从 GitHub 部署 FastMCP 服务器,支持分支预览和即时回滚。创建你公司使用的每个 MCP 的私有注册中心。通过 SSO 和工具级 RBAC 保护访问。获取审计日志、可观测性和整个 MCP 栈的治理。将经过审批的工具重新混合成面向团队和代理的专用端点。
从 FastMCP 开始。用 Horizon 扩展 →
安装
我们推荐使用 uv 安装 FastMCP:
uv pip install fastmcp
有关完整的安装说明,包括验证和升级,请参阅 安装指南。
正在升级? 我们提供了以下指南:
[!NOTE] 如果在通过
pip从 FastMCP 3.2 或更早版本升级后import fastmcp失败,请运行pip install --force-reinstall fastmcp。查看 故障排除 了解原因(uv不受影响)。
📚 文档
FastMCP 的完整文档可在 gofastmcp.com 获取,包括详细指南、API 参考和高级模式。
文档也以 llms.txt 格式 提供,这是一种 LLM 易于消费的简单 markdown 标准:
llms.txt本质上是站点地图,列出了文档中的所有页面。llms-full.txt包含完整文档。请注意,这可能会超过你的 LLM 的上下文窗口。
社区: 加入我们的 Discord 服务器,与其他 FastMCP 开发者交流并分享你的作品。
贡献
我们欢迎贡献!请参阅 贡献指南,了解设置说明、测试要求和 PR 指南。