mcpField
M
mcp-builder

mcp-builder

github.com/moizibnyousafAgent 工作流1.2k117 次安装6 周前更新
代码仓库

关于 mcp-builder

面向开发者的指南技能,帮助创建让 LLM 通过工具访问外部服务的 MCP 服务。内容涵盖设计、实现、测试和评估,并提供 TypeScript 与 Python 工作流程建议。

主要功能

  1. 01规划精简聚焦的 MCP 工具设计
  2. 02了解协议与传输方式选择
  3. 03组织服务实现结构
  4. 04测试 TypeScript 和 Python 项目
  5. 05创建贴近实际的服务评估

适用场景

  1. 01规划外部服务集成工具
  2. 02搭建新的 MCP 服务项目
  3. 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