MCP伪需求与CLI真价值深度对比
当 Anthropic 推出 Model Context Protocol(MCP)时,整个行业一度沸腾——但冷静审视后必须追问:一个专为大语言模型设计的协议,真的比数十年打磨的命令行工具更适合智能体调用吗?
今天带来的这篇文章,核心观点非常明确:MCP(模型上下文协议)并非必需品,传统的 CLI(命令行工具)才是 LLM 工具调用的更优选择。
文章从多个维度论证了这一判断:大语言模型天然擅长使用命令行工具,无需专用协议;CLI 具备可调试性、可组合性、成熟的统一认证机制,以及“即用即走”的低运维负担,远胜于 MCP 这类需要常驻进程、依赖 JSON 日志排错的抽象层。文章也承认,MCP 在部分缺少 CLI 的场景下仍有价值,但警示开发者不应本末倒置——在没有提供基础 CLI 和 API 之前,优先投入资源构建 MCP 服务器。
先下一个大胆的断言:MCP 大势已去。 或许我们尚未完全意识到,但种种迹象早已显现。OpenClaw 不支持它,Pi 也不支持它。而这一切绝非偶然。
当 Anthropic 推出 Model Context Protocol 时,整个行业为之狂热。各大公司争先上线 MCP 服务器,只为证明自己拥抱“AI first”理念。大量资源涌入新 API 接口、新传输格式、新授权机制——这番折腾仅仅是为了让 LLM 对接那些它们原本就能调用的服务。
坦诚地说,许多人始终未能真正理解其必要性。但你知道 LLM 最擅长什么吗?是独立解决问题。只需给它一个 CLI 和几份文档,它便能完成复杂任务。
必须强调,这并非一时冲动下的结论。如今可以确信:MCP 并未带来实际收益,没有它我们反而更高效。且听详细拆解。
01 大语言模型无需特殊协议
大语言模型极其擅长使用命令行工具。 它们的训练数据包含数百万条手册页面、Stack Overflow 回答以及堆满 shell 脚本的 GitHub 仓库。当让 Claude 执行 gh pr view 123 时,它直接就能完成。
MCP 曾许诺提供更简洁的接口,但在实际运用中,最终仍需编写同样的文档:说明每个工具的作用、接受哪些参数,更重要的是何时使用。大语言模型根本不需要新协议。
02 命令行界面同样服务于人类
当 Claude 对 Jira 作出意外操作时,可以运行相同的 jira issue view 命令,精确复现它所看到的内容。输入一致,输出一致,毫无玄机。
而在 MCP 中,工具仅存在于 LLM 对话内。 一旦出现问题,就得深挖 JSON 传输日志排查故障,而不是自己运行一下命令了事。调试工作不该依赖协议解码器。
03 组合能力是分水岭
差距在此拉开。CLI 天生可组合:通过管道将输出传给 jq 处理,与 grep 链式组合,或重定向到文件。这不只是便利,常常是唯一可行的方案。
试想分析一个庞大的 Terraform plan:
terraform show -json plan.out | jq '[.resource_changes[] | select(.change.actions[0] == "no-op" | not)] | length'
使用 MCP,选择要么是将整个计划转储到上下文窗口(成本高昂且通常不可行),要么在 MCP 服务器内部构建自定义过滤。无论哪种,都费力不讨好。 而 CLI 方案使用现成工具,文档齐全,人类和智能体都能理解。
04 认证机制早已成熟
MCP 在认证问题上多此一举。 一个为 LLM 提供工具的协议,为何要操心认证?
CLI 工具对此毫不在意。aws 使用 profiles 和 SSO。gh 使用 gh auth login。kubectl 使用 kubeconfig。这些都是经过实战检验的认证流程,无论在键盘前操作,还是由 Claude 调用,运行效果相同。认证出问题,按老办法解决:aws sso login、gh auth refresh,完全不需要针对 MCP 排查。
05 无多余运转部件
本地 MCP 服务器是常驻进程。 它们需要启动、持续运行,并且不能悄无声息地卡死。在 Claude Code 中,它们被拉起为子进程,平时看似正常,一出问题就崩溃。
CLI 工具只是磁盘上的二进制文件。 没有后台进程,没有需要管理的状态,没有初始化流程。需要时它们就在那里,不需要时绝不碍事。
06 实际痛点
除了设计理念问题,MCP 在日常使用中确实存在不便:
初始化不稳定。 数不清有多少次因为 MCP 服务器未启动而重启 Claude Code。有时重试能解决,有时需要清空状态重新开始。
重复认证无休无止。 使用多个 MCP 工具?那就享受每个都认证一遍的体验。而使用 SSO 或长期凭证的 CLI 工具根本没有这个问题。认证一次,一劳永逸。
权限控制非黑即白。 Claude Code 允许按名称将 MCP 工具加入白名单,但仅此而已。无法限制为只读操作,也无法约束参数。换作 CLI,可以将 gh pr view 设为白名单,但 gh pr merge 需人工审批授权。这种细粒度控制至关重要。
07 何时使用 MCP 才合理?
这并不代表 MCP 毫无价值。 如果某个工具确实没有对应的 CLI,MCP 可能是合适的选择。在日常工作中,它仍是常用选项,很多时候是唯一可用的方案。
标准化接口确实有一定价值,某些场景比 CLI 更合适。
但对于绝大多数工作,CLI 更简单、调试更迅速、运行更可靠。
08 真正的启示
最好的工具,是既能服务于人、也能服务于机器的工具。 CLI 经过几十年的设计迭代。它们可组合、可调试,且能复用现有认证系统。
MCP 试图构建一个更好的抽象层。结果发现,我们本已拥有一个相当优秀的方案。
09 致产品构建者
如果公司正在投入资源构建 MCP 服务器,却连一个官方 CLI 工具都没有,那很可能本末倒置。先问问自己:是不是该先把更基础、更通用的 CLI 做好?先交付一个好用的 API,再基于这个 API 开发一个好用的 CLI 工具。不需要为智能体单独搭建 MCP 服务器这样复杂的东西——只要把 API 和 CLI 做好,智能体有能力自己学会使用,无需额外操心。
END
