MCP vs Skill:详解哪个更nb

在 Claude Code、Cursor 等 AI Agent 工具的使用过程中,MCP(Model Context Protocol)与 Skill(Agent Skill)是两个高频出现的能力扩展概念。二者看似都是为了增强 AI 的能力边界,但在设计哲学、技术架构和适用场景上有着本质区别。本文将从这三个维度,彻底厘清两者的核心差异、存在价值及选型原则。

一、一句话核心区分

MCP 和 Skill 是 AI Agent 能力扩展的两大核心支柱,定位截然不同:

  • MCP 解决「连接」问题:让 AI 突破自身数据局限,访问外部世界的工具、数据源与服务。
  • Skill 解决「方法论」问题:为 AI 注入专业的流程知识,教 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 的「技能书」,负责指导操作方法。两者的配合是 AI 完成复杂任务的关键——比如 MCP 让 AI 连接数据库,Skill 教 AI 如何分析查询结果并生成报告。

二、MCP:AI 应用的「通用 USB-C 接口」

1. 定义与核心定位

MCP 是 Anthropic 于 2024 年 11 月发布的开源协议,旨在标准化 AI 应用与外部系统的交互方式。其核心价值是实现「一次对接,多端复用」,就像 USB-C 接口可以连接各种外设一样,MCP 为 AI 提供了访问外部工具的通用标准。

需要明确的是,MCP 并非 Claude 专属。截至 2025 年初,该协议已被 OpenAI、Google、Microsoft 等主流平台及 Zed、Replit 等开发工具采纳,生态内开源 MCP 连接器数量已超 1000 个。

2. 技术架构

MCP 基于 JSON-RPC 2.0 协议构建,采用「客户端-主机-服务器」三层架构:

┌─────────────────────────────────────────────────────────┐
│                        Host                              │
│              (Claude Desktop / Cursor)                   │
│                                                          │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐      │
│  │   Client    │  │   Client    │  │   Client    │      │
│  │  (GitHub)   │  │ (Postgres)  │  │  (Sentry)   │      │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘      │
└─────────┼────────────────┼────────────────┼─────────────┘
          │                │                │
          ▼                ▼                ▼
    ┌───────────┐    ┌───────────┐    ┌───────────┐
    │MCP Server │    │MCP Server │    │MCP Server │
    │ (GitHub)  │    │(Postgres) │    │ (Sentry)  │
    └───────────┘    └───────────┘    └───────────┘

  • Host:用户直接交互的终端应用,如 Claude Desktop、Cursor。
  • Client:Host 内负责与特定外部系统通信的组件。
  • Server:连接外部系统的桥梁,对接数据库、API、本地文件等资源。

3. 三大核心原语

MCP 定义了 Server 可暴露的三类核心能力,覆盖 AI 与外部交互的全场景:

Tools(工具)

模型控制

提供 AI 可执行的函数,完成操作任务

执行 SQL 查询的

query_database

函数

Resources(资源)

应用控制

为 AI 提供上下文数据源

加载本地

README.md

文件作为参考

Prompts(提示)

用户控制

预定义提示模板,结构化交互流程

代码审查的

code_review

模板

4. 与 Function Calling 的关系

很多人会混淆 MCP 和 OpenAI 的 Function Calling,二者是层级互补的关系:

  • Function Calling:是 LLM 的基础能力,负责将自然语言需求转化为结构化的函数调用指令,解决「决定调用什么工具」的问题。
  • MCP:是 Function Calling 之上的协议层,负责标准化工具的「发现、调用、结果返回」流程,解决「怎么调用工具」的问题。

两者的协作流程如下:

用户输入 → LLM (Function Calling) → 生成工具调用指令 → MCP Protocol → MCP Server 执行 → 返回结果给 LLM

5. 传输方式与适用场景

MCP 支持两种主流传输方式,适配不同的部署需求:

Stdio

本地进程交互

适合需要系统级访问的工具,如本地脚本、文件读写

HTTP/SSE

远程服务交互

适合云服务对接,如 GitHub、Sentry、Notion 等

6. 代价与价值

MCP 虽能大幅扩展 AI 能力,但也存在明显的使用成本:

Token 消耗高

工具定义会持久占用上下文窗口,多 Server 连接时可能撑满窗口导致幻觉

维护成本高

需要保障 Server 持久连接,处理网络中断、认证过期等问题

安全风险高

第三方 Server 可能存在 prompt injection 风险,需谨慎使用

