最近Skills热度不减反增,好多团队也都在尝试使用了,那他和MCP有啥区别呢?Skills真的这么强大吗?
一、举个栗子
如果 AI 助手是一台「电脑」:
- MCP = USB 协议:规定「怎么连接」各种外部设备(数据库、API、第三方服务),大家按同一套标准接上去就能用。
- Skills = 应用程序/操作手册:规定「怎么干」某类事——写什么格式、按什么流程、用哪些脚本,是「懂业务」的那一层。
所以:MCP 负责「连线」,Skills 负责「懂业务、会干活」。 两者不互斥,经常一起用。
二、MCP 是什么?
MCP(Model Context Protocol,模型上下文协议)是一套标准协议,让各种 AI 应用能用统一方式和「外部世界」打交道。
- 出现背景:以前每个 AI 产品要接 GitHub、数据库……都要各自写一套对接,重复又乱。MCP 相当于定了一个「统一接口」:工具按 MCP 实现一次,不同的 AI 都能用。
- 能干什么:一般包含三类能力——
- Tools:可调用的工具(例如:查数据库、发消息、调 API)
- Resources:可读取的数据/资源
- Prompts:预设好的提示模板
特点:适合「对外」——别人只要知道你的 MCP 地址或配置方式,就能让 AI 连上你的服务,不用复制你项目里的文件。
代价:工具一多,所有工具的定义(名字、参数、说明)往往会一次性塞进 AI 的上下文,占用不少 token,可能影响回答质量和成本。
详细学习可以传送到 => MCP 入门与实践:大模型连接世界的桥梁
三、Skills 是什么?
Skills 是 Cursor/Claude 等工具里的一种能力包:用「文件夹 + 说明文档 + 可选脚本」的方式,教 AI 在什么情况下、按什么步骤、用什么脚本完成一类任务。
- 通常包含:
SKILL.md:任务说明、何时用、怎么用(给 AI 看的「操作手册」)scripts/:可执行脚本(Python、Bash、JS 等),AI 需要时再调用- 其他参考资料、模板等(按需放)
- 设计思路:按需加载——启动时只加载每个 Skill 的名字和简短描述,只有和当前任务相关时,才去读完整的
SKILL.md或脚本。这样不会一上来就占满上下文。 - 另一个好处:复杂流程可以写在脚本里,AI 只负责「在合适的时机调用脚本」并消化结果;脚本代码本身不必全部塞进对话,省 token,结果也更稳定。
特点:适合「对内」——自己或团队把流程、规范、脚本放到指定目录,AI 就按这套来干活。
四、对比
| 维度 | MCP | Skills |
|---|---|---|
| 主要作用 | 定义「怎么连」外部工具/数据 | 定义「怎么干」某类事(流程+脚本) |
| 典型用法 | 连 API、数据库、SaaS、远程服务 | 固定流程、代码规范、本地脚本 |
| 谁在用 | 任何能接 MCP 的 AI/用户 | 装了这个 Skill 的 Cursor/项目/团队 |
| 分发方式 | 配一个地址/连接即可,易「对外」 | 复制到某目录或仓库,偏「对内」 |
| 上下文 | 工具多时容易一次性占很多 token | 按需加载,通常更省 |
| 上手难度 | 需要写/配 MCP Server | 写 Markdown + 脚本即可,相对简单 |
五、什么时候用 MCP?什么时候用 Skills?
更适合用 MCP 的情况:
- 要连外部服务:第三方 API、云数据库等
- 要对外提供能力:希望别人「连一个地址」就能用,而不是拷贝你的文件
- 需要认证、跨网络、实时数据:这些往往由 MCP Server 封装好再暴露给 AI
更适合用 Skills 的情况:
- 规范自己或团队的工作方式:代码审查流程、提交信息格式、文档模板等
- 本地就能搞定的事:跑脚本、处理文件、生成图表、执行命令
- 希望 AI 按固定步骤和规范做事,而不是临时发挥
可以一起用:用 Skills 写「先做什么、再做什么、按什么标准」,用 MCP 提供「连哪个系统、调哪个 API」。例如:Skill 里写「发布前先跑测试、再查 Jira」,具体查 Jira 由 MCP 提供。
六、小结
- MCP:像 USB 协议,解决「连什么、怎么连」——统一对接外部工具和数据,适合对外、远程、需要标准接口的场景。
- Skills:像应用和操作手册,解决「干什么、怎么干」——把流程、规范、脚本打包成 AI 可以按需调用的能力,适合对内、本地、固定流程的场景。
- 区别:MCP 管「连线」,Skills 管「懂业务」;一个偏协议与连接,一个偏流程与执行。
- 选择:先想清楚是「连外部」还是「定流程」——连外部多用 MCP,定流程、本地自动化多用 Skills;很多项目里两者会配合使用。