SuperAPI AI 工具集

mcp-builder

智能体与模型

查看项目

更新于 10-16 04:39

技能介绍

用途

mcp-builder 是一份开发指南,用于创建高质量的 MCP(Model Context Protocol)服务器。这类服务器通过设计良好的工具,使 LLM 能够与外部服务交互。指南指出,MCP 服务器的质量以其帮助 LLM 完成真实世界任务的能力来衡量。

主要能力与流程

指南将创建高质量 MCP 服务器的过程划分为四个主要阶段。

阶段一:深度研究与规划

  • 理解现代 MCP 设计,包括 API 覆盖与工作流工具之间的平衡。工作流工具对特定任务更方便,而全面的 API 覆盖让智能体可以灵活组合操作。不同客户端表现不同,不确定时应优先考虑全面的 API 覆盖。
  • 工具命名与可发现性:使用清晰、描述性的名称,采用一致前缀(如 github_create_issue、github_list_repos)和面向动作的命名。
  • 上下文管理:工具描述应简洁,并支持过滤/分页结果,返回聚焦且相关的数据。
  • 可操作的错误信息:错误信息应给出具体建议和后续步骤,引导智能体解决问题。
  • 研究 MCP 协议文档:从 sitemap 开始(https://modelcontextprotocol.io/sitemap.xml),再以 .md 后缀获取具体页面(如 https://modelcontextprotocol.io/specification/draft.md)。重点页面包括规范概览与架构、传输机制(streamable HTTP、stdio)、工具/资源/提示定义。
  • 研究框架文档:推荐技术栈为 TypeScript(SDK 支持好,兼容多种执行环境如 MCPB,且 AI 模型擅长生成 TypeScript 代码),传输方式为远程服务器使用 Streamable HTTP(无状态 JSON,更易扩展和维护),本地服务器使用 stdio。TypeScript SDK 文档地址为 https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md,Python SDK 文档地址为 https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md。
  • 规划实现:审查服务 API 文档,识别关键端点、认证要求和数据模型,优先实现最常用的操作。

阶段二:实现

  • 搭建项目结构(参见语言特定指南)。
  • 实现核心基础设施:带认证的 API 客户端、错误处理辅助、响应格式化(JSON/Markdown)、分页支持。
  • 实现工具:输入 Schema 使用 Zod(TypeScript)或 Pydantic(Python),包含约束和清晰描述,并在字段描述中添加示例;尽可能定义 outputSchema 以输出结构化数据,在工具响应中使用 structuredContent(TypeScript SDK 特性);工具描述包含功能摘要、参数说明和返回类型 Schema;实现时对 I/O 操作使用 async/await,提供带可操作信息的错误处理,支持分页,并在使用现代 SDK 时同时返回文本内容和结构化数据。
  • 注解:readOnlyHint、destructiveHint、idempotentHint、openWorldHint(均为 true/false)。

阶段三:审查与测试

  • 代码质量:避免重复代码(DRY 原则)、一致的错误处理、完整类型覆盖、清晰的工具描述。
  • 构建与测试:TypeScript 运行 npm run build 验证编译,使用 MCP Inspector 测试(npx @modelcontextprotocol/inspector);Python 使用 python -m py_compile your_server.py 验证语法,并使用 MCP Inspector 测试。

阶段四:创建评估

  • 评估用于测试 LLM 能否有效使用该 MCP 服务器回答真实、复杂的问题。
  • 创建 10 个评估问题,流程为:工具检查、内容探索(只读操作)、问题生成、答案验证。
  • 每个问题需满足:独立、只读、复杂(需要多次工具调用和深入探索)、真实、可验证(单一明确答案,可通过字符串比较验证)、稳定(答案不随时间变化)。
  • 输出格式为 XML 文件,结构如下:
<evaluation>
  <qa_pair>
    <question>Find discussions about AI model launches with animal codenames. One model needed a specific safety designation that uses the format ASL-X. What number X was being determined for the model named after a spotted wild cat?</question>
    <answer>3</answer>
  </qa_pair>
<!-- More qa_pairs... -->
</evaluation>

参考文件

开发过程中可按需加载以下资源:

  • 核心 MCP 文档(优先加载):MCP 协议从 sitemap 开始,再以 .md 后缀获取具体页面;MCP 最佳实践涵盖服务器与工具命名约定、响应格式指南(JSON vs Markdown)、分页最佳实践、传输选择(streamable HTTP vs stdio)、安全与错误处理标准。
  • SDK 文档(阶段一/二加载):Python SDK 与 TypeScript SDK。
  • 语言特定实现指南(阶段二加载):Python 实现指南(服务器初始化模式、Pydantic 模型示例、使用 @mcp.tool 注册工具、完整示例、质量检查清单);TypeScript 实现指南(项目结构、Zod Schema 模式、使用 server.registerTool 注册工具、完整示例、质量检查清单)。
  • 评估指南(阶段四加载):问题创建指南、答案验证策略、XML 格式规范、示例问题与答案、使用所提供脚本运行评估。

适用场景

适用于需要为 LLM 构建与外部服务交互的 MCP 服务器的开发者,尤其是希望遵循规范流程、保证工具设计质量并进行系统评估的场景。

限制

资料未提供该指南的具体授权方式、版本信息、依赖的脚本细节以及各语言指南的完整内容,这些内容需按指南中给出的链接另行获取。