FastMCP 介绍
了解工具的详细功能和使用方法
把内部查询函数开放给 AI 客户端时,除了让工具被发现,还要处理输入约束、结果结构、身份与数据权限。FastMCP 是面向 MCP 服务端、客户端与交互应用的 Python 框架,适合希望用已有 Python 业务代码建立这层接口的团队。官方介绍
FastMCP 能做什么
可以把带类型标注的函数声明为工具,也可以提供资源和提示模板。框架负责相应的协议封装、schema 与调用流程;业务侧仍要决定哪个操作允许公开、输入如何限制、调用者可以看到哪些记录。客户端可连接服务,开发时还能在内存中调用同一个服务对象,便于回归测试。服务端文档、测试文档
例如,把知识库检索封装为一个参数有限、返回字段固定的工具,比让模型提交任意 SQL、文件路径或 URL 更容易界定权限。FastMCP 支持 Python 类型和 Pydantic 约束,但类型合法不表示请求获得业务授权;租户过滤必须使用经过服务端验证的身份。工具定义、授权文档
当前版本与旧版教程怎么区分
2026-10-20 核对的 PyPI 稳定包是 FastMCP 4.1.1。它与官方 MCP Python SDK 是不同的发行包:前者安装 fastmcp,后者安装 mcp。FastMCP 早期版本曾进入官方 SDK,不能因此把独立项目的当前版本和 SDK 内的历史辅助接口混用。PyPI、从 SDK v1 迁移
FastMCP 4 跟随 SDK v2 使用的对象字段有 snake_case 变化,旧 camelCase 读取可能经兼容层工作并出现警告。官方文档跟随主分支,示例应对照锁定版本运行,升级时分别检查协议、工具输入输出和鉴权路径。迁移说明
免费范围与实际费用
当前软件使用 Apache-2.0 许可,框架软件许可费用为 $0。服务器、数据库、身份提供方、日志、模型和下游 API 的费用另计;安装开源包不会获得包含这些用量的免费云套餐。当前许可证
Prefect Horizon 是相关的企业 MCP 网关产品,集中治理与托管能力应按其单独方案核对。本文不把 Horizon 的产品承诺当作自建 FastMCP 自动具备的能力,也不列未经实时确认的订阅价格。官方项目说明
适合什么团队
- 已有 Python API、检索或数据处理逻辑,希望逐项开放为 MCP 工具。
- 能维护依赖锁、测试和部署,希望在发布前覆盖非法参数及越权场景。
- 需要框架层的工具组织、客户端与应用接口,并愿意按实际客户端验证兼容性。
若只需少量标准协议接口,也应比较已有高层服务接口的官方 MCP Python SDK;若核心需求是 TypeScript 与 React Views,可以同时看 mcp-use 以及 Prefect 官方的 FastMCP TypeScript。语言版本和 UI 支持要逐项核对,不能假设相同名称表示能力完全一致。
从只读工具开始验证
先做一个不产生外部副作用的工具:使用合成数据、固定字段和最少参数,测试成功结果、无身份拒绝、参数错误与跨租户隔离,再接入真实服务。readOnlyHint 是客户端提示,不会替你建立数据库只读权限或访问控制。
继续阅读:5 款 MCP 服务端开发工具、与官方 Python SDK 对比、与 mcp-use 对比、只读工具与访问控制教程。页面配图为原创概念插画,并非 FastMCP 官方标志。