跳到主内容
7 分钟阅读

Skill 和 MCP 的区别

Skill 负责沉淀做事方法,MCP 负责连接工具与实时数据;两者解决的问题不同,也经常一起使用。

粗略地区分:Skill 把做事方法及配套文件打成可复用的包;MCP 规范宿主怎样连接外部上下文与能力。

这是一条便于记忆的职责线,不是协议边界。Skill 可以带可执行脚本,MCP server 除工具外也能暴露资源和提示模板。一个完整工作流完全可以由 Skill 规定步骤,再通过 MCP 读取数据或执行操作。

Skill 是可复用的做事方法

Skill 通常是一组带入口说明的文件。以 Agent Skills 的常见形式为例,目录里会有 SKILL.md,还可以附带参考资料、模板和脚本:

release-notes/
├─ SKILL.md
├─ references/
│  └─ writing-style.md
└─ scripts/
   └─ collect-changes.ts

入口文件描述它适合什么任务、执行顺序、判断标准和注意事项。Agent 在需要时加载这些内容,按照里面的流程完成工作。

因此,Skill 更接近一份可执行的工作手册:

  • 统一团队约定,例如提交信息和文档语气;
  • 固化多步骤流程,例如发布、巡检、数据清洗;
  • 打包领域知识、模板和本地脚本;
  • 告诉 Agent 何时使用已有工具,以及怎样组合工具。

它的核心价值不是增加一个新 API,而是减少每次从头解释工作方法的成本。

MCP 是连接能力的协议

MCP 即 Model Context Protocol。MCP server 可以暴露三类核心原语:供用户选用的 prompts、由应用管理的 resources,以及可由模型选择调用的 tools。宿主应用内部的 MCP client 负责与 server 通信,并决定哪些内容交给用户或模型;不是模型自己直接建立连接。具体产品可能只支持其中一部分能力。

Server 背后可能是 GitHub、数据库、浏览器、内部 CRM,也可能只是客户端按需启动的本机进程。

如果没有 MCP,也能为每个服务单独写 function calling 适配器;但服务一多,鉴权、连接、工具描述和返回格式都会重复。MCP 把“AI 应用如何连接外部系统”收敛到一套通用接口上。

它更关心这些问题:

  • 有哪些 prompts、resources 与 tools 可用;
  • 工具接收什么参数、返回什么结果;
  • 如何连接本地或远程 server;
  • 双方支持哪些协议能力,以及怎样发现数据和工具;
  • 身份认证、授权与调用边界如何处理。

MCP 的 prompts 可以提供模板,扩展也可以分发更完整的工作流,但协议不会自动保证业务顺序正确。一个名为 create_issue 的工具能创建 issue,“先复现、再去重、最后按模板建单”的顺序仍需要应用逻辑或 Skill 约束。MCP 也不会替业务实现权限:协议提供连接与授权机制,最终的租户隔离、参数校验和操作许可仍由宿主与 server 负责。

放在一起看就很清楚

维度SkillMCP
主要解决流程、知识与约定如何复用外部工具和数据如何接入
常见载体指令、参考文件、模板、脚本MCP server 暴露的 prompts、resources、tools
是否需要 server通常不需要需要 MCP server;本地 stdio server 可按需启动
数据新鲜度以包内内容为准可读取实时外部数据
能否执行操作可通过随附脚本或已有工具执行主要用途之一就是提供可调用能力
复用重点“怎样做对”“怎样连上并调用”
风险重点指令和脚本是否可信服务、权限、参数与返回数据是否可信

这张表是职责划分,不是硬性限制。Skill 可以带脚本,MCP 也可以暴露说明性数据;判断时看它主要解决的是流程复用,还是能力连接。

2026-07-28 版 MCP 规范还定义了可选的 Skills over MCP 扩展,用于通过 MCP 发现和获取 Skill。它改变的是 Skill 的分发方式,没有抹平两者的职责差异,而且需要客户端与 server 都显式支持该扩展。

一个实际组合

假设要做“处理线上告警”的 Agent:

Skill 可以写明:

  1. 先确认影响范围,不要看到错误就重启服务;
  2. 查询最近一次部署与相关变更;
  3. 收集日志、指标和链路;
  4. 给出假设,并用证据逐项排除;
  5. 任何回滚或扩容操作都要审批;
  6. 恢复后按模板补事件记录。

MCP servers 则提供具体能力:

  • 从监控系统读取指标;
  • 在日志平台执行查询;
  • 查看部署记录;
  • 创建事件工单;
  • 在批准后触发回滚。

只有 MCP,Agent 知道“手里有什么按钮”,却未必知道正确排障顺序;只有 Skill,它知道怎么排障,却拿不到实时指标。两者组合才是一条能跑起来的工作流。

什么时候只用 Skill

这些任务通常不值得单独搭 MCP server:

  • 按团队模板写周报;
  • 检查仓库是否符合目录规范;
  • 用本地脚本批量整理图片;
  • 根据固定清单做代码审查;
  • 把文档转换为约定格式。

共同点是资料和执行环境已经在本地,或者只需调用宿主原有能力。Skill 足以提供流程,不必额外增加网络服务和鉴权维护。

什么时候优先考虑 MCP

当任务需要跨系统、实时数据或受控写操作时,MCP 更合适:

  • 查询公司数据库或知识平台;
  • 操作项目管理、邮件、日历等 SaaS;
  • 让多种 AI 客户端复用同一套工具;
  • 把内部 API 包装成带 schema 的工具;
  • 在服务端统一执行权限和审计。

如果只有一个应用、三个很稳定的内部函数,直接使用 function calling 也可能更简单。MCP 的收益会随着客户端数量、工具数量和复用需求增加,并不是所有工具都必须改造成 MCP。

面试中常见的追问

Skill 和 prompt 有什么不同?

普通 prompt 往往服务于当前对话;Skill 是有触发条件、文件结构和版本管理的可复用能力包,还能携带参考资料和脚本。可以把 prompt 视为 Skill 的组成部分,但两者的生命周期和工程化程度不同。

MCP 和 function calling 有什么不同?

Function calling 描述模型如何产生结构化工具调用;MCP 规范宿主与外部 server 之间的通信、能力发现,以及 prompts、resources、tools 等原语。MCP 提供的 tool 最终也可能以模型工具调用的形式出现,两者处在不同层次。

Skill 能调用 MCP 工具吗?

可以,而且这是很自然的组合。Skill 规定什么时候查、查什么、如何验证;MCP 工具完成实际查询或写入。反过来,MCP server 不应该依赖某个 Skill 才能保证最基本的参数校验和权限控制。

哪一个更安全?

没有天然更安全的一方。安装 Skill 等于信任它的指令、脚本和引用内容;连接 MCP server 等于信任它提供的工具描述、返回数据和操作边界。两边都要校验来源、最小授权,并对高风险操作保留人工审批。

参考资料

Skill 和 MCP 的区别

https://setobox.me/blog/2026/skill-vs-mcp
作者
Setobox(姬顶盒)
发布于
许可协议
CC BY-NC-SA 4.0