MCP 和 Skill 到底有什么区别?一篇文章讲清楚
2026/6/16 11:55:51 网站建设 项目流程

在 Claude Code、Cursor、Copilot 等 AI 编程工具中,MCP 和 Skill 是两个高频出现的概念。很多人把它们混为一谈——"不都是让 AI 变强的东西吗?"实际上,它们的定位、运行机制、适用场景完全不同。选错了方案,轻则浪费开发时间,重则安全风险失控。

本文从运行边界、交互模式、适用场景三个维度彻底讲清楚两者的区别。


一、一句话区分

MCP(Model Context Protocol)Skill(技能)
本质外部服务的"标准化接口"对话内的"预设工作流"
谁运行外部进程(独立服务器)模型自身(提示词驱动)
核心能力连接外部数据/服务规范模型的思考和行为
类比给 AI 装了 USB 接口,可以外接设备给 AI 写了一份 SOP 操作手册

如果你只想记住一句话:MCP 让 AI 能"碰到"外面的东西,Skill 让 AI 能"做好"自己的事情。


二、MCP:连接外部世界的标准化协议

2.1 MCP 是什么

MCP(Model Context Protocol)是 Anthropic 在 2024 年底发布的开源协议,目标是成为 AI 应用与外部工具/数据源之间的"统一连接标准"。你可以把它理解成 AI 界的 USB-C——不同厂商的工具只要遵循 MCP 协议,就能被任何支持 MCP 的 AI 客户端调用。

2.2 MCP 的架构

┌──────────────┐ 标准协议 ┌──────────────────┐ │ AI 客户端 │ ◄──────────────► │ MCP Server │ │ (Claude Code, │ JSON-RPC │ (独立进程/容器) │ │ Cursor...) │ │ │ └──────────────┘ └──────┬────────────┘ │ ┌────▼────┐ │ 外部系统 │ │ DB/API/ │ │ 文件系统 │ └─────────┘

关键特征:

  • 独立进程:MCP Server 是一个独立运行的程序,有自己的生命周期

  • JSON-RPC 通信:通过标准输入/输出或 HTTP/SSE 与 AI 客户端通信

  • 能力声明:Server 启动时向客户端声明自己提供哪些工具(tools)、资源(resources)、提示模板(prompts)

  • 按需调用:AI 模型决定何时调用哪个工具,客户端负责执行调用并把结果传回模型

2.3 MCP 适合干什么

  • 连接企业内部系统:数据库查询、Jira 工单、Confluence 文档、K8s 集群

  • 访问实时数据:天气、股价、航班信息

  • 调用外部 API:GitHub、Slack、Linear、Notion

  • 执行有副作用的操作:创建 PR、发送消息、部署服务

2.4 MCP 的局限

  • 需要额外的开发和部署工作(写 MCP Server、管理进程)

  • Server 挂了或网络不通,AI 就失去了对应能力

  • 安全边界模糊——MCP Server 能做的事情,AI 就都能做

  • 响应延迟取决于外部服务


三、Skill:规范 AI 行为的预设工作流

3.1 Skill 是什么

Skill 是在系统提示词层面,为 AI 注入特定领域的行为规范、设计约束、工作流程。它不连接任何外部系统,不调用任何 API,纯粹通过提示词工程来影响模型的输出质量和行为模式。

以 Claude Code 为例,taste-skill注入了一整套 UI 设计标准(字体、间距、阴影、色彩),security-review注入了安全审查的检查清单和输出格式。

3.2 Skill 的架构

┌──────────────────────────────────────┐ │ System Prompt │ │ │ │ ┌────────────────────────────┐ │ │ │ Base Instructions │ │ │ │ (通用行为规范) │ │ │ ├────────────────────────────┤ │ │ │ Skill: taste-skill │ │ │ │ → UI 设计标准 │ │ │ │ → 字体、间距、色彩规则 │ │ │ ├────────────────────────────┤ │ │ │ Skill: security-review │ │ │ │ → 安全检查清单 │ │ │ │ → 输出格式规范 │ │ │ └────────────────────────────┘ │ │ │ │ 所有 Skill 都在提示词层面, │ │ 由模型自身的推理能力驱动 │ └──────────────────────────────────────┘

关键特征:

  • 纯提示词:Skill 就是一段被注入到 system prompt 中的文本

  • 无外部依赖:不需要服务器、不需要网络、不需要 API key

  • 零延迟:没有额外的网络调用开销

  • 影响模型思维:改变的是模型"怎么想"和"怎么输出",而不是"能访问什么"

