FastMCP 是用 Python 构建 MCP 服务器的框架,用于向大语言模型暴露工具(tools)、资源(resources)和提示词(prompts)。安装:pip install fastmcp 或 uv pip install fastmcp。最小服务器需在模块级创建 mcp = FastMCP("My Server"),用 @mcp.tool() 装饰函数,并以 if name == "main": mcp.run() 运行;本地可用 python server.py 或 fastmcp dev server.py,HTTP 模式用 python server.py --transport http --port 8000。核心概念:工具是可被 LLM 调用的函数,建议清晰命名、完整 docstring、强类型提示(Pydantic 自动校验)、返回结构化数据并妥善处理错误;同步用于非阻塞操作,异步用于 I/O 与 API 调用。资源通过 @mcp.resource 暴露静态或动态数据,支持 data://、file://、resource://、info://、api:// 及自定义 URI 方案,资源模板 URI 参数名必须与函数签名完全一致。提示词通过 @mcp.prompt 预配置。上下文提供请求用户输入(elicitation)、进度上报与采样(调用 LLM 补全)。存储后端基于 py-key-value-aio,支持内存(默认)、磁盘、Redis、DynamoDB、MongoDB、Elasticsearch、Memcached、RocksDB、Valkey,可用于 OAuth 令牌持久化、响应缓存;磁盘默认用 FernetEncryptionWrapper 加密,平台感知默认(Mac/Windows 用磁盘,Linux 用内存)。服务器 lifespan 提供每服务器实例一次的初始化与清理钩子,v2.13.0 起由每会话改为每实例;与 FastAPI 等 ASGI 应用集成时须传入 mcp.lifespan。还提供 8 种内置中间件:Timing、ResponseCaching、Logging、RateLimiting、ErrorHandling、ToolInjection、PromptTool、ResourceTool,按添加顺序执行,支持自定义中间件与多种钩子。文档未提供收费、价格与效果说明。
fastmcp
智能体与模型
更新于 10-15 22:39