12 MCP 与 Skill:把能力封装给工具
- 理解 MCP 解决什么问题。
- 区分 MCP server、tool、client。
- 知道 Skill 如何把流程知识封装给编码 Agent。
MCP 像一套统一插头:不同工具用统一协议暴露能力,AI 客户端就能发现并调用这些能力。Skill 则更像“操作手册 + 脚本 + 约束”,告诉 Agent 在某类任务中应该怎么做。
AI Client↓ list toolsMCP Server↓ exposesTool(name, schema, handler)Tool schema 很重要,它告诉模型参数应该长什么样,也告诉程序如何校验输入。
参考项目里的对应实现思路
Section titled “参考项目里的对应实现思路”Model Context Protocol 是协议本体。shareAI-lab/learn-claude-code 和 shareAI-lab/claw0 可以作为编码 Agent、工具系统和 OpenClaw 实践的延伸参考。
最小代码实验
Section titled “最小代码实验”源码:labs/12-mcp-skill/index.mjs
这个实验用零依赖 JSON schema 对象和手写校验模拟工具输入约束。
运行命令与预期输出
Section titled “运行命令与预期输出”运行:
npm run lab:12预期你会看到 Skill 描述、工具 schema 和一次模拟 MCP 工具调用。真实 MCP server 可以使用 @modelcontextprotocol/sdk 暴露同样的 tool。
- MCP 不是模型,也不是 Agent,它是工具上下文协议。
- Skill 不应该只写口号,最好包含可执行脚本、示例和边界条件。
- 工具权限必须最小化,不能把高危命令无约束暴露给模型。