<!-- title: 拆官方MCP造件师 -->

# 拆官方MCP造件师：mcp-builder开膛报告

## 概述

Skills生态第2轮，照例做单件开膛。这次选的是官方件里最“硬”的一枚：**mcp-builder**——Anthropic随 `anthropics/skills` 仓库分发的教学型技能，职责是教会Claude从零造一个MCP服务器。核心发现一句话：它是官方件中少见的“自带考卷”设计——门牌极薄、正文只留流程骨架，肌肉全在两份技术栈专列和一册最佳实践里，最后还塞了一个评分脚本，让Agent造完服务器自己考自己。本文逐文件拆到行，并提炼四个可抄的写法模式。

**拆解底料说明**：本文开膛的对象是本机经 Anthropic 官方插件市场（anthropic-agent-skills）装件后的原件目录，文件树为实测一 手材料；本期会话联网核查通道受限，因此凡无法双源核实的数字（Star数、下载量）一律不写，涉及原文字句处以“大意”标注，逐字引用请以仓库当前版本为准。

## 一、它是谁：官方件里的“造服务器教练”

如果说 skill-creator 是官方的“造件机”（教Claude写SKILL.md），那 mcp-builder 就是官方的“造服务器教练”（教Claude写MCP服务器）。MCP（Model Context Protocol）是Anthropic推出的工具接入协议，如今已是Agent连工具的事实标准——每个想把自家API接进Claude生态的开发者，都要写一个MCP服务器。这个Skill干的就是这件事：你说“帮我写个MCP服务器”，它接管整个工程。

值得注意的位置差异：skill-creator 教的是“元层”手艺（怎么写技能本身），mcp-builder 教的是“业务层”手艺（怎么写真实世界里的服务器代码）。两者一个管门规、一个管车间，官方把两条造物线分得很开，避免了触发词打架。

## 二、先看骨架：10个文件的分工

开膛第一步，实测目录树如下——10个文件，四个职责区：

```mermaid
mindmap
  root((mcp-builder))
    SKILL.md
    LICENSE.txt
    reference
      mcp_best_practices.md
      python_mcp_server.md
      node_mcp_server.md
      evaluation.md
    scripts
      evaluation.py
      connections.py
      requirements.txt
      example_evaluation.xml
```

这个骨架本身就是一堂课。门面只有 SKILL.md 一个文件；`reference/` 四份文档分两类——一册横贯的最佳实践（mcp_best_practices.md），两份按语言分的代码专列（python_mcp_server.md、node_mcp_server.md），外加一张考卷说明（evaluation.md）；`scripts/` 四件套则是全官方件里罕见的配置——**技能包里自带评分工具**。LICENSE.txt 随包分发，说明市场装件把授权也打包进件，这是官方件的规格自觉。

## 三、SKILL.md 逐段：门牌、分流、骨架

### 门牌（frontmatter）：两字段，全押触发词

官方件门牌只有 name 和 description 两个字段，没有额外的暗字段。description 是触发面设计的范本，大意覆盖四类场景：新建MCP服务器、给已有服务器加工具、用 Python（FastMCP）或 TypeScript SDK 做MCP开发、咨询MCP设计规范与最佳实践。

拆它的门牌写法，有三处值得抄：

1. **动词场景化**。不写“了解MCP"，而写"create a new MCP server""add tools to an existing server"——每一条都是用户嘴里会说出来的动词短语，命中率高。
2. **押栈名关键词**。把 FastMCP、SDK 这些开发者会直接念出来的词写进门牌，等于给触发器多焊两条线。
3. **把“咨询”也当触发场景**。很多技能只认“动手”请求，这一件连“讲解规范”都接，扩大了复用面——同一个件既是工手又是教员。

### 正文：第一段话就分流

SKILL.md 正文的第一个动作不是讲课，是**问路**：你要造的是Python服务器还是Node服务器？然后各给一个指针——读对应的 reference 专列。这是典型的“门卫式分流”结构：

```mermaid
flowchart TD
    A["用户要造MCP服务器"] --> B["门牌description命中"]
    B --> C["加载SKILL.md骨架"]
    C --> D{"选什么技术栈"}
    D -->|Python| E["读python专列"]
    D -->|TypeScript| F["读node专列"]
    E --> G["按最佳实践写工具"]
    F --> G
    G --> H["connections.py连上自测"]
    H --> I["evaluation.py跑考卷"]
    I --> J{"分数过线"}
    J -->|过| K["交付服务器代码"]
    J -->|不过| G
```

正文自己只保留少量全局骨架：MCP三原语（tools、resources、prompts）的分工、写完必须测试的强制流程、以及指向评估脚本的收尾指令。**它把正文当索引用，不当课本用**——这是官方件在上下文经济学上的标准答案：SKILL.md 常驻上下文，每多写一行废话，就是每轮对话多烧一行token；reference 按需加载，厚一点也不亏。

## 四、reference 逐份：一门规、两专列、一张考卷

### mcp_best_practices.md：给Agent看的“车间安全手册”

这是最厚的一份，写的不是某个API怎么调，而是**设计纪律**。大意为：

- **工具命名用 snake_case、动词开头**——`get_user` 而非 `getUser` 或 `get-data`。理由很直白：命名是Agent选择工具的第一线索，混乱命名等于让模型猜谜。
- **描述写给模型看，不是写给人看**。工具的description要讲清“什么时候该用我、参数是什么意思、返回什么结构”。Agent选工具全靠读这些字，写不清楚，工具等于不存在。
- **响应格式条款**：列表要分页（大意是默认上限20条、需要更多走游标），返回文本要信息密度高，别写“操作成功”这类废话——每一段回复都占模型注意力。
- **错误处理纪律**：错误作为响应内容返回，别抛异常崩掉连接——让Agent读到错误信息后能自我修正，这是Agent友好型API的核心。

