用途
本技能面向生产级 MCP(Model Context Protocol,模型上下文协议)实现,提供高级模式,重点解决工具组合、资源管理与服务扩展三类问题。基于 FastMCP 2.14.x(1 月版本),支持企业认证、OpenAPI/FastAPI 生成、服务器组合与代理,运行环境为 Python 3.10-3.13。
主要能力
工具组合(Tool Composition)
将多个工具组合为单一流水线操作。通过 ComposedTool 数据类定义工具集合与执行顺序,按 pipeline 依次调用工具并传递结果。示例中展示了“搜索 + 摘要”的组合:先调用 search_documents,再把结果交给 summarize_content。
服务器构建与生命周期
使用 FastMCP 构建带生命周期管理的服务器。通过 asynccontextmanager 定义 app_lifespan,在启动时初始化数据库与缓存连接,在关闭时清理连接;工具通过 Context 访问 lifespan_context 中的共享资源。示例中包含带类型标注的 AppContext(db、cache、config)。
资源管理与缓存
MCPResourceManager 类实现资源缓存与生命周期管理:以 URI 为键加载资源、记录最后访问时间,并通过 cleanup_stale 清除超过 TTL(默认 15 分钟)的陈旧资源,返回清理数量。
横向扩展与负载均衡
MCPLoadBalancer 类在多台 MCP 服务器实例间进行负载均衡:轮询返回健康服务器,并通过 health_check_loop 每 30 秒对所有服务器做一次健康检查,失败标记为不健康;无健康服务器时抛出 RuntimeError。
自动启用阈值(CC 2.1.9)
可在 .claude/settings.json 中为 MCP 服务器配置基于上下文窗口使用率的 auto:N 自动启用/禁用阈值。示例与建议:auto:90(关键持久化,保留到上下文接近满载)、auto:75(高价值参考文档,保留以支持复杂任务)、auto:60(推理工具,需为输出留出空间)、auto:50(资源密集型,尽早在上下文受限前禁用)。
关键决策
- 传输:Web 用 Streamable HTTP,CLI 用 stdio
- 生命周期:始终使用 lifespan 管理资源
- 组合:通过 pipeline 模式串联工具
- 扩展:采用带健康检查的轮询实现冗余
- 自动启用:按服务器关键性使用 auto:N 阈值
常见错误
- 无生命周期管理导致资源泄漏
- 负载均衡缺少健康检查
- 硬编码服务器端点
- 服务器故障时无优雅降级
- 忽略上下文窗口阈值
相关技能
function-calling(LLM 工具集成模式)、resilience-patterns(熔断与重试)、connection-pooling(数据库连接管理)、streaming-api-patterns(实时流式传输)。
能力细节
- tool-composition:将多个工具组合为工作流、顺序执行、传递工具结果
- resource-management:管理资源生命周期、实现缓存、清理陈旧资源
- scaling-strategies:横向扩展 MCP 服务器、带健康检查的负载均衡、优雅处理故障
- server-building:构建生产 MCP 服务器、管理服务器生命周期、配置传输与中间件
- auto-enable-thresholds:配置 MCP 自动启用/禁用、管理上下文窗口占用、优化服务器可用性
适用场景
构建自定义 MCP 服务器、组合工具、高效管理资源,以及需要横向扩展 MCP 部署的场景。
限制
资料未提供收费、价格、支持的客户端范围或具体性能数据等信息。