乐于分享
好东西不私藏

AI调用工具除了MCP还有CLI

AI调用工具除了MCP还有CLI

MCP 与 CLI · 工具调用对比

从 MCP 的工具清单说到 CLI 的 --help

MCP 先把工具说明暴露给 AI,CLI 则用 --help 按需展开用法。两者都在“看说明、填参数、拿结果”,但在上下文、权限和组合方式上各有取舍。

2026.08.22 · 阅读约 6 分钟 · 进阶

从前面几篇文章可以看出,MCP 可以先理解成一套把工具说明暴露给 AI,并提供给 Agent 调用的通道。Server 告诉 AI 有哪些工具、每个工具做什么、参数怎么填,Agent 根据任务选择工具并取得结果。

这和我们日常使用 CLI 命令行工具有相似之处。输入一个命令,再加上 --help 参数,工具会把自己的用法、选项和示例展示出来。Agent 看完说明以后,也能按格式调用命令。

MCP 与 CLI 的调用流程对比

01

PART

MCP 是先发现,再调用

DISCOVER · THEN · CALL

MCP 的工具发现有统一的协议入口。Client 通过 tools/list 获取工具清单,清单里通常包含工具名称、功能描述和 inputSchema。Agent 看完以后,再通过 tools/call 传入结构化参数。

例如,一个文件处理 Server 可以提供读取文件、搜索内容和生成报告等工具。Agent 不需要先记住命令格式,工具说明会随着 MCP 连接一起提供。工具的参数、权限和返回结果也可以按照统一方式交给 AI,Server 内部则可以连接 API、数据库或浏览器。

MCP 工具发现与调用

02

PART

CLI 是查看用法,再执行

HELP · THEN · RUN

CLI 的前提是环境里已经有一个可执行命令,或者 Agent 已经从 Skill、项目文档和环境信息中知道命令名称。它的用法通常通过 --help 按需展开

bash

Code

rg --help

Agent 看完帮助信息后,再执行具体命令。

bash

Code

rg "华东" 销售明细.txt

CLI 的优势在于轻量、直接、容易组合。命令可以通过 Shell 管道串联,也可以读取本地文件、生成文件,或通过 SSH 在远程服务器执行。它的短板也很明确,命令发现没有统一协议,参数解析依赖工具自身,权限、路径、引号和返回码都需要额外小心。

CLI 查看用法与执行

03

PART

既然 CLI 也能调用,MCP 还需要吗

WHY · MCP · STILL

看到这里,问题自然来了。既然 CLI 也能先查看用法,再执行命令,MCP 还需要吗?是不是只要其中一个就够了?

表面上看,两者都在做“看说明、填参数、拿结果”这件事。真正拉开差异的地方,主要在说明怎么进入上下文、权限怎么划分,以及 Agent 对这个工具到底熟不熟。

Token 消耗不只看工具本身

MCP 与 CLI 的 Token 和上下文对比

MCP 会把工具名、描述和参数 Schema 放进模型上下文。Server 越多,工具清单越大,消耗的上下文越多。

CLI 可以在需要时才执行 command --help,Shell 管道也能把中间结果留在本地。不过,帮助文本过长、一次返回整个文件时,CLI 同样会消耗大量 Token。适合 Agent 的 CLI,应该提供简短帮助,并支持 JSON 或 NDJSON 输出。

命令熟不熟,决定调用是否顺手

熟悉命令、陌生命令与 MCP 工具目录

gitlsgrepcurl 这类常见命令,模型见过大量示例,通常可以快速写出大致用法。版本差异和冷门参数仍然需要查 --help

企业自建 CLI 可能完全没有出现在训练材料里,Agent 只能通过命令列表、Skill、README、man 或 --help 重新学习。MCP 的优势在于工具名、描述和 Schema 会通过协议直接提供,模型不必猜参数格式。

权限边界,差别更明显

MCP 与 CLI 的权限边界对比

MCP 通常把能力拆成“读文件、发消息、建表”这样的明确工具,Host 可以加入授权、确认和审计,Schema 也能限制参数类型。边界更清楚,但安全性仍取决于 Server 和 Host 的实现。

CLI 可以读写文件、启动进程、访问网络,还能通过脚本和 SSH 扩大影响范围。因此更需要沙箱、白名单、最小权限--dry-run 和高风险操作确认。

组合执行,各有一套长处

CLI 组合执行与 MCP 跨系统编排

CLI 适合把搜索、筛选、转换和写入压缩成一条管道或一个脚本,减少 Agent 往返,让中间数据留在本地。

MCP 适合把文档、表格、浏览器和企业 API 放进同一套工具目录,再由 Host 处理连接与授权。调用可能多几轮,但跨系统协作和结构化结果更清楚。

所以,MCP 和 CLI 并不构成简单的替代关系。已经有成熟命令、需要本地批处理或远程运维时,CLI 往往更自然。需要统一发现、结构化参数、权限确认和跨系统接入时,MCP 更合适。MCP Server 内部可以包装 CLI,CLI 也可以直接调用 API,这属于实现选择,并非使用其中一个就必须安装另一个。

04

PART

为什么现在大家都在做 CLI

WHY · CLI · NOW

从上面的对比可以看出,在 AI 时代,CLI 命令同样是一种适合被 AI 使用的工具入口。它有清晰的参数、可查看的帮助和可组合的执行方式,既能被开发者直接调用,也能被 Agent 通过命令行完成本地和远程操作。随着 AI Agent 开始真正动手做事,CLI 也会成为产品提供能力时需要考虑的一层入口。

飞书已经开源 Feishu CLI,把文档、消息、日历、电子表格、知识库、邮件和联系人等能力放进 lark-cli。Google Workspace 也提供 gws,覆盖 Drive、Gmail、Calendar、Sheets、Docs、Chat 和 Admin。Stripe CLI 则把支付产品的开发、测试和管理搬到了终端。

这说明越来越多厂商在给自己的产品补一层 Agent 可调用的命令入口。CLI 方便落地,MCP 方便发现和治理。未来的工具可能同时提供网页、API、CLI 和 MCP,Agent 根据任务、权限和运行环境选择合适的入口。

回到最开始的问题,MCP 是标准化的工具发现与连接方式,CLI 是可执行的工具入口。Agent 可以先通过 MCP 看工具清单,也可以直接运行 CLI 的 --help。两者看起来都能“看说明、调工具”,但在上下文、权限、熟悉度和组合方式上各有取舍。

THE END

如果这篇文章对你有帮助

每周分享 AI 干货、工具与实战案例

点赞收藏 · 下篇见