Skill 和 MCP 到底有什么区别?一篇讲清楚:一个教 Claude 怎么做事,一个让 Claude 接入外部世界

最近很多人在用 Claude Code 的时候,会同时遇到两个词:
一个叫 Skill,一个叫 MCP。
这两个东西都能增强 Claude,看起来都和“能力扩展”有关,所以很容易被混在一起。
但它们其实解决的是两类完全不同的问题。
一句话先讲清楚:
Skill 是把一套做事方法交给 Claude;MCP 是把一个外部系统接到 Claude。
再换成更工程化的话:
Skill 解决的是“Claude 应该怎么做”;MCP 解决的是“Claude 可以连到哪里、调用什么”。
如果只记住这一句,后面很多选择都会变简单。
一、先用一个生活化比喻理解
可以把 Claude 想成一个很聪明的新人。
Skill 像你给这个新人写的一份“岗位 SOP”:
- 代码评审要按什么顺序看
- 发版说明要按什么格式写
- 线上问题排查要先看日志还是先看监控
- 公司文档应该用什么语气和结构
它教的是方法、规则、流程和产出标准。
MCP 则像你给这个新人开通的系统权限和接口:
- 能不能查 GitHub Issue
- 能不能读 Notion 文档
- 能不能看 Sentry 报错
- 能不能查询 PostgreSQL 数据库
- 能不能拿到 Figma 设计稿信息
它给的是外部数据、工具和可执行动作。
所以二者不是替代关系,而是互补关系。
Skill 让 Claude 更像“懂你们团队做事方式的人”。
MCP 让 Claude 更像“能直接进入工具现场干活的人”。
二、Skill 是什么
按照 Claude Code 官方文档的说法,Skill 可以用来扩展 Claude 的能力。你创建一个包含 SKILL.md 的目录,Claude 就可以在相关场景下加载它,或者你也可以通过 /skill-name 直接调用。
通俗讲,Skill 是一个可复用的能力包。
一个最小的 Skill 通常长这样:
.claude/└── skills/ └── summarize-changes/ └── SKILL.md
一个更完整的 Skill 可能长这样:
.claude/└── skills/ └── release-note/ ├── SKILL.md ├── template.md ├── examples/ │ └── good-release-note.md └── references/ └── product-terms.md
这里最关键的是 SKILL.md。
它通常包含两部分:
- YAML frontmatter:告诉 Claude 这个 Skill 是什么、什么时候用
- Markdown 正文:告诉 Claude 执行步骤、规则、输出格式
举一个实际例子。
假设你经常让 Claude 总结当前代码改动,并指出风险,你可以写一个 summarize-changes Skill:
---description: 总结当前仓库的未提交改动,并指出潜在风险。适合在用户问“我改了什么”“帮我 review 当前 diff”“生成提交摘要前先总结变更”时使用。---## Current changes!`git diff HEAD`## Instructions请完成三件事:1. 用 2-3 条总结本次改动的主要意图2. 标出可能的风险,例如缺少错误处理、测试缺失、硬编码、兼容性问题3. 如果 diff 为空,直接说明当前没有未提交改动## Output按下面结构输出:1. 变更概览2. 风险提醒3. 建议补充
这个例子里,Skill 做的不是“连接外部系统”,而是把一个常用工作流固定下来。
以后你可以直接输入:
/summarize-changes
或者问:
我这次改了什么?有没有风险?
Claude 就更容易按你定义的流程工作。
这就是 Skill 的核心价值:
把重复经验沉淀成 Claude 可以反复调用的工作方法。
三、MCP 是什么
MCP 全称是 Model Context Protocol。
它是一个开放协议,用来让 AI 应用连接外部系统。官方文档里有一个很形象的说法:MCP 像 AI 应用的 USB-C 接口。
这个比喻非常准确。
因为 MCP 的重点不是“给 Claude 写一段提示词”,而是把某个外部能力以统一协议接进来。
比如:
- GitHub MCP:让 Claude 读取 Issue、PR、仓库信息,甚至创建 PR
- Notion MCP:让 Claude 查询团队知识库
- PostgreSQL MCP:让 Claude 查询数据库
- Sentry MCP:让 Claude 分析线上错误
- Figma MCP:让 Claude 读取设计稿信息
在 Claude Code 里,添加 MCP server 的常见方式是 claude mcp add。
比如添加一个远程 HTTP MCP server:
claude mcp add --transport http notion https://mcp.notion.com/mcp
再比如添加一个本地 stdio MCP server:
claude mcp add --transport stdio myserver -- npx -y some-mcp-server
管理 MCP server 时,可以用:
claude mcp listclaude mcp get githubclaude mcp remove github
进入 Claude Code 之后,还可以用:
/mcp
查看当前连接状态。
所以 MCP 的核心价值是:
把 Claude 从“只能根据聊天上下文猜”升级成“能直接访问真实工具和数据”。
四、Skill 和 MCP 的核心区别
下面这张表基本可以把二者拆开。
| 对比项 | Skill | MCP |
|---|---|---|
| 解决的问题 | Claude 应该怎么做事 | Claude 可以连接什么系统 |
| 本质 | 可复用的 instructions、流程、模板、参考资料 | AI 应用连接外部工具和数据源的协议 |
| 典型载体 | SKILL.md 目录 |
MCP server |
| 常见入口 | /skill-name |
claude mcp add 、/mcp |
| 主要内容 | 规则、步骤、输出格式、示例、脚本 | tools、resources、prompts、外部 API |
| 是否直接接外部系统 | 通常不是 | 是 |
| 是否适合沉淀团队 SOP | 非常适合 | 不直接解决 SOP 问题 |
| 是否适合连接数据库、监控、知识库 | 不适合单独承担 | 非常适合 |
| 最佳用法 | 让 Claude 稳定按你的方法产出 | 让 Claude 拿到真实数据并执行动作 |
最容易混淆的一点是:Skill 里面也可以包含脚本,MCP 里面也可以暴露 prompts。
但它们的主语不一样。
Skill 的主语是“这个任务怎么做”。
MCP 的主语是“这个外部系统怎么接入”。
只要抓住这个主语,基本就不会混。
五、什么时候用 Skill
只要你发现自己在反复对 Claude 说同一套要求,就应该考虑 Skill。
典型场景包括:
- 代码评审规则
- 发版说明模板
- Bug 排查流程
- Commit message 规范
- 文档写作风格
- 项目专有目录和模块边界
- 某类文件的生成步骤
举个更真实的例子。
假设你的团队每次发布都要求 Claude 输出:
- 本次新增
- 本次修复
- 影响范围
- 风险提醒
- 回滚方案
- 验证清单
那就非常适合做成 Skill。
---description: 生成团队标准发版说明。适合在用户要求总结本次发布、生成 release note、整理版本变更时使用。disable-model-invocation: true---## Goal根据当前变更内容生成团队标准发版说明。## Steps1. 先总结本次发布目标2. 区分新增、修复、调整、移除3. 判断影响范围4. 标出上线风险5. 给出验证清单6. 如果缺少关键信息,先列出需要用户确认的问题## Output请按以下结构输出:1. 发布摘要2. 主要变更3. 影响范围4. 风险提醒5. 验证清单6. 回滚建议
这里的 disable-model-invocation: true 表示这个 Skill 只由用户手动触发,避免 Claude 在不合适的时候自动生成发版说明。
这类东西如果不做成 Skill,每次都要重新复制一遍要求。
做成 Skill 之后,团队方法就沉淀下来了。
六、什么时候用 MCP
当你发现 Claude 缺的不是“做事方法”,而是“拿不到真实信息”,就应该考虑 MCP。
典型场景包括:
- 需要读取 GitHub / GitLab / Jira / Linear
- 需要查询数据库
- 需要读取 Notion / Confluence
- 需要查看 Sentry / Datadog / Grafana
- 需要读取 Figma 设计稿
- 需要调用公司内部 API
- 需要让 Claude 对外部系统执行动作
举个例子。
你希望 Claude 根据 Notion 文档里的产品需求实现功能。
如果没有 MCP,你可能要复制一大段需求文档到对话里。
如果有 Notion MCP,你可以让 Claude 自己去读相关页面,然后基于真实内容工作。
claude mcp add --transport http notion https://mcp.notion.com/mcp
再举一个数据库例子。
假设你有一个内部 PostgreSQL MCP server,Claude 可以通过它查询只读数据。那你就可以问:
帮我查一下最近 7 天注册后没有完成首单的用户比例,并指出可能的异常时间段。
这个问题靠 Skill 解决不了。
因为 Skill 只能告诉 Claude “应该怎么分析”,不能凭空给它数据库访问能力。
MCP 才是连接真实数据源的那根线。
七、最实用的组合:Skill + MCP
真正强的用法,往往不是二选一,而是组合使用。
Skill 定义流程,MCP 提供数据。
下面给几个实际组合例子。
例子 1:代码评审
你可以有一个 code-review-rules Skill,里面写清楚团队评审标准:
- 优先找真实 bug
- 其次看安全、性能、兼容性
- 必须指出缺失测试
- 输出按严重程度排序
- 不要泛泛而谈
同时接入 GitHub MCP,让 Claude 能读取 PR、Issue、评论和文件变更。
这样你就可以说:
用我们的评审规则检查 GitHub PR #128,并给出需要修改的点。
这里发生了两件事:
- Skill 决定怎么 review
- MCP 提供 PR 的真实上下文
如果只有 Skill,Claude 可能没有 PR 数据。
如果只有 MCP,Claude 可能不知道你们团队的评审口径。
合在一起,才接近“能干活的工程协作者”。
例子 2:线上问题排查
你可以写一个 incident-debug Skill,规定排查顺序:
- 先确认影响范围
- 再看错误日志
- 再查最近发布
- 再看核心指标
- 最后给出临时止血和长期修复方案
同时接入:
- Sentry MCP:读取错误堆栈和发生频率
- GitHub MCP:查看最近合并的 PR
- PostgreSQL MCP:查询业务数据变化
- Grafana 或 Datadog MCP:查看监控指标
你就可以问:
按照 incident-debug 流程排查今天 14:00 之后登录失败率升高的问题。
Skill 负责“排查方法”,MCP 负责“现场证据”。
这就是二者组合最典型的价值。
例子 3:设计稿还原
你可以写一个 frontend-ui-rules Skill,规定:
- 使用项目现有组件库
- 保持现有 spacing token
- 不新增无意义动画
- 移动端必须检查文字溢出
- 修改后要用浏览器截图验证
同时接入 Figma MCP,让 Claude 能读取设计稿结构和样式信息。
你可以说:
根据 Figma 里的登录页设计稿实现页面,遵守 frontend-ui-rules。
Skill 给审美和工程约束。
MCP 给设计稿数据。
这比单纯贴一张截图要稳定得多。
例子 4:发布说明
你可以写一个 release-note Skill,规定发布说明的结构、语气和风险提示格式。
同时接入 GitHub MCP 和 Jira MCP。
然后让 Claude:
根据本周合并的 PR 和关联 Jira issue,生成一份面向业务团队的发布说明。
这里 Skill 控制“怎么写”,MCP 负责“去哪里拿事实”。
这类场景非常适合团队长期沉淀。
八、一个判断口诀
不知道该用 Skill 还是 MCP 时,可以问自己三个问题。
1. 我是在重复教 Claude 一套方法吗?
如果是,用 Skill。
比如:
- “以后 review 都按这个格式”
- “以后发版说明都这么写”
- “以后排查 bug 先做这几步”
这些都是 Skill。
2. Claude 是不是拿不到某个外部系统的数据?
如果是,用 MCP。
比如:
- “它看不到 GitHub Issue”
- “它查不到数据库”
- “它拿不到 Notion 文档”
- “它不知道 Sentry 当前报错”
这些都是 MCP。
3. 我既需要方法,又需要外部数据吗?
如果是,Skill + MCP。
比如:
- 按团队规范 review GitHub PR
- 按排障流程分析 Sentry 报错和数据库变化
- 按前端规范还原 Figma 设计稿
- 按公司模板生成基于 Jira 的发布说明
这通常是最值得投入的方向。
九、常见误区
误区 1:把 Skill 当成 MCP
有人会觉得:我在 Skill 里写个脚本,不就等于 MCP 吗?
不完全是。
Skill 里确实可以附带脚本,但它仍然是围绕某个任务流程组织的能力包。
MCP 则是标准化的外部系统接入协议,重点是让 AI 客户端通过 server 暴露 tools、resources、prompts 等能力。
一个是工作方法包。
一个是连接协议。
误区 2:把 MCP 当成万能自动化
接了 MCP,不代表 Claude 自动知道你们团队怎么做事。
比如 Claude 通过 GitHub MCP 能看到 PR,但它不一定知道你们团队 review 时最在意什么。
这时仍然需要 Skill 来规定评审标准。
误区 3:所有东西都写进 Skill
不要把数据库连接方式、OAuth、外部 API 调用细节都塞进 Skill。
这类系统连接更适合 MCP。
Skill 应该写的是:
- 什么时候查数据
- 查到数据后怎么判断
- 输出什么结构
- 哪些情况要停下来问人
误区 4:所有东西都做成 MCP
如果你只是想让 Claude 按固定格式写报告,没必要做 MCP。
一个清晰的 Skill 就够了。
MCP 适合连接系统,不适合替代流程规范。
十、怎么从零开始落地
如果你是第一次在团队里推进这两件事,我建议按这个顺序来。
第一步:先做 1 个高频 Skill
不要一上来就设计一整套能力平台。
先挑一个每天都用的场景。
比如:
- 总结当前改动
- 代码评审
- 发版说明
- Bug 复盘
用一个 .claude/skills/<name>/SKILL.md 先跑起来。
最重要的是验证三件事:
- 触发是否准确
- 输出是否稳定
- 团队是否真的愿意用
第二步:再接 1 个最有价值的 MCP
不要为了炫技接一堆系统。
先选一个 Claude 最常需要、但你又经常手动复制内容进去的系统。
比如:
- GitHub
- Jira
- Notion
- Sentry
- PostgreSQL
判断标准很简单:
你复制粘贴最多的地方,就是最值得优先 MCP 化的地方。
第三步:把二者串成真实工作流
比如:
code-review-rulesSkill + GitHub MCPincident-debugSkill + Sentry MCP + 数据库 MCPrelease-noteSkill + Jira MCP + GitHub MCPfrontend-ui-rulesSkill + Figma MCP
到了这一步,Claude 就不只是“会聊天”,而是开始进入真实工程流程。
十一、最后总结
Skill 和 MCP 的区别,其实可以压缩成四句话。
- Skill 是能力包,MCP 是连接协议。
- Skill 管“怎么做”,MCP 管“连到哪里、能调用什么”。
- Skill 适合沉淀团队流程、规范、模板和经验。
- MCP 适合连接工具、数据库、知识库、监控和业务系统。
如果你只想让 Claude 输出更稳定,先做 Skill。
如果你想让 Claude 拿到真实外部数据,接 MCP。
如果你想让 Claude 真正进入团队工作流,就把二者组合起来:
用 Skill 定义做事方法,用 MCP 接入真实世界。
这就是 Claude Code 从“好用的 AI 助手”走向“可协作的工程智能体”的关键一步。
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

更多推荐

所有评论(0)