核心价值:标准化与可复用性。同一个 MCP Server 可在多个 AI 应用中复用,且支持运行时动态发现工具,摆脱了「工具能力写死在代码里」的局限。

三、Skill:AI Agent 的「智能技能手册」

1. 定义与核心定位

Skill(Agent Skill)是 Anthropic 于 2025 年 10 月发布的特性,本质是**「指令、脚本、资源的结构化集合」**,用于为 AI 注入特定任务的专业流程知识。

其核心定位与 MCP 形成互补:MCP 处于「集成层」,负责连接外部;Skill 处于「提示/知识层」,负责指导方法。官方定义如下:

Skills are organized folders of instructions, scripts, and resources that agents can discover and load dynamically to perform better at specific tasks.

2. 核心设计:渐进式信息公开

Skill 的最大创新是渐进式信息公开(Progressive Disclosure),这是 Anthropic 上下文工程理念的核心实践。其原理类似于「一本结构化的手册」——先看目录,再查章节,最后翻附录,确保 AI 只加载当前任务需要的信息。

Skill 的三层加载逻辑如下:

Claude 判断任务相关性 → 按需加载信息
├─ 第 1 层:元数据(始终加载)→ 名称+描述(约 100 tokens)
├─ 第 2 层:核心指令(按需加载)→ SKILL.md 完整内容(通常 < 5k tokens)
└─ 第 3+ 层:支持文件(深度按需)→ reference.md、scripts/helper.py 等

这种设计的优势在于极致的 Token 效率:即使拥有几十个 Skill,也不会一次性占用大量上下文窗口,解决了传统提示词「信息过载」的问题。

3. 上下文工程的核心思想

Skill 是「上下文工程」的产物,这一理念是对传统「提示词工程」的升级:

  • 提示词工程:聚焦「如何写好单条提示词」,优化指令的表述方式。
  • 上下文工程:聚焦「如何管理上下文窗口的信息」,确保有限的 Token 空间发挥最大价值。

LLM 的上下文窗口是稀缺资源,上下文工程的核心目标就是「在正确的时间,给 AI 正确的信息」,而 Skill 的渐进式加载正是这一目标的最佳实践。

4. 触发机制与文件结构

(1)自动触发机制

Skill 与 Slash Command 的核心区别在于触发方式:Skill 是语义匹配自动触发,无需用户显式调用。其工作流程为:

  1. 扫描阶段:Claude 读取所有 Skill 的元数据(名称+描述)。
  2. 匹配阶段:将用户请求与 Skill 描述进行语义匹配。
  3. 加载阶段:匹配成功后,按需加载核心指令与支持文件。
  4. 执行阶段:按照 Skill 指令完成任务。

(2)标准文件结构

一个规范的 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.
allowed-tools: Read, Grep  # 可选:限制可用工具范围
---

# Code Review Skill
## Instructions
1. First check for security vulnerabilities...
2. Then check for performance issues...

5. 安全考虑与平台支持

(1)安全风险与应对

Skill 的核心风险是prompt injection——恶意 Skill 可能在长文件中隐藏恶意指令。应对措施包括:

  • 仅使用可信来源的 Skill;
  • 审查 Skill 中的脚本与指令;
  • 通过 allowed-tools 限制工具使用范围。

(2)平台支持范围

目前 Skill 是Anthropic 生态专属特性,支持的平台包括:

  • Claude.ai(Pro/Max/Team/Enterprise)
  • Claude Code
  • Claude Agent SDK
  • Claude Developer Platform

四、MCP 与 Skill 全方位对比

为了更清晰地展示两者的差异,我们从 11 个核心维度进行对比:

核心作用

连接外部系统与数据源

编码专业知识与标准化流程

架构层级

集成层

提示/知识层

协议基础

JSON-RPC 2.0

文件系统 + Markdown

跨平台性

是(开源协议,多平台支持)

否(Anthropic 生态专属)

触发方式

持久连接,随时调用

语义匹配,自动触发

Token 消耗

高(工具定义持久占用上下文)

低(渐进式按需加载)

外部访问能力

可直接访问外部系统

不可直接访问,需配合 MCP/内置工具

实现复杂度

高(需理解协议、部署 Server)

低(编写 Markdown 即可)

可复用性

高(跨应用标准化复用)

中(文件夹形式,支持 Git 共享)

动态发现能力

支持(运行时发现工具)

支持(运行时发现 Skill)

核心安全风险

外部内容注入风险

Skill 文件本身的恶意指令风险

