# Tool、Skill、MCP、Plugin，到底什么关系？

> 帮我整理今天收到的邮件：找出重要邮件，把广告归档，然后给我一个总结。

Agent 收到这句话，会先列步骤：搜索、阅读、分类、处理、总结。

接下来拆开它的执行过程，看 Tool、Skill、MCP 和 Plugin 分别负责哪一步。

## 1. Tool：先让 Agent 能动手

计划已经有了，可 Agent 看不到 Gmail，也不能把邮件归档。

这时需要 Tool，也就是 Agent 可以直接调用的一项动作：

```text
search_email(query)
read_email(id)
archive_email(id)
```

![第一块积木 Tool：Agent 决定何时调用，Tool 负责执行具体动作](https://herblab.online/qwen-imgs/agent-concepts-01-tool-v1.png)<!-- display-width:600 -->

看图时只抓两点：Agent 决定用哪个 Tool、传什么参数；Tool 负责执行并返回结果。

搜索和读取通常只获取信息，归档、发送、删除会改变外部状态。真实产品还要检查权限，必要时等用户确认。

## 2. Skill：把做事方法保存下来

有了 Tool，Agent 已经能操作邮箱。但每次都临场安排，步骤和输出很容易变化。

Skill 用来保存一套可以重复执行的方法。在 OpenAI 和 Codex 当前的实现里，它通常是一个包含 SKILL.md 的文件夹，还可以附带脚本、参考资料和模板。[官方 Skill 说明](https://developers.openai.com/plugins/concepts/skills)也把重点放在工作流、判断条件和完成标准上。

![第二块积木 Skill：用 SKILL.md 保存可复用的任务方法](https://herblab.online/qwen-imgs/agent-concepts-02-skill-v1.png)<!-- display-width:600 -->

Skill 会告诉 Agent 先搜索、再阅读、何时归档、最后怎样总结。真正调用 Tool 的还是 Agent。

![Tool 和 Skill 对比：Agent 调用 Tool 执行动作，Skill 指导 Agent 怎样组合多个动作](https://herblab.online/qwen-imgs/agent-concepts-06-tool-skill-compare-v1.png)<!-- display-width:640 -->

左边的 Tool 解决“做一下”，右边的 Skill 解决“这件事应该怎么做”。一份 Skill 可以指导多个 Tool，也可以只靠说明和模板完成任务。

## 3. MCP：把外部能力接进来

接完 Gmail，还想接 GitHub、Notion 和数据库。每个平台都用自己的接法，客户端会越来越难维护。

MCP 是 Model Context Protocol，一套连接 AI Client 与外部工具、数据的开放协议。按协议提供能力的程序叫 MCP Server。大家说“Gmail MCP”时，通常指 Gmail MCP Server。

![第三块积木 MCP：MCP 是协议，MCP Server 可以提供 Tool](https://herblab.online/qwen-imgs/agent-concepts-03-mcp-v1.png)<!-- display-width:600 -->

这张图解决三个易混点：

- MCP 是协议，MCP Server 是能力提供者；
- Server 可以一次提供多个 Tool；
- Tool 也能直接注册给 Agent，不一定经过 MCP。

MCP Server 还可以暴露 Resource、Prompt 和 Instructions，本文只讨论最常见的 Tool。完整边界见 [OpenAI MCP Server 说明](https://developers.openai.com/plugins/concepts/mcp-server)和 [MCP 官方规范](https://modelcontextprotocol.io/specification/latest)。

## 4. Plugin：把相关能力整套装上

整理邮箱现在需要一份 Skill、一条 Gmail MCP 连接，也可能带着图标、Hooks 和其他资源。如果分享给别人时还要逐项配置，安装体验会很碎。

Plugin 把这些相关能力组织成一个可以安装和分发的包。

![第四块积木 Plugin：把相关能力组织成可安装、可分发的包](https://herblab.online/qwen-imgs/agent-concepts-04-plugin-v1.png)<!-- display-width:600 -->

以 OpenAI 当前的体系为例，Plugin 可以只带 Skill，也可以带 MCP Server，或者同时包含两者。[官方 Plugin 架构](https://developers.openai.com/plugins/concepts/plugins)没有规定固定组合。

Plugin 负责把能力装进来。任务开始以后，Agent 直接使用已经可见的 Skill 和 Tool，不需要先“调用 Plugin”。

## 5. 放进一棵关系树

四个概念混在一起，是因为“任务怎样运行”和“能力怎样安装”经常被画在同一条线上。拆成左右两棵树就清楚了。

![同一套能力的两棵关系树：左边看运行时，右边看安装时](https://herblab.online/qwen-imgs/agent-concepts-07-relationship-tree-v1.png)<!-- display-width:680 -->

左边是运行时：Host / Runtime 承载 Agent；Skill 指导它；Agent 调用 Tool；Tool 可能来自本地，也可能由 MCP Server 提供。

右边是安装时：Plugin 把 Skill、MCP 连接和其他资源装进 Host / Runtime。

Workspace 没放进树里。这个词有时指项目目录，有时指团队和权限边界，不是四个概念之后固定存在的“第五层”。

## 6. 邮箱任务真正怎样跑

回到开头那句话：

1. Agent 发现 organize-inbox Skill 与任务匹配，读取其中的方法。
2. Skill 要求先搜索，Agent 选择 search_email Tool。
3. 这个 Tool 来自 Gmail MCP Server，请求通过 MCP 发给 Server。
4. Server 访问 Gmail 并返回结果，Agent 继续阅读和分类。
5. 遇到归档动作时，Host 按权限与确认策略决定是否执行。

![整理邮箱的运行过程：Skill 指导 Agent，Agent 调用 Tool，MCP Server 提供其中一部分 Tool](https://herblab.online/qwen-imgs/agent-concepts-05-runtime-flow-v1.png)<!-- display-width:680 -->

图里使用的是 MCP Tool。换成本地 Tool，请求不会经过 MCP Server。Plugin 也不在这条调用链里，因为它的工作已经在安装阶段完成。

## 7. 还是分不清，就走这棵判断树

不用先背定义。看到一个新东西，先问它的主要职责是什么。

![按主要职责判断：执行动作是 Tool，保存方法是 Skill，提供能力是 MCP Server，整套分发是 Plugin](https://herblab.online/qwen-imgs/agent-concepts-08-decision-tree-v1.png)<!-- display-width:680 -->

同一个项目可以同时出现四种：Plugin 里放着 Skill 和 MCP 连接，MCP Server 再提供多个 Tool。它们是分工，不是互斥选项。

## 8. OpenAI / Codex 里还有三个实现细节

下面是产品当前的具体做法。只想理解概念，可以停在第 7 节。

- Skill 如果必须依赖某个 MCP Server，可以在 agents/openai.yaml 中声明；工作步骤仍写在 SKILL.md 里。[Build skills](https://developers.openai.com/plugins/build/skills)
- 每个 OpenAI Plugin 都有 .codex-plugin/plugin.json，Skill、MCP 连接、Hooks 和素材按需加入。[Package your plugin](https://developers.openai.com/plugins/build/plugins)
- Plugin 提交时可以从 MCP Server 导入 Skill 文件，但导入的是 Draft 快照。运行任务时不会反复拉取；更新后要重新扫描。

回到最开始的邮箱任务：Tool 负责搜索、读取和归档；Skill 保存整理方法；MCP Server 把 Gmail 能力接进来；Plugin 把相关能力整套安装；Host / Runtime 让它们跑起来。

## 参考资料

- [OpenAI：Plugin architecture](https://developers.openai.com/plugins/concepts/plugins)
- [OpenAI：Skills](https://developers.openai.com/plugins/concepts/skills)
- [OpenAI：MCP server](https://developers.openai.com/plugins/concepts/mcp-server)
- [OpenAI：Build skills](https://developers.openai.com/plugins/build/skills)
- [OpenAI：Package your plugin](https://developers.openai.com/plugins/build/plugins)
- [Model Context Protocol：Specification](https://modelcontextprotocol.io/specification/latest)

---

完整网页版本、清晰原图、Word 和离线 HTML：
[Tool、Skill、MCP、Plugin，到底什么关系？｜文潇的技术博客](https://aiarchblog-6hz4s01hv.maozi.io/articles/tool-skill-mcp-plugin-explained/)