这份文件的本质，是把Anthropic内部写MCP服务器的review标准文档化。对人类开发者同样值回票价——很多团队自己的MCP规范都没写这么细。

### 两份语言专列：平行结构的代码模板

python_mcp_server.md 与 node_mcp_server.md 结构对称，各讲一栈的完整写法：环境与依赖初始化、服务器实例与 lifespan 管理、工具注册（Python栈是 `@mcp.tool` 装饰器风格，Node栈是 SDK 的 server.tool 注册加 zod 校验）、资源与提示的挂载、本地调试方法。专列的好处是零跳转：Agent选了栈，一路读到底就能动笔，不用在两套术语间换脑子。

### evaluation.md：考卷说明书

最容易被忽略但最见设计功力的一份。它规定造完服务器后如何用 scripts/evaluation.py 打分、报告落成什么格式。官方把“验收”写进了交付流程——技能不止管“造出来”，还管“造得合不合格”。

## 五、scripts 逐个：造完自己考自己

`scripts/` 四件套是这件的灵魂：

- **evaluation.py**：评估执行器，批量跑考题、按维度打分，产出 XML 报告——包里附了 example_evaluation.xml 作样例，Agent照着样例就能读懂报告结构。
- **connections.py**：薄客户端，负责把刚造好的服务器连接起来喂给评估流程，把“测试”从口头要求变成可执行动作。
- **requirements.txt**：声明评估环节的Python依赖，保证脚本开箱能跑。

这个设计回答了Skills生态的一个老大难：“造完谁来验？”多数技能的答案是“靠模型自觉”，而 mcp-builder 的答案是**把考官写进件里**——流程末端挂着强制验收，分数不过线就回炉重写，形成闭环。对想写技能的读者，这是本文最值钱的一个模式：你写的技能管什么，就把那个领域的“验收动作”做成脚本一并打包，比一万句“请确保质量”都管用。

## 六、五维评分

| 维度 | 星级 | 依据 |
|------|------|------|
| 功能完整度 | ★★★★★ | 从空目录到过审交付全流程覆盖，双栈通吃；短板是不出Python/Node之外的语言 |
| 设计质量 | ★★★★★ | 渐进披露、门卫分流、自带考卷，官方件设计范本级 |
| 实战效果 | ★★★★☆ | 对MCP新手是显著加速器；老手增量有限，规范约束有时显啰嗦（社区反馈口径，未经独立数据核实） |
| 上手难度 | ★★★★☆ | 零配置，说话即触发；需要用户对MCP概念有基本认知 |
| 社区活跃度 | ★★★★☆ | 官方仓库长期维护成员，随市场装件持续分发；具体热度数字本期未做独立核实 |

## 七、适用与不适用

**适用**：从零写一个Python或TypeScript的MCP服务器；给现有服务器补工具；评审既有服务器的命名与响应设计；想学SKILL.md写法的技能作者（把它当字帖）。

**不适用**：写MCP客户端（它只教练服务器侧）；Go/Rust等其他语言的MCP实现（专列只铺了双栈，其他语言硬上等于脱模）；不打算接入MCP生态的普通API开发——门牌押的是MCP关键词，日常API需求压根唤不醒它，这是设计的自觉而非缺陷。

## 八、装它、唤它

装件方式（本机即为官方市场装件，实测在册）：

```bash
# 方式一：Claude Code 内进插件市场，安装 anthropic-agent-skills，勾选 mcp-builder
/plugin

# 方式二：手动装——克隆官方仓库，拷目录
git clone https://github.com/anthropics/skills.git
cp -r skills/mcp-builder ~/.claude/skills/
```

唤它不需要斜杠命令，直接说人话即可：**“帮我写一个MCP服务器，提供天气查询工具”、“给我的MCP server加一个删除订单的工具”、“评审一下这个MCP服务器的工具命名”**。

## 九、谁该装：三档推荐

1. **MCP服务器作者：必装**。等于随身带一位读过全部规范、还会跑测试的协作者，省掉翻文档的时间。
2. **想写自己第一个Skill的人：必读不必装**。读它的分流结构和考卷模式，比读十篇教程有用；不装是因为不造服务器时它不会触发，读了就够。
3. **纯使用者：跳过**。只调用现成集成、不造轮子的人，装它纯属占门牌。

## 结语

mcp-builder 的过人之处不在“会写MCP”，而在**承认模型会偷懒**：它不叮嘱“请遵循最佳实践”，而是把规范写成必读的reference；不指望“请自行测试”，而是把考官塞进scripts。把约束做成结构，把验收做成脚本——这十二个字，是这件留给所有技能作者的字帖。下一轮按排期进入开发者效率类横评，值得期待谁会撞上这套“自带考卷”的标准。

## 参考来源

1. 本地实测：Anthropic 官方插件市场（anthropic-agent-skills）装件目录 `mcp-builder/` 全部10个文件树 — 本文逐文件拆解的一手材料
2. [anthropics/skills](https://github.com/anthropics/skills) — 官方Skills仓库，mcp-builder 原件所在
3. [SKILL.md 原文直链](https://raw.githubusercontent.com/anthropics/skills/main/mcp-builder/SKILL.md) — 与本地装件同源，逐字引用以仓库当前版本为准
4. [Model Context Protocol 官网](https://modelcontextprotocol.io) — MCP协议文档，该件所教技术的上游
5. [MCP Inspector](https://github.com/modelcontextprotocol/inspector) — MCP官方调试器，该件测试环节的标准搭档

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
