📌 项目地址:PrefectHQ/fastmcp | ⭐ 26,457 颗星 | 🔧 Python | 📜 未标注
写一个函数,它就是MCP工具
我试了试这段代码:
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()
启动服务器后,任何MCP客户端都能调用add函数。不需要写JSON-RPC,不用处理传输层协商。类型注解和docstring自动映射成了工具Schema。
这是FastMCP的核心逻辑:你把Python函数写好,框架把MCP协议的脏活全包了。
它到底有多流行
Prefect团队维护这个项目,GitHub上26457个星。数据是这样的:日下载量百万次,跨语言70%的MCP服务器跑的是某种版本的FastMCP。2024年,FastMCP 1.0被官方MCP Python SDK吸收,但独立版还在飞快迭代。
说白了,这玩意儿是MCP生态里的地基。
三个东西,覆盖所有用法
FastMCP把自己拆成三个部分:
Servers:把函数包装成MCP的工具、资源、提示。服务器可以是本地进程,也可以挂远程。传输层走SSE还是stdio,框架自动处理。
Apps:给你的工具加交互UI,直接在对话里渲染。不是纯文本返回,是能点击操作的组件。
Clients:连接任何MCP服务器,有编程接口也有命令行。认证、超时这些都有。
一套东西从定义到消费全包了。
为什么说它成熟
很多MCP实现是半成品。FastMCP不是。
它被官方采纳过,说明设计经得起社区验证。独立的版本迭代更快,生产环境该有的重连、错误处理、认证协商全内置了。
我不用翻一遍MCP协议规范书就能跑起来。这对大多数开发者来说,省的时间不是一点半点。
企业版是另一回事
Prefect团队做了个商业产品叫Horizon。如果你需要SSO登录、工具级别的权限控制、审计日志、GitHub部署带分支预览和回滚,那得用这个。
开源版适合单机或小团队自己折腾。企业级的东西,得花钱。
一点实用建议
MIT许可证,随便用。
Python 3.8+就能跑。具体版本看官方安装指南。
如果对MCP协议完全陌生,先读官方Quickstart。gofastmcp.com/getting-started/quickstart。十分钟看完再动手,比瞎试强。
当前是1.x稳定版,但项目还在加功能。建议关注GitHub Releases,别被新版本打乱节奏。
最后说一句:如果你想让LLM调你的Python代码,FastMCP是当前最直接的路径。写函数,跑服务器,完事。