关于 mcp-builder
mcp-builder 是指导开发者设计、实现、审查和评估 MCP 服务的技能,强调围绕工作流设计工具、精简响应、提供可操作的错误信息及制定真实评估。
主要功能
- 01以工作流为中心设计工具
- 02提供 Python 和 TypeScript 实现指导
- 03输入验证与工具注解指导
- 04错误处理和响应格式建议
- 05代码审查与质量检查
- 06服务测试评估设计
适用场景
- 01围绕 Agent 的完整任务规划工具
- 02使用 Python 或 TypeScript 构建 MCP 服务
- 03审查服务代码与工具模式
- 04通过真实评估测试服务行为
MCP 相关
该技能指导创建 MCP 服务,为大模型提供与外部服务和 API 交互的工具,并涵盖服务设计、实现、审查和评估。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ composio-community/ awesome-claude-plugins --skill mcp-builder安装后在 Claude Code 中输入/mcp-builder确认已加载。
详细介绍
MCP 服务开发指南
概述
使用此技能创建高质量的 MCP(Model Context Protocol)服务,使大模型能够有效地与外部服务交互。MCP 服务提供工具,让大模型能够访问外部服务和 API。
高层工作流
创建高质量的 MCP 服务包含四个主要阶段:
阶段 1:深入研究与规划
以 Agent 为中心的设计原则
围绕工作流构建,而不只是封装 API 端点:
- 不要只是封装现有的 API 端点,而要构建经过深思熟虑、影响力大的工作流工具
- 整合相关操作(例如,
schedule_event同时检查可用时间并创建事件) - 聚焦于支持完成完整任务的工具,而不只是单独的 API 调用
针对有限上下文进行优化:
- Agent 的上下文窗口有限,因此要充分利用每个词元
- 返回高价值信息,而不是详尽的数据倾倒
- 提供“简洁”和“详细”两种响应格式选项
- 默认使用易于理解的标识符,而非技术代码
设计可操作的错误消息:
- 错误消息应引导 Agent 正确使用工具
- 提供明确的后续步骤建议:“尝试使用 filter='active_only' 来减少结果”
- 让错误消息具有指导性,而不只是用于诊断
学习 MCP 协议文档
获取最新的 MCP 协议文档:
使用 WebFetch 加载:https://modelcontextprotocol.io/llms-full.txt
Python 实现:
- Python SDK:
https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md
Node/TypeScript 实现:
- TypeScript SDK:
https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md
阶段 2:实现
设置项目结构
Python:
- 创建单个
.py文件;如果项目较复杂,则按模块组织 - 使用 MCP Python SDK 注册工具
- 定义 Pydantic 模型以验证输入
Node/TypeScript:
- 创建合适的项目结构
- 设置
package.json和tsconfig.json - 使用 MCP TypeScript SDK
- 定义 Zod 模式以验证输入
优先实现核心基础设施
在实现工具之前,先创建共享实用程序:
- API 请求辅助函数
- 错误处理实用程序
- 响应格式化函数(JSON 和 Markdown)
- 分页辅助函数
- 身份验证/令牌管理
系统化实现工具
对于每个工具:
定义输入模式:
- 使用 Pydantic(Python)或 Zod(TypeScript)进行验证
- 添加适当的约束(最小/最大长度、正则表达式模式)
- 提供清晰、详细的字段说明
编写全面的文档字符串:
- 用一行概述工具的功能
- 详细说明用途和功能
- 明确标注参数类型并提供示例
- 完整的返回类型模式
- 使用示例
添加工具注释:
readOnlyHint:true(用于只读操作)destructiveHint:false(用于非破坏性操作)idempotentHint:true(如果重复调用效果相同)openWorldHint:true(如果与外部系统交互)
阶段 3:审查与完善
代码质量审查
审查代码时,检查以下方面:
- DRY 原则:工具之间没有重复代码
- 可组合性:将共享逻辑提取为函数
- 一致性:相似操作返回相似格式
- 错误处理:所有外部调用都有错误处理
- 类型安全:完整覆盖类型
- 文档:每个工具都有全面的文档字符串
阶段 4:创建评估
创建全面的评估,以测试 MCP 服务的有效性。
每个评估问题都必须:
- 独立:不依赖其他问题
- 只读:只需要非破坏性操作
- 复杂:需要多次工具调用和深入探索
- 真实:基于真实使用场景
- 可验证:答案唯一明确且可验证
最佳实践总结
- 面向工作流构建,而不只是 API 端点
- 针对有限的上下文窗口进行优化
- 设计可执行的错误消息
- 遵循自然的任务划分
- 采用评估驱动的开发方式
- 彻底研读框架文档
- 优先实现核心基础设施
- 添加恰当的工具注解
- 在真实场景中测试
评论
支持 Markdown