Development
MCP 构建器
用于创建高质量 MCP(Model Context Protocol)服务器的指南,使 LLM 能够通过设计良好的工具与外部服务交互。在构建 MCP 服务器以集成外部 API 或服务时使用。
创建 MCP(Model Context Protocol)服务器,使 LLM 能够通过设计良好的工具与外部服务交互。
高层工作流
阶段 1:深入调研与规划
理解现代 MCP 设计
API 覆盖 vs. 工作流工具: 在全面覆盖 API 端点与提供专门的工作流工具之间取得平衡。当难以抉择时,优先保证 API 覆盖的全面性。
工具命名与可发现性: 清晰、有描述性的工具名称能帮助代理快速找到正确的工具。使用一致的前缀和以动作为导向的命名。
上下文管理: 简洁的工具描述以及对结果进行过滤/分页的能力,能让代理受益。
可处置的错误信息: 错误信息应通过具体的建议和后续步骤,引导代理走向解决方案。
研读 MCP 协议文档
从站点地图开始浏览 MCP 规范:https://modelcontextprotocol.io/sitemap.xml
需要重点查看的页面:
- 规范概览与架构
- 传输机制(streamable HTTP、stdio)
- 工具、资源和提示词的定义
规划你的实现
推荐技术栈:
- 语言:TypeScript(SDK 支持质量高)
- 传输:远程服务器使用 Streamable HTTP,本地服务器使用 stdio
阶段 2:实现
搭建项目结构
- 配置正确 tsconfig.json 的 TypeScript 项目
- 用于输入校验的 Zod schema
- 妥善的错误处理
实现核心基础设施
创建共享工具模块:
- 带认证的 API 客户端
- 错误处理辅助函数
- 响应格式化(JSON/Markdown)
- 分页支持
实现工具
对于每个工具:
- 输入 Schema:使用带约束和清晰描述的 Zod
- 输出 Schema:尽可能定义
outputSchema - 工具描述:对功能的简洁概述
- 实现:async/await、妥善的错误处理、分页支持
- 注解(Annotations):readOnlyHint、destructiveHint、idempotentHint、openWorldHint
阶段 3:审查与测试
代码质量
审查以下方面:
- 没有重复代码(DRY 原则)
- 一致的错误处理
- 完整的类型覆盖
- 清晰的工具描述
构建与测试
npm run build
npx @modelcontextprotocol/inspector
阶段 4:创建评测
创建全面的评测以检验有效性:
- 工具检查:列出可用的工具
- 内容探索:使用只读操作
- 问题生成:创建 10 个复杂、贴近真实的问题
- 答案验证:自己解答每一个问题
每个问题都必须满足:
- 独立
- 只读
- 复杂(需要多次工具调用)
- 贴近真实
- 可验证
- 稳定