3.3 Skill 适合干什么

  • 领域知识注入:让通用模型在特定领域表现更好(医疗、法律、金融)

  • 输出格式控制:强制模型遵循特定的代码风格、文档结构、设计规范

  • 工作流约束:强制模型在编码前先做分析、先写测试再写实现

  • 行为边界设定:告诉模型"不要做什么"比"要做什么"更有效

  • 角色扮演:让模型以特定角色(代码审查员、产品经理、安全专家)的视角工作

3.4 Skill 的局限

  • 不能获取模型训练数据之外的信息

  • 不能执行任何实际操作(发邮件、查数据库、调 API)

  • 效果取决于模型对 Skill 指令的遵循程度

  • 指令之间有潜在的干扰和冲突


四、核心区别对照表

维度MCPSkill
运行位置模型外部,独立进程模型内部,提示词层面
通信方式JSON-RPC(stdio/HTTP)无需通信,纯文本注入
能访问外部数据吗不能
能执行操作吗能(取决于 MCP Server 权限)不能
需要部署吗需要(写服务、配进程)不需要(一段文本即可)
有延迟吗有(网络/IO 开销)
安全风险高(能力 = 服务权限)低(能力 = 提示词影响)
可移植性跨客户端(遵循同一协议)依赖平台实现(各家的 Skill 机制不同)
稳定性和可控性取决于外部服务取决于模型遵循度
典型例子GitHub MCP、Postgres MCP、Slack MCPtaste-skill、security-review、brutalist-skill

五、如何选择?决策树

你需要的能力是? │ ├── 需要访问外部数据/服务? │ ├── 是 → 必须用 MCP │ └── 否 → 继续判断 │ ├── 需要执行实际操作(发消息、创建 PR、部署)? │ ├── 是 → 必须用 MCP │ └── 否 → 继续判断 │ ├── 需要获取模型训练数据之外的信息? │ ├── 是 → 必须用 MCP │ └── 否 → 继续判断 │ ├── 是规范 AI 的行为、输出、思考方式? │ ├── 是 → 用 Skill │ └── 否 → 继续判断 │ └── 两者都需要? └── MCP + Skill 组合使用(它们不冲突)

六、MCP + Skill 组合实战

两者不是互斥的,最佳实践往往是组合使用

场景MCP 做什么Skill 做什么
代码审查 AgentMCP 连接 GitHub,拉取 PR diffSkill 注入审查标准和输出模板
数据分析 AgentMCP 连接数据库,执行 SQLSkill 注入分析方法和可视化规范
客服 AgentMCP 连接工单系统和知识库Skill 注入话术规范和边界话术
运维 AgentMCP 连接 K8s 和监控系统Skill 注入变更审批流程和安全红线

以 Claude Code 为例:它的MCP 层负责连接 GitHub、执行 bash 命令、读写文件;它的Skill 层(如taste-skill)负责控制这些操作产生的代码质量。


七、常见误解澄清

误解 1:"Skill 也可以调 API 啊"

不对。Skill 本身只是提示词,它不能发起任何网络请求。如果 Skill 文本里写"去查这个 API",模型只能说"我做不到,我没有这个能力"——除非同时挂了 MCP。

误解 2:"MCP Server 就是 Skill"

MCP Server 提供的toolsresourcesprompts功能声明,不是行为规范。一个 MCP Server 告诉 AI"我可以查数据库",但不会告诉 AI"什么时候该查、什么时候不该查"。后者正是 Skill 的职责。

误解 3:"有了 MCP 就不用 Skill 了"

MCP 只解决"能不能"的问题(能力边界),Skill 解决"好不好"的问题(质量边界)。两者解决的是不同层次的问题,不能互相替代。

误解 4:"Skill 可以跨平台"

目前各家 AI 工具的 Skill 机制差异很大。Claude Code 的 Skill 是挂载在特定提示词位置的模块化文本;GitHub Copilot 的 Skill 是另一种实现。MCP 才是真正的跨平台标准。


八、总结

记住这个口诀
MCP给 AI 装手和眼睛,让它能碰到外面的世界
Skill给 AI 装大脑和品味,让它把事情做对、做好

选择逻辑:

  • 只缺能力(访问不到数据、调不了服务)→ 上 MCP

  • 只缺规范(输出质量差、行为不稳定)→ 上 Skill

  • 两者都缺 → MCP + Skill 组合,各管各的层

  • 两者都不缺 → 直接用就行,别过度设计


本文基于 Claude Code 的实际使用和开发经验总结,MCP 协议规范详见 modelcontextprotocol.io。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询