MCP Builder
MCP Server 开发指南,用于创建高质量的 MCP(Model Context Protocol)服务器,使 LLM 能够通过设计良好的工具与外部服务交互。支持 Python(FastMCP)和 Node/TypeScript(MCP SDK),提供从研究规划到评估验证的完整四阶段开发流程。
本技能提供了一套系统化的 MCP 服务器开发方法论,涵盖深度研究、规范实现、测试验证和效果评估四个阶段,帮助开发者构建让 LLM 高效使用的工具集。
核心开发流程
Phase 1: 深度研究与规划
理解现代 MCP 设计原则
API 覆盖 vs 工作流工具:优先全面覆盖 API 端点,同时提供针对特定任务的工作流工具
工具命名与可发现性:使用清晰、描述性的工具名称,采用一致的前缀(如 github_create_issue、github_list_repos)
上下文管理:设计简洁的工具描述,支持过滤和分页,返回聚焦的相关数据
可操作的错误消息:错误信息应包含具体建议和后续步骤,引导 Agent 解决问题
技术栈选择
推荐语言:TypeScript(高质量 SDK 支持、良好的兼容性、AI 模型生成质量高)
传输协议:远程服务器使用 Streamable HTTP(无状态 JSON,更易扩展);本地服务器使用 stdio 规划实现
审查目标服务的 API 文档,识别关键端点、认证需求和数据模型
优先实现最常用的操作,确保全面的 API 覆盖
Phase 2: 项目实现
项目结构搭建
TypeScript:配置 package.json、tsconfig.json 等
Python:组织模块结构、管理依赖
核心基础设施
API 客户端与认证处理
错误处理辅助工具
响应格式化(JSON/Markdown)
分页支持
工具开发规范
输入 Schema:使用 Zod(TypeScript)或 Pydantic(Python),包含约束条件和清晰描述
输出 Schema:定义 outputSchema,使用 structuredContent 返回结构化数据
工具描述:简洁的功能摘要、参数说明、返回类型
实现要点:异步 I/O、恰当的错误处理、分页支持、同时返回文本和结构化数据
注解:readOnlyHint、destructiveHint、idempotentHint、openWorldHint
Phase 3: 审查与测试
代码质量检查
避免重复代码(DRY 原则)
一致的错误处理
完整的类型覆盖
清晰的工具描述
构建与验证
TypeScript:运行 npm run build 验证编译,使用 MCP Inspector 测试
Python:语法验证 python -m py_compile,使用 MCP Inspector 测试
Phase 4: 创建评估
评估设计原则 创建 10 个复杂、真实的评估问题,验证 LLM 能否有效使用 MCP 服务器完成实际任务。
评估要求
独立性:不依赖其他问题
只读性:仅使用非破坏性操作
复杂性:需要多次工具调用和深度探索
真实性:基于人类关心的真实用例
可验证性:单一明确答案,可通过字符串比较验证
稳定性:答案不会随时间变化
输出格式 使用 XML 格式存储问答对,包含 和 标签。
参考资源
MCP 协议文档
协议概述与架构
传输机制(Streamable HTTP、stdio)
工具、资源和提示定义