在第一篇中,我梳理了 MCP 的基础概念;在第二篇中,我分享了 MCP 与各种 AI 工具的集成方式。但在实际使用中,一直有一个困惑:
MCP、Skills 都能扩展 Claude 的能力,它们到底有什么区别?什么时候用哪个?
1.1 MCP:外部连接器
MCP(Model Context Protocol) 是一个开放标准协议,让 AI 能够通过标准化接口调用外部工具和服务。
类比:USB-C 接口。有了统一接口,充电器、U 盘、显示器都能即插即用,不需要每种设备配一根专用线。
核心能力:
1.2 Skills:任务编排
Skills(技能) 是一个可复用的指令包——一个文件夹里放一个 SKILL.md,写清楚遇到某类任务该怎么做。
类比:菜谱。MCP 提供了锅碗瓢盆(工具),Skill 则告诉你怎么用这些工具做出一道菜。
Skill 的典型结构:
my-skill/ ├── SKILL.md # 核心指令文件(必须) │ ├── YAML 元数据 # 名称、描述、触发关键词 │ └── Markdown 正文 # 工作流步骤、规则、参考 ├── scripts/ # 可执行脚本(可选) ├── references/ # 参考文档(可选) └── assets/ # 资源文件(可选)

1.3 Hooks:执行保障器
Hooks(钩子) 在 Claude Code 生命周期特定节点自动执行的命令。确定性执行——配了就一定会跑,不需要 AI 判断。
类比:安全装置。不管你钉不钉钉子,每次拿起锤子前都会自动检查有没有戴护目镜。
关键生命周期事件:
PreToolUse 工具执行前 拦截危险命令、校验输入
PostToolUse 工具执行后 自动格式化、跑 Lint
Stop Claude 完成回复时 发通知、更新看板
SessionStart 会话开始时 加载上下文、设环境变量
理解这三者关系,最重要的是建立分层思维:
┌──────────────────────────────────────────────┐ │ Skills(技能层) │ │ 可复用的工作流、领域知识、做事方法 │ │ → 回答”怎么把事做好” │ ├──────────────────────────────────────────────┤ │ MCP(协议层) │ │ 连接外部服务的标准化接口 │ │ → 回答”能做什么” │ ├──────────────────────────────────────────────┤ │ Hooks(执行层) │ │ 生命周期事件的自动化执行 │ │ → 回答”什么事必须做” │ └──────────────────────────────────────────────┘
一句话总结:
- MCP 给 Claude 能力(连接外部世界)
- Skills 给 Claude 方法(编排复杂工作流)
- Hooks 给 Claude 纪律(确保关键动作必执行)
settings.json mcpServers
.claude/skills/
settings.json hooks
核心定位 连接 编排 保障
Token 成本详解
这是很多人忽略的关键差异:
实战建议:MCP 服务器不是装得越多越好。2-4 个核心 Server 就够了,复杂流程用 Skill 编排。
以”写完代码自动格式化”为例:
方案 A:用 MCP
连接一个 Prettier MCP 服务器,Claude 写完代码后自己决定是否调用。
问题:Claude 可能”忘了”调,而且工具定义一直占 Token。
方案 B:用 Skills
写一个 Skill,在指令里写”每次编辑后都要跑 Prettier”。
问题:只在 Skill 激活时有效,Claude 在上下文紧张时可能跳过。
方案 C:用 Hooks
配一个 PostToolUse Hook,匹配 Write 工具,每次写文件后自动跑 prettier –write。
结果:每次都执行,没有例外,零 Token 成本。 ✅
结论:必须执行的事,用 Hook。
5.1 什么时候用 MCP?
判断标准:如果你发现自己反复在 Claude 里粘贴 curl 命令或 API 调用结果,说明你需要一个 MCP Server。
典型场景:
@modelcontextprotocol/server-filesystem 管理 GitHub 仓库
@modelcontextprotocol/server-github 查询 PostgreSQL 数据库
@modelcontextprotocol/server-postgres 搜索网页信息
@modelcontextprotocol/server-brave-search
5.2 什么时候用 Skills?
判断标准:如果你已经在 Claude 里粘贴过 3 次以上相同的指令,它就该是一个 Skill。
典型场景:
code-review Skill 部署流程有 10 个步骤
deploy Skill 文档有特定格式要求
doc-generator Skill CSDN 文章有写作规范
csdn-publisher Skill
5.3 什么时候用 Hooks?
判断标准:如果你的需求描述里有”必须”、“每次都要”、“绝对不能”,它就是 Hook。
典型场景:
PostToolUse →
prettier –write 绝对不能执行
rm -rf /
PreToolUse → 拦截危险命令 每次会话开始加载项目上下文
SessionStart → 加载配置 完成任务后发送通知
Stop → 调用通知 API
案例一:生产环境部署
Hook (PreToolUse): 拦截对生产目录的 rm -rf 命令 → 安全底线 Skill (/deploy): 编排完整的部署流程 →
├── MCP (GitHub): 创建 Release Tag ├── MCP (Slack): 通知团队频道 ├── 内置工具: 跑测试套件 └── 内置工具: 构建并推送 Docker 镜像
Hook (Stop): 把部署结果记录到审计日志 → 合规要求
三层各司其职:
- Hook 兜底,防止灾难性操作
- Skill 编排流程,确保步骤完整
- MCP 处理外部通信
案例二:CSDN 文章发布(哈哈哈提一嘴,这是主包在用的skill,它把这个也放进来了)
Skill (csdn-publisher): 编排文章生成流程 →
├── 询问文章类型和主题 ├── 检测系列文章 ├── 生成大纲 → 用户确认 ├── 撰写文章 ├── 执行审查 └── 保存到对应目录
MCP (filesystem): 读写文章文件 Hook (PostToolUse): 保存后自动检查 Markdown 语法
案例三:代码审查工作流
Skill (code-review): 编排审查流程 →
├── 读取变更文件 ├── 按审查清单逐项检查 ├── 生成审查报告 └── 提交 Review 意见
MCP (GitHub): 获取 PR 变更、提交 Review Hook (PreToolUse): 确保不会误操作主分支
当面临需求时,按以下顺序判断:
需求来了
│ ▼
需要连接外部服务吗?(数据库、API、浏览器)
├── 是 → 用 MCP │ ▼
必须每次都执行吗?(格式化、安全检查、自动通知)
├── 是 → 用 Hooks │ ▼
是不是一个可复用的复杂流程?(代码审查、部署、文档生成)
├── 是 → 用 Skills │ ▼
以上都不是 → 直接在 CLAUDE.md 里写规则就行
❌ 误区一:MCP 装得越多越好
连了 15 个 MCP 服务器,指望 Claude 自己搞定一切。
后果:上下文爆炸,响应变慢,效果反而变差。
正确做法:2-4 个核心 Server 足矣。复杂流程用 Skill 编排,而不是靠堆 MCP Server。
❌ 误区二:用 Skill 做强制性操作
在 Skill 里写”每次编辑后必须跑 Linter”。Skill 是建议,不是命令——Claude 在上下文紧张时可能跳过。
正确做法:必须执行的事用 Hook。
❌ 误区三:只用一种扩展方式
只用 MCP 不用 Skill,或者只用 Skill 不用 Hook。
正确做法:Hook 做保障,Skill 做流程,MCP 做连接,三管齐下。
❌ 误区四:MCP 和 Skills 是竞争关系
MCP 是协议层,Skills 是应用层,它们是互补而非替代关系。事实上,Skill 经常需要调用 MCP 提供的工具来完成工作。
为了更全面地理解,我们进一步扩大对比范围,看看这三者与通用 LLM 工具插件的区别:
关键洞察:MCP 是唯一跨厂商的标准化方案。截至 2026 年初,OpenAI Agents SDK 已支持 MCP,这意味着你开发的 MCP Server 可以同时服务于 Claude、GPT、Gemini 等多个 AI 平台。
原则:从最小可用集开始,发现重复模式时再添加。目标不是扩展越多越好,而是用最少的上下文成本获得最大的效率提升。
核心要点回顾
- MCP 解决”能做什么”:连接外部服务的标准化协议,跨平台通用
- Skills 解决”怎么做”:可复用的工作流编排,Token 高效
- Hooks 解决”必须做”:确定性执行的自动化保障,零 Token 成本
三者关系一句话
MCP 是基础设施,Skills 是应用逻辑,Hooks 是执行保障。三者互补,不是替代。
给读者的建议
- 先用好 MCP:连接你最常用的 2-3 个外部服务
- 发现重复模式后写 Skill:重复 3 次以上的操作就该成为 Skill
- 识别强制性操作后加 Hook:必须每次执行的事不要依赖 AI 判断
- 三者组合使用:Hook 保障安全,Skill 编排流程,MCP 连接服务
- MCP、Skills、Hooks 到底有什么区别?
- Claude Skills、MCP 与通用 LLM 工具插件对比指南
- Claude Code 五件套一篇全解
- Claude Agent Skills 完全指南
本文是 MCP 学习系列第三篇,首发于 CSDN。理清概念是深入学习的基础,希望本文能帮你少走弯路。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/270726.html