五、选型指南:什么时候用 MCP?什么时候用 Skill?

MCP 和 Skill 并非替代关系,而是互补关系。具体选型需结合实际需求:

1. 优先使用 MCP 的场景

  • 需要访问外部数据:如查询数据库、调用第三方 API、读取本地文件/日志。
  • 需要操作外部系统:如创建 GitHub Issue、发送 Slack 消息、执行自动化脚本。
  • 需要实时信息:如查看监控数据、获取搜索引擎结果、同步最新业务数据。
  • 需要跨平台复用:如同一工具需在 Claude、Cursor 等多个应用中使用。

2. 优先使用 Skill 的场景

  • 处理重复性工作流程:如代码审查、文档生成、数据报表分析。
  • 落地内部规范:如公司代码风格、PR 提交规范、文档撰写标准。
  • 完成多步骤复杂任务:如需要严格遵循特定流程的专业任务(如安全审计、需求拆解)。
  • Token 敏感场景:如需要加载大量知识,但又不想占用过多上下文窗口。

3. 黄金组合:MCP + Skill 协同使用

大部分复杂任务需要两者配合完成。以「按照团队规范审查 PR」为例,协同流程如下:

用户需求:Review PR #456 并按照团队规范给出建议
├─ 步骤 1:MCP(GitHub 连接器)→ 获取 PR 代码与相关信息
├─ 步骤 2:Skill(团队代码审查规范)→ 注入审查流程与标准
├─ 步骤 3:LLM → 按照 Skill 指令分析代码,生成审查意见
└─ 步骤 4:MCP(GitHub 连接器)→ 提交审查评论到 PR

六、补充:Skill 与 Slash Command 的区别

很多用户会混淆 Skill 和 Slash Command,两者的核心差异在于触发主体

触发方式

用户显式输入

/命令

AI 语义匹配自动触发

控制主体

用户完全控制触发时机

AI 根据需求自动判断

适用场景

需要用户精准控制的任务

需要 AI 自主决策的任务

七、总结

MCP 和 Skill 是 AI Agent 能力扩展的两大核心机制,代表了两种不同的设计哲学:

  • MCP 是「连接主义」:聚焦「AI 能访问什么」,通过标准化协议打破 AI 与外部世界的壁垒。
  • Skill 是「知识打包」:聚焦「AI 知道怎么做」,通过上下文工程让 AI 掌握专业的任务流程。

二者的协同使用,是构建强大 AI Agent 的关键——MCP 让 AI 能「碰到」数据,Skill 让 AI 会「处理」数据。随着 AI Agent 技术的发展,这两种机制将成为开发者必须掌握的核心工具。

写好 Skill 的关键技巧

  1. 精准描述触发场景description 要明确「做什么」「什么时候用」「触发关键词」,避免宽泛表述。
  2. 保持 Skill 专注性:一个 Skill 只负责一个任务,避免跨领域的「万能 Skill」。
  3. 控制核心文件长度SKILL.md 建议控制在 500 行以内,复杂内容拆分到支持文件。
  4. 做好版本控制:通过 Git 管理 Skill 的变更历史,方便团队共享与迭代。

考研失利想速成冲春招的考研看看我发过的这篇帖子:论考研失利如何冲春招

想要学习Java冲实习或冲春招的,我能助你一臂之力,我之前整理了高质量可速成的魔改外卖项目话术和7000字轮子项目话术,还有超全超精品八股大全专栏怎么写简历,怎么包装实习经历,怎么0基础速成冲春招和实习等等精品帖子,大家可以去看看我的精品文章汇总帖子:往期精品秋招帖子汇总

我的八股大全、算法、项目话术全专栏(20w人学习,超千人订阅,牛客最受欢迎最高质量java八股专栏,内容包含: 1.八股大全:多一句没有少一句不行的最精简八股整理,完全可以应付校招社招的八股拷打! 2.速成项目话术:目前有魔改苍穹外卖项目话术(额外扩展了很多技术亮点),能速成拿去面试,后面会更新魔改黑马点评、商城项目等等热门高质量项目话术 3.智力题超详细题解汇总; 4.面试时非技术问题话术整理,绝对震惊面试官一年; 5.算法lc hot100全题系列题解:绝对通俗易懂;6、场景题汇总快速冲刺秋招专栏

#AI了,我在打一种很新的工##AI##校招##AI让你的思考变深了还是变浅了?##聊聊我眼中的AI##投票#
全部评论

相关推荐

评论
2
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务