MCP和Skill区别、 MCP和CLI区别
MCP和Skill区别
MCP 负责“能连什么”,Skill 负责“会怎么做”。
| 简单概括 | 准确对应 |
|---|---|
| MCP 是调用工具 | MCP 提供的是能力接口(Tools/Resources),解决“AI 能操作什么外部系统” |
| Skill 是执行过程 | Skill 提供的是流程知识(怎么做、按什么步骤、注意什么),解决“AI 该怎么完成任务” |
用一句话对比:
- MCP = 给你一把锤子(你有了敲钉子的能力)
- Skill = 告诉你怎么敲、先敲哪、力度多大(你知道怎么把这件事做好)
为什么这个区分很重要?
因为很多任务失败,不是 AI “没有能力”,而是 AI 有工具但不知道怎么用。
举例:
- 只有 MCP:AI 能连上你的数据库,但可能写出一条全表扫描的慢查询,或者查错表。
- 只有 Skill:AI 知道“查订单要先按日期过滤”,但它连不上数据库,只能纸上谈兵。
- MCP + Skill:AI 知道该连数据库,也知道该怎么查,才能真正把活干好。
MCP和CLI区别
| 能力形式 | 服务方要提供什么 | 用户(Agent 所在电脑)要装什么 |
|---|---|---|
| MCP | 一个 MCP Server(本地进程或远程 URL) | 配置连接信息(Host 自动连) |
| CLI | 一个 CLI 命令行包(如 npm/pip/brew 包) | 在本机安装这个 CLI 命令 |
Agent 怎么用?
-
MCP 方式:Agent 的 Host 里已经内置了 Client,这个Client可以连接所有的MCP Server(类似一个Client类,每次连接一个Server创建一个Client对象进行连接),配置好 Server 后,Client 连上去,Agent 就能通过协议调用工具。用户不用单独“安装”什么运行时,只需要配置。
-
公司 A(Host,如 Claude)→ 它的 MCP Client → 连向 10 个 MCP Server 公司 B(Host,如 Cursor)→ 它的 MCP Client → 连向 10 个 MCP Server ... 公司 E(Host,如 Copilot)→ 它的 MCP Client → 连向 10 个 MCP Server
-
-
CLI 方式:Agent 的模型天生就知道这些命令怎么敲(因为模型训练的时候学过),要能运行这些命令的话,前提是这台电脑上已经装好了对应的 CLI 命令。Agent 通过 Shell 工具直接执行,就像你在终端里敲一样。
-
Shell 工具通常由 Agent 内置,但它的执行环境不一定直接“裸露”在操作系统上。
- Shell 工具是 Agent 程序内置的组件,但它在执行时,通常会利用操作系统提供的能力(或容器)来创造一个受限制的运行环境,而不是毫无防备地直接调用系统 Shell。
-
模型本身只会输出文本(比如
ls -la),它无法自己把这段文本变成系统调用。必须有 Agent 框架提供一个“执行器”来接收模型的指令并运行命令。不同的 Agent 给这个内置工具起的名字不一样:Agent Shell 工具名称 Claude Code 内置的 Sandboxed Bash tool Gemini CLI run_shell_commandOpenAI Codex local_shell -
它通常不是直接“裸跑”在系统上,虽然工具是内置的,但大多数成熟的 Agent 会在执行时套上一层沙箱(Sandbox),而不是直接把命令扔给操作系统的 Shell。具体分几种情况:
- 直接使用系统 Shell(较少):在某些简单配置下,Agent 确实会直接调用系统自带的
bash -c或powershell.exe来执行。 - 使用内置沙箱(主流):像 Claude Code 在 macOS 上会使用系统自带的 Seatbelt,在 Linux 上使用 bubblewrap 来隔离命令,限制它能读写的文件和网络访问。
- 完全容器化(高隔离):像 OpenHands 或 Cursor 在某些模式下,会把命令放在 Docker 容器 里执行,甚至不让它直接碰到你本机的文件系统。
- 直接使用系统 Shell(较少):在某些简单配置下,Agent 确实会直接调用系统自带的
-
浙公网安备 33010602011771号