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_command
      OpenAI Codex local_shell
    • 它通常不是直接“裸跑”在系统上,虽然工具是内置的,但大多数成熟的 Agent 会在执行时套上一层沙箱(Sandbox),而不是直接把命令扔给操作系统的 Shell。具体分几种情况:

      • 直接使用系统 Shell(较少):在某些简单配置下,Agent 确实会直接调用系统自带的 bash -c 或 powershell.exe 来执行。
      • 使用内置沙箱(主流):像 Claude Code 在 macOS 上会使用系统自带的 Seatbelt,在 Linux 上使用 bubblewrap 来隔离命令,限制它能读写的文件和网络访问。
      • 完全容器化(高隔离):像 OpenHands 或 Cursor 在某些模式下,会把命令放在 Docker 容器 里执行,甚至不让它直接碰到你本机的文件系统。
posted @ 2026-09-28 20:54  deyang  阅读(4)  评论(0)    收藏  举报