MCP(Model Context Protocol,模型上下文协议)和 Skill(技能封装)是当前 AI Agent 落地的两大核心概念,前者解决“模型如何安全、标准化地连接外部工具与数据”,后者解决“如何把特定任务能力打包成可复用、可调用的执行单元”。简单说,MCP 是连接层协议,Skill 是能力层封装,二者配合才能让 AI 从“会聊天”走向“会干活”。
1、MCP 是 Anthropic 于 2024 年 11 月开源的开放协议,全称 Model Context Protocol,定位是“AI 世界的 USB-C 接口”。它用统一的 JSON-RPC 2.0 消息格式,把工具(Tools)、资源(Resources)、提示模板(Prompts)三类能力暴露给模型,客户端只需实现一次协议就能对接任意 MCP Server,不用为每个工具单独写适配代码。
2、和普通 REST API 的最大区别在于“面向模型设计”。普通 API 面向人类开发者,需要读文档、拼参数;MCP 在协议层就内置了工具描述(name、description、inputSchema),模型可以直接读取 schema 自主决定调用哪个工具、传什么参数,省掉了大量 prompt 工程。
3、MCP 采用客户端-服务器架构,典型链路是:Host(如 Claude Desktop、Cursor)→ MCP Client → MCP Server(本地 stdio 或远程 SSE/HTTP)。传输层支持 stdio 和 Streamable HTTP 两种,本地工具用 stdio 零配置启动,云服务用 HTTP 便于多用户共享。
4、安全性上 MCP 强调“能力边界显式声明”。Server 只暴露声明过的工具,Host 层可以做人工确认(human-in-the-loop),比如 Cursor 调用写文件类 MCP 工具时会弹窗确认,避免模型擅自改代码。
Skill 该怎么封装才实用?
1、Skill 的本质是“把一段可复用的任务流程固化成结构化单元”,通常包含三部分:触发条件(什么时候用)、执行步骤(SOP)、输出规范(格式与验收标准)。在 Claude 的 Agent Skills 体系里,一个 Skill 就是一个带 SKILL.md 的文件夹,用 YAML frontmatter 写 name 和 description,正文写操作步骤。
2、封装粒度建议“一Skill一任务”,不要贪大。比如“生成周报”是一个 Skill,“爬取竞品价格并生成对比表”是另一个 Skill,每个 Skill 控制在 200-800 字说明,步骤 3-7 步为宜,步骤过多模型容易跳步。
3、Skill 里要写清楚“输入从哪来、输出到哪去”。例如写作类 Skill 明确“输入为选题关键词,输出为 Markdown 正文 + 3 个备选标题”,并给出示例输出,模型按样例对齐格式的准确率明显高于纯文字描述。
4、Skill 和 MCP 的分工要清晰:MCP 提供“手”(能调用搜索、数据库、文件系统),Skill 提供“脑子里的流程”(先查什么、再算什么、最后怎么写)。一个 Skill 可以内部调用多个 MCP 工具,比如“竞品分析 Skill”先调搜索 MCP 抓数据,再调表格 MCP 生成对比表。
5、版本管理别忽视。Skill 建议放 Git 仓库,每次改动记录 changelog,因为 Skill 描述的一字之差会显著改变模型触发行为,A/B 测试时用固定测试集(如 20 条典型请求)回归验证触发准确率。
有哪些现成的 MCP 工具和 Skill 平台可以直接用?
1、MCP Server 生态已经比较丰富:官方 servers 仓库收录了 Filesystem、Git、Fetch、Memory、Sequential Thinking 等参考实现;社区侧 GitHub MCP、Slack MCP、Postgres MCP、Puppeteer MCP 都是高频使用的,装一个就能让 Agent 读写仓库、发消息、查库、开浏览器。
2、客户端方面,Claude Desktop、Cursor、Windsurf、Cline(VS Code 插件)、Continue 都已原生支持 MCP。配置方式通常是在配置文件里加一段 JSON,写明 command 和 args,比如 npx 启动某个 server,改完重启客户端即可。
3、Skill 侧,Claude 的 Agent Skills 可通过 Skills API 上传,也可以在 Claude Code 里以文件夹形式直接加载;开源社区有 awesome-claude-skills 之类的合集,覆盖文档处理、数据分析、内容写作等场景,拿来改比从零写快得多。
4、企业自建时推荐“MCP 网关 + Skill 仓库”组合:网关统一做鉴权、限流、审计日志,Skill 仓库按业务域分类(如营销、客服、研发),新员工按目录检索就能复用,避免每个团队重复造轮子。
落地时常见的坑有哪些,怎么避?
1、工具描述写得太模糊是头号问题。MCP 工具的 description 如果只写“查询数据”,模型根本不知道该在什么场景调用;正确做法是写清“何时用、输入什么、返回什么”,例如“当用户询问订单状态时调用,输入 order_id,返回物流节点列表”。
2、Skill 触发不稳定多半是 description 与用户真实说法不匹配。解决办法是收集真实用户 query 做触发测试,把高频同义说法写进 description,比如“写周报/生成周报/汇总本周工作”都要覆盖。
3、上下文爆炸要提前防。一次挂 10 个以上 MCP Server,工具列表就能占掉几千 token;建议按会话按需加载,或使用支持工具检索(tool search)的客户端,只把相关工具注入上下文。
4、权限与副作用要分级。读类工具(搜索、查询)可自动执行,写类工具(发邮件、改数据库、提交代码)必须加确认环节;MCP Server 端也要做最小权限,数据库连接用只读账号起步。
5、调试链路要可观测。给 MCP 调用加日志(记录工具名、参数、耗时、返回码),Skill 执行加中间步骤输出,出问题时能快速定位是“模型选错工具”还是“工具本身报错”,这两类问题的修法完全不同。
综上所述,MCP 负责把外部能力标准化接进来,Skill 负责把任务流程结构化封装好,两者一个管“连接”、一个管“编排”,配合使用才能让 AI Agent 真正稳定落地。