MCP 和 Skill 到底有什么区别?一篇文章讲清楚
在 Claude Code、Cursor、Copilot 等 AI 编程工具中MCP 和 Skill 是两个高频出现的概念。很多人把它们混为一谈——不都是让 AI 变强的东西吗实际上它们的定位、运行机制、适用场景完全不同。选错了方案轻则浪费开发时间重则安全风险失控。本文从运行边界、交互模式、适用场景三个维度彻底讲清楚两者的区别。一、一句话区分MCPModel Context ProtocolSkill技能本质外部服务的标准化接口对话内的预设工作流谁运行外部进程独立服务器模型自身提示词驱动核心能力连接外部数据/服务规范模型的思考和行为类比给 AI 装了 USB 接口可以外接设备给 AI 写了一份 SOP 操作手册如果你只想记住一句话MCP 让 AI 能碰到外面的东西Skill 让 AI 能做好自己的事情。二、MCP连接外部世界的标准化协议2.1 MCP 是什么MCPModel 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 集群访问实时数据天气、股价、航班信息调用外部 APIGitHub、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-RPCstdio/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负责控制这些操作产生的代码质量。七、常见误解澄清误解 1Skill 也可以调 API 啊不对。Skill 本身只是提示词它不能发起任何网络请求。如果 Skill 文本里写去查这个 API模型只能说我做不到我没有这个能力——除非同时挂了 MCP。误解 2MCP Server 就是 SkillMCP Server 提供的tools、resources、prompts是功能声明不是行为规范。一个 MCP Server 告诉 AI我可以查数据库但不会告诉 AI什么时候该查、什么时候不该查。后者正是 Skill 的职责。误解 3有了 MCP 就不用 Skill 了MCP 只解决能不能的问题能力边界Skill 解决好不好的问题质量边界。两者解决的是不同层次的问题不能互相替代。误解 4Skill 可以跨平台目前各家 AI 工具的 Skill 机制差异很大。Claude Code 的 Skill 是挂载在特定提示词位置的模块化文本GitHub Copilot 的 Skill 是另一种实现。MCP 才是真正的跨平台标准。八、总结记住这个口诀MCP给 AI 装手和眼睛让它能碰到外面的世界Skill给 AI 装大脑和品味让它把事情做对、做好选择逻辑只缺能力访问不到数据、调不了服务→ 上 MCP只缺规范输出质量差、行为不稳定→ 上 Skill两者都缺 → MCP Skill 组合各管各的层两者都不缺 → 直接用就行别过度设计本文基于 Claude Code 的实际使用和开发经验总结MCP 协议规范详见 modelcontextprotocol.io。