掌握MCP与Skill:大模型小白/程序员的收藏必备学习指南
本文深入解析AI Agent中MCP与Skill的核心区别:MCP作为连接层解决"AI能访问什么"(外部数据/工具),Skill作为知识层解决"AI知道怎么做什么"(方法论/指令)。文章从设计哲学、技术架构、使用场景对比两者,比喻MCP为AI的"手"(连接外部),Skill为"技能书"(传授方法论),强调其互补性。同时提供选择指南:MCP适用于数据访问/操作,Skill适用于流程化任务/规范;并结合实际场景说明如何组合使用。
用 AI Agent 工具(Claude Code、Cursor、Windsurf 等)的时候,经常会遇到两个概念:
- MCP(Model Context Protocol)
- Skill(Agent Skill)
它们看起来都是"扩展 AI 能力"的方式,但具体有什么区别?为什么需要两套机制?什么时候该用哪个?
这篇文章会从设计哲学、技术架构、使用场景三个维度,把这两个概念彻底讲清楚。
一句话区分
先给个简单的定位:
❝
「MCP 解决"连接"问题:让 AI 能访问外部世界」「Skill 解决"方法论"问题:教 AI 怎么做某类任务」
❞
用 Anthropic 官方的说法:
❝
“MCP connects Claude to external services and data sources. Skills provide procedural knowledge—instructions for how to complete specific tasks or workflows.”
❞
打个比方:MCP 是 AI 的"手"(能触碰外部世界),Skill 是 AI 的"技能书"(知道怎么做某件事)。
你需要两者配合:MCP 让 AI 能连接数据库,Skill 教 AI 怎么分析查询结果。
MCP:AI 应用的 USB-C 接口
MCP 是什么
MCP(Model Context Protocol)是 Anthropic 在 2024 年 11 月发布的「开源协议」,用于标准化 AI 应用与外部系统的交互方式。
官方的比喻是"AI 应用的 USB-C 接口"——就像 USB-C 提供了一种通用的方式连接各种设备,MCP 提供了一种通用的方式连接各种工具和数据源。
「关键点:MCP 不是 Claude 专属的。」
它是一个开放协议,理论上任何 AI 应用都可以实现。截至 2025 年初,已经被多个平台采用:
- 「Anthropic」: Claude Desktop、Claude Code
- 「OpenAI」: ChatGPT、Agents SDK、Responses API
- 「Google」: Gemini SDK
- 「Microsoft」: Azure AI Services
- 「开发工具」: Zed、Replit、Codeium、Sourcegraph
到 2025 年 2 月,已经有超过 1000 个开源 MCP 连接器。
MCP 的架构
MCP 基于 「JSON-RPC 2.0」 协议,采用「客户端-主机-服务器」(Client-Host-Server)架构:
┌─────────────────────────────────────────────────────────┐ │ Host │ │ (Claude Desktop / Cursor) │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ Client │ │ Client │ │ Client │ │ │ │ (GitHub) │ │ (Postgres) │ │ (Sentry) │ │ │ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │ └─────────┼────────────────┼────────────────┼─────────────┘ │ │ │ ▼ ▼ ▼ ┌───────────┐ ┌───────────┐ ┌───────────┐ │MCP Server │ │MCP Server │ │MCP Server │ │ (GitHub) │ │(Postgres) │ │ (Sentry) │ └───────────┘ └───────────┘ └───────────┘- 「Host」:用户直接交互的应用(Claude Desktop、Cursor、Windsurf)
- 「Client」:Host 应用中管理与特定 Server 通信的组件
- 「Server」:连接外部系统的桥梁(数据库、API、本地文件等)
MCP 的三个核心原语
MCP 定义了三种 Server 可以暴露的原语:
1. Tools(工具)—— 模型控制
可执行的函数,AI 可以调用来执行操作。
{ "name": "query_database", "description": "Execute SQL query on the database", "parameters": { "type": "object", "properties": { "sql": { "type": "string" } } } }AI 决定什么时候调用这些工具。比如用户问"这个月的收入是多少",AI 判断需要查数据库,就会调用query_database工具。
2. Resources(资源)—— 应用控制
数据源,为 AI 提供上下文信息。
{ "uri": "file:///Users/project/README.md", "name": "Project README", "mimeType": "text/markdown" }资源由应用控制何时加载。用户可以通过@引用资源,类似于引用文件。
3. Prompts(提示)—— 用户控制
预定义的提示模板,帮助结构化与 AI 的交互。
{ "name": "code_review", "description": "Review code for bugs and security issues", "arguments": [ { "name": "code", "required": true } ] }用户显式触发这些提示,类似于 Slash Command。
MCP 与 Function Calling 的关系
很多人会问:MCP 和 OpenAI 的 Function Calling、Anthropic 的 Tool Use 有什么区别?
「Function Calling」 是 LLM 的能力——把自然语言转换成结构化的函数调用请求。LLM 本身「不执行」函数,只是告诉你"应该调用什么函数,参数是什么"。
「MCP」 是在 Function Calling 之上的「协议层」——它标准化了"函数在哪里、怎么调用、怎么发现"。
两者的关系:
用户输入 → LLM (Function Calling) → "需要调用 query_database" ↓ MCP Protocol ↓ MCP Server 执行 ↓ 返回结果给 LLM「Function Calling 解决"决定做什么",MCP 解决"怎么做到"。」
MCP 的传输方式
MCP 支持两种主要的传输方式:
| 传输方式 | 适用场景 | 说明 |
|---|---|---|
| 「Stdio」 | 本地进程 | Server 在本地机器运行,适合需要系统级访问的工具 |
| 「HTTP/SSE」 | 远程服务 | Server 在远程运行,适合云服务(GitHub、Sentry、Notion) |
大部分云服务用 HTTP,本地脚本和自定义工具用 Stdio。
MCP 的代价
MCP 不是免费的午餐,它有明显的成本:
「1. Token 消耗大」
每个 MCP Server 都会占用上下文空间。每次对话开始,MCP Client 需要告诉 LLM “你有这些工具可用”,这些工具定义会消耗大量 Token。
连接多个 MCP Server 后,光是工具定义可能就占用了上下文窗口的很大一部分。社区观察到:
❝
“We’re seeing a lot of MCP developers even at enterprise build MCP servers that expose way too much, consuming the entire context window and leading to hallucination.”
❞
「2. 需要维护连接」
MCP Server 是持久连接的外部进程。Server 挂了、网络断了、认证过期了,都会影响 AI 的能力。
「3. 安全风险」
Anthropic 官方警告:
❝
“Use third party MCP servers at your own risk - Anthropic has not verified the correctness or security of all these servers.”
❞
特别是能获取外部内容的 MCP Server(比如网页抓取),可能带来 prompt injection 风险。
MCP 的价值
尽管有这些代价,MCP 的价值在于「标准化和可复用性」:
- 「一次实现,到处使用」:同一个 GitHub MCP Server 可以在 Claude Desktop、Cursor、Windsurf 中使用
- 「动态发现」:AI 可以在运行时发现有哪些工具可用,而不是写死在代码里
- 「供应商无关」:不依赖特定的 LLM 提供商
Skill:上下文工程的渐进式公开
Skill 是什么
Skill(全称 Agent Skill)是 Anthropic 在 2025 年 10 月发布的特性。官方定义:
❝
“Skills are organized folders of instructions, scripts, and resources that agents can discover and load dynamically to perform better at specific tasks.”
❞
翻译一下:Skill 是一个文件夹,里面放着指令、脚本和资源,AI 会根据需要自动发现和加载。
「Skill 在架构层级上和 MCP 不同。」
用 Anthropic 的话说:
❝
“Skills are at the prompt/knowledge layer, whereas MCP is at the integration layer.”
❞
Skill 是"提示/知识层",MCP 是"集成层"。两者解决不同层面的问题。
Skill 的核心设计:渐进式信息公开
Skill 最精妙的设计是「渐进式信息公开」(Progressive Disclosure)。这是 Anthropic 在上下文工程(Context Engineering)领域的重要实践。
官方的比喻:
❝
“Like a well-organized manual that starts with a table of contents, then specific chapters, and finally a detailed appendix.”
❞
就像一本组织良好的手册:先看目录,再翻到相关章节,最后查阅附录。
Skill 分三层加载:
「这个设计的好处是什么?」
传统方式(比如 MCP)在会话开始时就把所有信息加载到上下文。如果你有 10 个 MCP Server,每个暴露 5 个工具,那就是 50 个工具定义——可能消耗数千甚至上万 Token。
Skill 的渐进式加载让你可以有几十个 Skill,但同时只加载一两个。「上下文效率大幅提升。」
用官方的话说:
❝
“This means that the amount of context that can be bundled into a skill is effectively unbounded.”
❞
理论上,单个 Skill 可以包含无限量的知识——因为只有需要的部分才会被加载。
上下文工程:Skill 背后的思想
Skill 是 Anthropic “上下文工程”(Context Engineering)理念的产物。官方对此有专门的阐述:
❝
“At Anthropic, we view context engineering as the natural progression of prompt engineering. Prompt engineering refers to methods for writing and organizing LLM instructions for optimal outcomes. Context engineering refers to the set of strategies for curating and maintaining the optimal set of tokens (information) during LLM inference.”
❞
简单说:
- 「Prompt Engineering」:怎么写好提示词
- 「Context Engineering」:怎么管理上下文窗口里的信息
LLM 的上下文窗口是有限的(即使是 200k 窗口,也会被大量信息撑爆)。Context Engineering 的核心问题是:「在有限的窗口里,放什么信息能让 AI 表现最好?」
Skill 的渐进式加载就是 Context Engineering 的具体实践——只加载当前任务需要的信息,让每一个 Token 都发挥最大价值。
Skill 的触发机制
Skill 是「自动触发」的,这是它和 Slash Command 的关键区别。
工作流程:
「扫描阶段」:Claude 读取所有 Skill 的元数据(名称 + 描述)
「匹配阶段」:将用户请求与 Skill 描述进行语义匹配
「加载阶段」:如果匹配成功,加载完整的 SKILL.md
「执行阶段」:按照 Skill 里的指令执行任务,按需加载支持文件
用户不需要显式调用。比如你有一个code-reviewSkill,用户说"帮我 review 这段代码",Claude 会自动匹配并加载。
「Skill 的本质是什么?」
技术上,Skill 是一个「元工具」(Meta-tool):
❝
“The Skill tool is a meta-tool that manages all skills. Traditional tools like Read, Bash, or Write execute discrete actions and return immediate results. Skills operate differently—rather than performing actions directly, they inject specialized instructions into the conversation history and dynamically modify Claude’s execution environment.”
❞
Skill 不是执行具体动作,而是「注入指令」到对话历史中,动态修改 Claude 的执行环境。
Skill 的文件结构
一个标准的 Skill 长这样:
my-skill/ ├── SKILL.md # 必需:元数据 + 主要指令 ├── reference.md # 可选:详细参考文档 ├── examples.md # 可选:使用示例 ├── scripts/ │ └── helper.py # 可选:可执行脚本 └── templates/ └── template.txt # 可选:模板文件SKILL.md是核心,必须包含 YAML 格式的元数据:
--- name: code-review description: > Review code for bugs, security issues, and style violations. Use when asked to review code, check for bugs, or audit PRs. --- # Code Review Skill ## Instructions When reviewing code, follow these steps: 1. **First check for security vulnerabilities...** 2. **Then check for performance issues...** 3. **Finally check for code style...**「关键字段:」
name:Skill 的唯一标识,小写字母 + 数字 + 连字符,最多 64 字符description:描述做什么、什么时候用,最多 1024 字符
description的质量直接决定 Skill 能不能被正确触发。
Skill 的安全考虑
Skill 有一个潜在的安全问题:「Prompt Injection」。
研究人员发现:
❝
“Although Agent Skills can be a very useful tool, they are fundamentally insecure since they enable trivially simple prompt injections. Researchers demonstrated how to hide malicious instructions in long Agent Skill files and referenced scripts to exfiltrate sensitive data.”
❞
因为 Skill 本质上是注入指令,恶意的 Skill 可以在长文件中隐藏恶意指令,窃取敏感数据。
「应对措施:」
「只使用可信来源的 Skill」
「审查 Skill 中的脚本」
「使用
allowed-tools限制 Skill 的能力范围」
--- name: safe-file-reader description: Read and analyze files without making changes allowed-tools: Read, Grep, Glob # 只允许读操作 ---Skill 的平台支持
Agent Skills 目前支持:
- Claude.ai(Pro、Max、Team、Enterprise)
- Claude Code
- Claude Agent SDK
- Claude Developer Platform
需要注意的是,「Skill 目前是 Anthropic 生态专属」的,不像 MCP 是跨平台的开放协议。
MCP vs Skill:架构层级对比
现在我们可以从架构层级来理解两者的区别:
┌─────────────────────────────────────────────────────────┐ │ 用户请求 │ └────────────────────────┬────────────────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────┐ │ 提示/知识层 (Skill) │ │ │ │ Skill 注入专业知识和工作流程 │ │ "怎么做某类任务" │ └────────────────────────┬────────────────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────┐ │ LLM 推理层 │ │ │ │ Claude / GPT / Gemini 等 │ │ 理解请求,决定需要什么工具 │ └────────────────────────┬────────────────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────┐ │ 集成层 (MCP) │ │ │ │ MCP 连接外部系统 │ │ "能访问什么工具和数据" │ └────────────────────────┬────────────────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────┐ │ 外部世界 │ │ │ │ 数据库、API、文件系统、第三方服务 │ └─────────────────────────────────────────────────────────┘「Skill 在上层(知识层),MCP 在下层(集成层)。」
两者不是替代关系,而是互补关系。你可以:
- 用 MCP 连接 GitHub
- 用 Skill 教 AI 如何按照团队规范做 Code Review
详细对比表
| 维度 | MCP | Skill |
|---|---|---|
| 「核心作用」 | 连接外部系统 | 编码专业知识和方法论 |
| 「架构层级」 | 集成层 | 提示/知识层 |
| 「协议基础」 | JSON-RPC 2.0 | 文件系统 + Markdown |
| 「跨平台」 | 是(开放协议,多平台支持) | 否(目前 Anthropic 生态专属) |
| 「触发方式」 | 持久连接,随时可用 | 基于描述的语义匹配,自动触发 |
| 「Token 消耗」 | 高(工具定义持久占用上下文) | 低(渐进式加载) |
| 「外部访问」 | 可以直接访问外部系统 | 不能直接访问,需要配合 MCP 或内置工具 |
| 「复杂度」 | 高(需要理解协议、运行 Server) | 低(写 Markdown 就行) |
| 「可复用性」 | 高(标准化协议,跨应用复用) | 中(文件夹,可以 Git 共享) |
| 「动态发现」 | 是(运行时发现可用工具) | 是(运行时发现可用 Skill) |
| 「安全考虑」 | 外部内容带来 prompt injection 风险 | Skill 文件本身可能包含恶意指令 |
什么时候用 MCP,什么时候用 Skill
用 MCP 的场景
- 「需要访问外部数据」:数据库查询、API 调用、文件系统访问
- 「需要操作外部系统」:创建 GitHub Issue、发送 Slack 消息、执行 SQL
- 「需要实时信息」:监控系统状态、查看日志、搜索引擎结果
- 「需要跨平台复用」:同一个工具在 Claude Desktop、Cursor、其他支持 MCP 的应用中使用
用 Skill 的场景
- 「重复性的工作流程」:代码审查、文档生成、数据分析
- 「公司内部规范」:代码风格、提交规范、文档格式
- 「需要多步骤的复杂任务」:需要详细指导的专业任务
- 「团队共享的最佳实践」:标准化的操作流程
- 「Token 敏感场景」:需要大量知识但不想一直占用上下文
结合使用
很多时候,两者是配合使用的:
用户:"Review PR #456 并按照团队规范给出建议" 1. **MCP (GitHub) 获取 PR 信息** ↓ 2. **Skill (团队代码审查规范) 提供审查方法论** ↓ 3. **Claude 按照 Skill 的指令分析代码** ↓ 4. **MCP (GitHub) 提交评论**「MCP 负责"能访问什么",Skill 负责"怎么做"。」
写好 Skill 的关键
Skill 能不能被正确触发,90% 取决于description写得好不好。
差的 description
description: Helps with data太宽泛,Claude 不知道什么时候该用。
好的 description
description: > Analyze Excel spreadsheets, generate pivot tables, and create charts. Use when working with Excel files (.xlsx), spreadsheets, or tabular data analysis. Triggers on: "analyze spreadsheet", "create pivot table", "Excel chart"好的 description 应该包含:
「做什么」:具体的能力描述
「什么时候用」:明确的触发场景
「触发词」:用户可能说的关键词
最佳实践
官方建议:
「保持专注」:一个 Skill 做一件事,避免宽泛的跨域 Skill
「SKILL.md 控制在 500 行以内」:太长的话拆分到支持文件
「测试触发行为」:确认相关请求能触发,不相关请求不会误触发
「版本控制」:记录 Skill 的变更历史
关于 Slash Command
文章标题是 MCP vs Skill,但很多人也会问到 Slash Command,简单说一下。
「Slash Command」 是最简单的扩展方式——本质上是存储的提示词,用户输入/命令名时注入到对话中。
「Skill vs Slash Command 的关键区别是触发方式:」
| Slash Command | Skill | |
|---|---|---|
| 触发方式 | 用户显式输入/命令 | Claude 自动匹配 |
| 用户控制 | 完全控制何时触发 | 无法控制,Claude 决定 |
问自己一个问题:「用户是否需要显式控制触发时机?」
- 需要 → Slash Command
- 不需要,希望 AI 自动判断 → Skill
总结
MCP 和 Skill 是 AI Agent 扩展的两种不同哲学:
| MCP | Skill | |
|---|---|---|
| 「哲学」 | 连接主义 | 知识打包 |
| 「问的问题」 | “AI 能访问什么?” | “AI 知道怎么做什么?” |
| 「层级」 | 集成层 | 知识层 |
| 「Token 策略」 | 预加载所有能力 | 按需加载知识 |
记住这句话:
❝
「MCP connects AI to data; Skills teach AI what to do with that data.」
❞
MCP 让 AI 能"碰到"数据,Skill 教 AI 怎么"处理"数据。
它们不是替代关系,而是互补关系。一个成熟的 AI Agent 系统,两者都需要。
## 最后
近期科技圈传来重磅消息:行业巨头英特尔宣布大规模裁员2万人,传统技术岗位持续萎缩的同时,另一番景象却在AI领域上演——AI相关技术岗正开启“疯狂扩招”模式!据行业招聘数据显示,具备3-5年大模型相关经验的开发者,在大厂就能拿到50K×20薪的高薪待遇,薪资差距肉眼可见!
业内资深HR预判:不出1年,“具备AI项目实战经验”将正式成为技术岗投递的硬性门槛。在行业迭代加速的当下,“温水煮青蛙”式的等待只会让自己逐渐被淘汰,与其被动应对,不如主动出击,抢先掌握AI大模型核心原理+落地应用技术+项目实操经验,借行业风口实现职业翻盘!
深知技术人入门大模型时容易走弯路,我特意整理了一套全网最全最细的大模型零基础学习礼包,涵盖入门思维导图、经典书籍手册、从入门到进阶的实战视频、可直接运行的项目源码等核心内容。这份资料无需付费,免费分享给所有想入局AI大模型的朋友!
👇👇扫码免费领取全部内容👇👇
部分资料展示
1、 AI大模型学习路线图
2、 全套AI大模型应用开发视频教程
从入门到进阶这里都有,跟着老师学习事半功倍。
3、 大模型学习书籍&文档
4、AI大模型最新行业报告
2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
5、大模型大厂面试真题
整理了百度、阿里、字节等企业近三年的AI大模型岗位面试题,涵盖基础理论、技术实操、项目经验等维度,每道题都配有详细解析和答题思路,帮你针对性提升面试竞争力。
6、大模型项目实战&配套源码
学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
- 👇👇扫码免费领取全部内容👇👇
这些资料真的有用吗?
这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】