MCP vs Skills:AI Agent 中的两大核心机制
一、背景:AI Agent 的能力扩展困境
大语言模型本身是"封闭"的——它只能处理输入的文字,无法主动调用外部系统,也无法保证在重复任务中的行为一致性。为了解决这两个核心问题,业界发展出了两套互补的机制:
- MCP(Model Context Protocol):解决「AI 能做什么」——为模型接入外部工具和服务
- Skills:解决「AI 怎么做」——为模型定义可复用的行为工作流
这两者不是竞争关系,而是分工协作:MCP 扩展能力边界,Skills 规范执行方式。
二、MCP 详解
2.1 什么是 MCP
MCP(Model Context Protocol)是 Anthropic 于 2024 年底推出的开放协议,定义了 AI 模型与外部工具/服务之间的标准通信方式。你可以把它理解为 AI 世界的「USB 接口」——只要工具实现了这个协议,任何支持 MCP 的模型都能直接使用它。
2.2 MCP 的架构
MCP 采用客户端-服务端架构:
AI 模型 (Client)
↕ MCP Protocol (JSON-RPC over stdio/SSE)
MCP Server
↕
外部服务(数据库 / API / 文件系统 / 浏览器 ...)
- MCP Client:内置在 AI 应用中(如 Claude Code、Cursor),负责发现和调用工具
- MCP Server:独立进程,暴露一组
tools,每个 tool 有名称、描述、参数 Schema - Transport:通过 stdio(本地)或 SSE(远程)传输
2.3 MCP Server 的核心概念
| 概念 | 说明 |
|---|---|
| Tools | 可被 AI 调用的函数,有入参/出参定义 |
| Resources | AI 可读取的数据资源(文件、数据库记录等) |
| Prompts | Server 提供的预设提示模板 |
| Sampling | Server 反向请求 AI 做推理(高级用法) |
2.4 一个 MCP Tool 的定义示例
{
"name": "query_database",
"description": "执行 SQL 查询并返回结果,仅支持 SELECT 语句",
"inputSchema": {
"type": "object",
"properties": {
"sql": {
"type": "string",
"description": "要执行的 SQL 查询语句"
}
},
"required": ["sql"]
}
}
2.5 MCP 的典型使用场景
- 连接数据库(PostgreSQL、MySQL、SQLite)
- 调用第三方 API(GitHub、飞书、Slack、Jira)
- 操作本地文件系统
- 控制浏览器(Playwright MCP)
- 执行代码(沙箱环境)
- 读取私有知识库(RAG)
2.6 MCP 的优势与局限
优势:
- 标准化协议,跨模型、跨平台复用
- 强类型接口,调用结果确定性高
- 工具能力可持续扩展,不需要重训模型
局限:
- 需要开发和部署 Server,有一定工程门槛
- 工具调用是单次的,缺乏跨步骤的流程编排能力
- 无法约束 AI「何时」以及「以什么顺序」调用工具
三、Skills 详解
3.1 什么是 Skills
Skills 是一种结构化的行为指令文件,以 Markdown 格式编写,告诉 AI 在特定场景下应遵循怎样的工作流程。Skills 不新增工具能力,而是规范 AI 的决策和执行路径。
近年来随着 Claude Code、Cursor 等 AI 编程工具的流行,Skills 已成为团队将最佳实践"固化"到 AI 工作流中的重要方式。
3.2 Skills 的文件结构
---
name: skill-name
description: 触发时机描述(AI 据此判断是否调用)
---
## Workflow
### Step 1: 操作名称
- 具体动作
- 分支处理逻辑
## 规则与约束
- 刚性规则(必须遵守)
- 弹性原则(可灵活调整)
3.3 Skills 的工作原理
用户请求
↓
AI 读取 description 字段(所有已安装的 Skills)
↓
判断是否有匹配的 Skill(1% 概率匹配即触发)
↓
加载完整 Skill 内容
↓
按 Workflow 步骤执行任务
关键点:description 是触发开关,正文是执行蓝图。
3.4 Skills 的典型使用场景
- 定义代码审查流程(每次 PR 前自动执行检查清单)
- 规范提交信息生成(统一 commit message 格式)
- 标准化文档输出(将对话内容导出为结构化飞书文档)
- 调试流程编排(遇到 bug 时按固定步骤排查)
- 部署前验证(上线前必须通过的检查项)
3.5 Skills 的优势与局限
优势:
- 门槛极低,只需写 Markdown,无需编程
- 人类可读,便于团队共享和版本管理
- 可跨任务编排多个工具调用的顺序和逻辑
- 灵活可定制,适应不同团队的流程规范
局限:
- 依赖 AI 理解和遵循指令,无法像代码一样强制执行
- 不能新增 AI 原本没有的能力(无法替代 MCP)
- 复杂分支逻辑的表达能力有限
四、MCP vs Skills:核心差异对比
| 维度 | MCP | Skills |
|---|---|---|
| 本质 | 工具/能力协议 | 行为/流程指令 |
| 解决问题 | AI 能做什么 | AI 怎么做 |
| 实现方式 | 代码(Server 进程) | Markdown 文件 |
| 执行保证 | 强(函数调用,有返回值) | 弱(AI 解释执行) |
| 扩展能力 | 是(接入新系统) | 否(只编排现有能力) |
| 编写门槛 | 高(需要开发) | 低(只需写文档) |
| 跨步骤编排 | 弱 | 强 |
| 团队共享 | 中(需部署服务) | 易(Git 管理文件) |
| 典型代表 | GitHub MCP、飞书 MCP | feishu-doc skill、TDD skill |
五、两者如何协作
MCP 和 Skills 最强大的用法是组合使用:Skills 编排流程,MCP 提供原子能力。
以「将对话总结写入飞书文档」为例:
用户:帮我把这段讨论整理成文档
Skills (feishu-doc) 接管流程:
Step 1: 提取对话关键内容(AI 推理)
Step 2: 结构化排版(AI 推理)
Step 3: 确认内容(与用户交互)
Step 4: 调用 MCP Tool → feishu_create_doc(实际写入飞书)
Step 5: 返回文档链接
Skills 是导演,MCP 是演员:Skills 决定做什么、什么顺序做、做到什么程度;MCP 负责实际与外部世界交互。
六、选型建议
什么时候用 MCP?
- 需要读写外部系统(数据库、API、文件)
- 需要执行代码或系统命令
- 需要获取实时数据(搜索、监控、日志)
- 工具需要被多个 AI 应用复用
什么时候用 Skills?
- 需要固化团队的最佳实践流程
- 需要跨多个工具编排复杂工作流
- 需要在特定场景下约束 AI 的行为
- 流程逻辑需要频繁调整迭代
什么时候两者都用?
几乎所有生产级 AI Agent 场景都应该两者结合。单独用 MCP 只能给 AI 工具,但无法保证 AI 以正确的方式使用它们;单独用 Skills 只能编排流程,但没有工具能力做不了实际操作。
七、生态现状
MCP 生态
- 官方支持:Claude(Anthropic)、Cursor、Windsurf、Zed 等已原生支持
- Server 数量:截至 2025 年已有数百个官方和社区 MCP Server
- 标准化程度:Anthropic 主导,OpenAI 也宣布支持,正在成为行业标准
Skills 生态
- 形态多样:Claude Code 的 Skills、OpenAI 的 Custom Instructions、Cursor Rules 本质相似
- 团队沉淀:越来越多团队开始将工程实践固化为 Skills 文件,纳入代码仓库管理
- 与 Agent 融合:Skills 正在成为构建可靠 AI Agent 的"软件工程层"
八、总结
| MCP | Skills | |
|---|---|---|
| 一句话 | 给 AI 装上手脚 | 教 AI 怎么用手脚 |
| 类比 | API / SDK | SOP 标准操作流程 |
| 缺了它 | AI 是个哑巴,只能说不能做 | AI 会做但不稳定,每次行为都不一样 |
构建高质量 AI Agent 的正确路径:用 MCP 打通数据和系统,用 Skills 沉淀流程和规范,两者缺一不可。