关于 mcp-builder
面向开发者的指南技能,帮助创建让 LLM 通过工具访问外部服务的 MCP 服务。内容涵盖设计、实现、测试和评估,并提供 TypeScript 与 Python 工作流程建议。
主要功能
- 01规划精简聚焦的 MCP 工具设计
- 02了解协议与传输方式选择
- 03组织服务实现结构
- 04测试 TypeScript 和 Python 项目
- 05创建贴近实际的服务评估
适用场景
- 01规划外部服务集成工具
- 02搭建新的 MCP 服务项目
- 03用实际问题测试服务行为
MCP 相关
指导开发者构建向 MCP 客户端提供工具的 MCP 服务,涵盖工具架构、传输方式选择、测试和评估建议。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ moizibnyousaf/ ai-agent-skills --skill mcp-builder安装后在 Claude Code 中输入/mcp-builder确认已加载。
详细介绍
MCP 服务开发指南
创建 MCP 服务,让大模型通过设计良好的工具与外部服务交互。
高层工作流
阶段 1:研究与规划
了解现代 MCP 设计:
- 在全面覆盖 API 与专用工作流工具之间取得平衡
- 使用清晰且描述性强的工具名称,并保持前缀一致(例如
github_create_issue) - 设计能够返回重点明确、相关数据的工具
- 提供可操作的错误消息
学习 MCP 协议:
- 从站点地图开始:
https://modelcontextprotocol.io/sitemap.xml - 关键页面:规范、传输机制、工具定义
阶段 2:实现
推荐技术栈:
- 语言:TypeScript(SDK 支持最佳)
- 传输方式:远程服务使用 Streamable HTTP,本地使用 stdio
项目结构:
my-mcp-server/
├── src/
│ ├── index.ts # Server entry point
│ ├── tools/ # Tool implementations
│ └── utils/ # Shared utilities
├── package.json
└── tsconfig.json
工具实现模式:
server.registerTool({
name: "github_create_issue",
description: "Create a new GitHub issue",
inputSchema: z.object({
repo: z.string().describe("Repository name (owner/repo)"),
title: z.string().describe("Issue title"),
body: z.string().optional().describe("Issue body")
}),
outputSchema: z.object({
id: z.number(),
url: z.string()
}),
annotations: {
readOnlyHint: false,
destructiveHint: false,
idempotentHint: false
},
handler: async (input) => {
// Implementation
return { id: 123, url: "https://..." };
}
});
阶段 3:测试
# TypeScript
npm run build
npx @modelcontextprotocol/inspector
# Python
python -m py_compile your_server.py
阶段 4:创建评估
创建 10 个复杂且真实的问题,用于测试你的 MCP 服务:
<evaluation>
<qa_pair>
<question>Find all open issues labeled 'bug' in the repo</question>
<answer>5</answer>
</qa_pair>
</evaluation>
工具设计最佳实践
- 使用 Zod(TS)或 Pydantic(Python)定义架构
- 在字段描述中包含约束和示例
- 为结构化数据定义
outputSchema - 适用时支持分页
- 添加工具注释(readOnly、destructive、idempotent)
评论
支持 Markdown