当前位置: 首页 > article >正文

MCP与CLI之争:AI Agent的协议之辩

MCP vs CLIAI Agent 的协议之辩2026年2月底到3月AI 开发者社区爆发了一场关于 AI Agent 工具调用方式的激烈争论。一方说MCP 已死CLI 万岁另一方说MCP 没死我们只是太早了。而飞书、钉钉、企业微信在同一周内开源各自的 CLI用实际行动给出了第三种答案。一、争论的起点一句MCP 是个错误2026年1月OpenClaw 创始人 Peter Steinberger 在 X 上发了一条推文mcp were a mistake. bash is better.这条推文在 AI 开发者社区埋下了一颗种子。一个月后Eric Holmes 发布博文《MCP is dead. Long live the CLI》从六个维度系统论证 CLI 优于 MCP引发了广泛讨论。随后 Jannik Reinhard 发布实测数据Matt Hall 发布反驳文章中文社区的掘金、头条上也出现了大量分析——这场争论在钉钉、飞书开源 CLI 时达到高潮。二、唱衰 MCP 的三个核心论点2.1 Token 吞噬上下文效率的致命差距Jannik Reinhard 用实测数据揭示了 MCP 最尖锐的问题——上下文吞噬。一个 GitHub MCP Server 需要将 93 个工具的完整 Schema 注入模型上下文总计约55,000 tokens——还没问任何问题上下文就没了将近一半。多个 MCP Server 叠加轻松突破15 万 tokens。他在 Intune 设备合规检查任务上做了并行对比指标MCP 方案CLI 方案差距Schema 注入~28,000 tokens0 tokens—推理 调用~3,200 tokens~800 tokens4x50 台设备处理总消耗~145,000 tokens~4,150 tokens35 倍CLI 方案的 Agent 有 95% 的上下文窗口留给实际推理而 MCP 方案的 Agent 大量精力花在解析 Schema 上。为什么 CLI 更省因为 AI 模型在数十亿行终端交互上训练过——Stack Overflow 答案、GitHub 仓库、man page。当你说gh pr view 123模型天然理解。而 MCP Schema 是模型运行时第一次见到的自定义抽象需要额外的认知开销去理解。社区基准测试也证实了这一点CLI 的任务完成率高出 MCP 约 28%Token 效率得分高出 33%。2.2 调试地狱看不见的工具Eric Holmes 指出了 MCP 的可调试性问题CLI 对人类可见而 MCP 工具只存在于 LLM 对话内部。# CLI出问题了我自己跑一遍就知道 $ gh pr view 123 # 看到和 Agent 一样的输出 # MCP出问题了你得翻 JSON 传输日志 # 工具调用隐藏在 LLM 对话流里 # 没有 自己跑一遍 的选项这个痛点很真实。MCP 把工具调用封装在协议层后面人类开发者失去了复现 Agent 行为的能力。2.3 工程摩擦部署之痛初始化不稳定MCP Server 启动失败、Claude Code 里冒出 100 僵尸 Node 进程认证繁琐每个 MCP Server 单独认证没有 SSO权限粗暴all-or-nothing无法区分查看和删除的风险等级协议动荡从 STDIO → SSE → Streamable HTTP兼容性混乱三、为 MCP 辩护我们只是太早了Matt Hall 的反驳文章《MCP Isnt Dead. Were Just Early.》代表了另一派观点。3.1 CLI 自身的问题被低估了输出不稳定CLI 输出格式随意、版本间无警告就变更Agent 误读时没有契约可验证管道的脆弱性grep | jq | awk对人类来说灵活但无类型管道容易静默失败Agent 链式调用时边缘情况频发认证无法延伸gh auth login对单个开发者够用但无法支持多 Agent 协作、权限委派、Token 撤销3.2 MCP 的价值在于结构化契约Matt Hall 的核心论点是MCP 的价值不是传输层而是契约层。类比 OpenAPI 对 REST 的作用在 OpenAPI 之前一千个 API 有一千种风格OpenAPI 给了 REST 一个标准契约让工具链、文档、测试都变得可用。MCP 在做同样的事——给 Agent-工具交互一个机器可验证的结构化契约。当 MCP Server 暴露一个接口时Agent 能获得可用操作列表、参数结构、返回值类型。这比读一段文档然后猜要可靠得多。3.3 从本地守护进程到托管基础设施Matt Hall 还指出了 MCP 的演进方向Streamable HTTP OAuth 2.0。早期 MCP 的问题是 Server 跑在本地——需要安装、管理、排障。但当 MCP Server 变成托管服务像 Linear、Granola 已经在做的用户不需要安装任何东西指向一个 URL 完成 OAuth 就连上了。维护负担消失了。这就像 REST API 早期也被吐槽太多开销但最终证明底层抽象值得标准化。四、实践中的答案MCP 是协议CLI 是实现如果只看社区争论你会觉得这是非此即彼的选择。但飞书、钉钉、企业微信的 CLI 开源给出了一个更务实的答案——MCP 和 CLI 不在同一层它们是协议与实现的关系。4.1 重新理解分层MCP 负责 integration集成层标准化暴露能力、治理权限、工具发现CLI 负责 execution执行层面向用户和 Agent 的命令行壳、结构化输出、本地脚本4.2 三家平台的实际架构印证了这一点钉钉 dwsCLI 外壳下是完整的 MCP Client。它从 MCP 市场拉取服务注册表通过 MCPinitializetools/list握手发现能力再通过 MCP JSON-RPC 执行调用。CLI 只是把 MCP 的能力翻译成了dws calendar event list这样的命令行格式。企业微信 wecom-cli同样是一个 MCP Client 的 CLI 壳。Rust 核心通过 JSON-RPC 与服务端通信npm 层做跨平台分发。飞书 larksuite/cli虽然没用 MCP 协议名但做的事情等价——从 OpenAPI 元数据构建命令树服务端定义能力CLI 透传调用。本质上也是协议层 实现层的分层。4.3 回看社区争论两边都没错但都只说了一半论点CLI 派说得对的部分MCP 派说得对的部分Token 效率✅ CLI 不注入 Schema上下文更轻⚠️ 但如果 CLI 文档不好Agent 会猜错可调试性✅ CLI 对人类可见可复现⚠️ MCP 的结构化契约让错误可验证可组合性✅ 管道是 Linux 五十年的积累⚠️ 无类型管道对 Agent 容易静默失败认证✅ CLI 的 auth 已经很成熟⚠️ 无法延伸到多 Agent、多租户场景部署复杂度✅ 本地 MCP Server 确实不稳定⚠️ 托管 MCP 会消除这个问题两边说的都是真实的痛点但解决方案不是二选一——而是分层组合。五、Token 效率这场争论中最硬的数据Token 效率是整个争论中最有说服力的维度。ScaleKit 的 benchmark 数据给出了量化的结论指标CLIMCP差距Token 消耗基准9-32 倍MCP 多出一个数量级成本基准17 倍MCP 贵得多失败率0%有明确失败率MCP 更不可靠这个差距的根本原因是CLI 把知识放在了模型的训练数据里数十亿行终端交互而MCP 把知识放在了运行时的上下文窗口里每个 Server 的 Schema 定义。前者是一次性成本训练时已经付了后者是每次调用都要付的持续成本。六、Trevin Chow 的七个原则Agent 友好的 CLI 长什么样这场争论催生了一个建设性的产出——Trevin Chow 在构建多个为 Agent 优化的 CLI 后总结了七个设计原则默认非交互不要弹交互式提示Agent 无法处理结构化可解析输出--format json是标配不要只给人类可读的表格快速失败 错误可操作报错要告诉 Agent 怎么修而不是只说失败了安全重试 明确变更边界幂等操作、dry-run 预览渐进式帮助发现--help和子命令帮助让 Agent 按需获取信息可组合 可预测结构输出格式一致可被管道串联有界 高信噪比响应限制输出量不要把整个数据库 dump 出来这些原则的核心洞察是每一条同时让 CLI 对人类更好——结构化输出、操作错误、有界响应不是对 Agent 的妥协而是一直应该做的设计。七、结论不是二选一而是分层回到最开始的问题MCP 和 CLI 到底谁赢了答案是都不完全对。正确的理解是MCP 不会死但会退到它该在的位置——作为集成层的标准化协议负责能力暴露、权限治理、工具发现CLI 不是万能的但它是面向 Agent 和人类的最佳执行入口——轻量、可调试、Token 高效最优架构是两者组合MCP 负责 integrationCLI 负责 execution飞书、钉钉、企业微信已经在实践这个分层了。它们的 CLI 外壳下面跑的都是 MCP 协议或等价的 OpenAPI 元数据驱动只是把 MCP 的能力翻译成了更友好的命令行格式。社区争论了一个月最后发现大厂早就想清楚了——协议和实现从来就不是对立的。学习资源推荐如果你想更深入地学习大模型以下是一些非常有价值的学习资源这些资源将帮助你从不同角度学习大模型提升你的实践能力。一、全套AGI大模型学习路线AI大模型时代的学习之旅从基础到前沿掌握人工智能的核心技能​因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取二、640套AI大模型报告合集这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示​因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取三、AI大模型经典PDF籍随着人工智能技术的飞速发展AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型如GPT-3、BERT、XLNet等以其强大的语言理解和生成能力正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取四、AI大模型商业化落地方案作为普通人入局大模型时代需要持续学习和实践不断提高自己的技能和认知水平同时也需要有责任感和伦理意识为人工智能的健康发展贡献力量。

相关文章:

MCP与CLI之争:AI Agent的协议之辩

MCP vs CLI:AI Agent 的协议之辩 2026年2月底到3月,AI 开发者社区爆发了一场关于 AI Agent 工具调用方式的激烈争论。一方说"MCP 已死,CLI 万岁",另一方说"MCP 没死,我们只是太早了"。而飞书、钉钉…...

10.4测试原则-阶段-测试用例设计-调试

一、测试基础知识 00:02 1. 测试原则和方法 01:03 定义:系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误的测试。目的:测试不能保证软件100%无错误,但能降低软件存在问题的…...

GPLT L3-042 ‘污染大亨’暴力DFS只拿1分?聊聊竞赛中‘优化剪枝’的思维起点与常见误区

从暴力DFS到优化剪枝:竞赛选手的算法思维跃迁指南 在程序设计竞赛中,我们常常会遇到这样的困境:面对一道看似只能暴力解决的题目,提交后却只得到可怜的1分。这就像原文作者在GPLT L3-042"污染大亨"题中的遭遇——一个简…...

介绍一下多 Agent 如何实现工作?多个 Agent 之间如何协调和分工?

1. 题目分析 一个 Agent 能做的事情终归有限。当你试图让单个 Agent 去完成一个真正复杂的任务——比如从零开始做一次完整的市场调研并输出 PPT 报告——你会发现它要么因为上下文窗口塞满而"失忆",要么因为角色定位太泛而每一步都做得半吊子。这就像让…...

别再数据线了!用FastAPI 分钟搭个局域网文件+剪贴板神器颂

为 HagiCode 添加 GitHub Pages 自动部署支持 本项目早期代号为 PCode,现已正式更名为 HagiCode。本文记录了如何为项目引入自动化静态站点部署能力,让内容发布像喝水一样简单。 背景/引言 在 HagiCode 的开发过程中,我们遇到了一个很现实的问…...

运维进阶!Zabbix 高可用集群部署实战指南,从零搭建企业级监控系统

1. 为什么需要Zabbix高可用集群? 在企业生产环境中,监控系统的稳定性直接关系到整个IT基础设施的可观测性。想象一下,当你的监控系统突然宕机,所有服务器、网络设备、应用程序的运行状态瞬间"失明",这种场景…...

轻型民用无人机安全操控指南:法规解读与实践应用

1. 轻型民用无人机法规基础解读 第一次接触无人机时,我和很多新手一样兴奋地想要马上起飞,直到在公园被保安拦下才知道需要遵守飞行规则。现在每次看到新手飞友准备"黑飞",我都会主动提醒他们先了解法规。目前我国对轻型民用无人机…...

环形粘结钕铁硼磁钢单边壁厚可以做成多薄?

大家都知道粘结钕铁硼因其独特的性能被广泛使用在电机、电器等产品中,小编接触磁铁一年多了,在这期间,有不少客户问道,你们粘结钕铁硼单边壁厚最小可以做成多薄?在介绍这个问题前,首先介绍下什么是“单边壁…...

技术管理者必看:程序员考核的痛点与解决方案

作为技术管理者,你是否曾为程序员考核而头疼不已?每年或每季度,当绩效评估季来临,你是否也面临以下困境: 难以客观评估每一位程序员的真实贡献? 考核结果总是引发争议,甚至导致团队不满和人才流…...

Redis持久化:从AOF到RDB,如何实现数据不丢失?耐

Qt是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本笔记将重点介绍QSpinBox数值微调组件的常用方法及灵活应用。…...

西门子S7-威纶通触摸屏一拖三恒压供水全套图纸程序设计

一拖三恒压供水全套图纸程序 威纶通触摸屏 西门子s7-搞过恒压供水项目的都知道,最头疼的不是写程序本身,而是怎么让三台水泵像接力赛一样丝滑切换。今天咱们拆解一个西门子S7-1200搭配威纶通MT8071iE的典型方案,重点看几个关键代码段。系统…...

vue3 父组件向子组件传参

vue3中父组件向子组件传递参数,核心方案是:父组件用 v-bind 绑定数据,子组件用 defineProps 接收数据(组合式 API 语法)。即:v-bind 传 (父) defineProps 收(子&#xff…...

彻底告别OpenClaw使用焦虑:我给他装上了“透视眼”和“批量克隆模组褪

指令替换 项目需求:将加法指令替换为减法 项目目录如下 /MyProject ├── CMakeLists.txt # CMake 配置文件 ├── build/ #构建目录 │ └── test.c #测试编译代码 └── mypass2.cpp # pass 项目代码 一,测试代码示例 test.c // test.c #includ…...

混合储能系统与光储微网Simulink仿真:下垂控制与2021A以上版本的应用

混合储能系统/光储微网/下垂控制/Simulink仿真 注意版本2021A以上!!!! 由光伏发电系统和混合储能系统构成直流微网。 混合储能系统由超级电容器和蓄电池构成,通过控制混合储能系统来维持直流母线电压稳定。 混合储能系…...

Python 批量导出数据库数据至 Excel 文件页

简介 langchain专门用于构建LLM大语言模型,其中提供了大量的prompt模板,和组件,通过chain(链)的方式将流程连接起来,操作简单,开发便捷。 环境配置 安装langchain框架 pip install langchain langchain-community 其中…...

Shell应用手册(一) 3.Linux环境搭建全攻略:虚拟机/云服务器/本地容器三种方式全覆盖

对于程序员、运维工程师或Linux学习者而言,搭建一个稳定、高效的Linux环境是开展工作和学习的基础。目前主流的搭建方式主要有三种:虚拟机(适合本地学习练手)、云服务器(适合线上部署、远程访问)、本地容器…...

DB1-05S05D 与 B0505D-1WR3 适配性实测|工业电源选型无改板替换指南

在工业控制、仪器仪表、通信设备等场景的电源选型中,DB1-05S05D和B0505D-1WR3两款隔离型DC-DC电源模块,因相同的电压规格与封装形式,均成为工程师的常用选择。两者核心电气参数与应用场景高度契合,均可适配各类常规工业设备的供电…...

STM32上FreeRTOS移植踩坑实录:从SysTick被占用到heap_4.c选择,我的避坑指南

STM32上FreeRTOS移植实战避坑指南:从时钟源选择到内存管理优化 1. 时钟源配置:当SysTick被FreeRTOS占用后 在STM32上移植FreeRTOS遇到的第一个"坑"往往与系统时钟源有关。许多开发者习惯使用SysTick作为系统时钟基准,但在启用FreeR…...

Shell应用手册(一) 4.常见Shell版本(bash、zsh、sh,运维主流bash详解)

在Linux/Unix系统中,Shell是用户与内核交互的桥梁,是执行命令、编写脚本的核心工具。对于运维工程师而言,熟练掌握Shell版本的特性与使用方法,是提升工作效率、实现自动化运维的基础。本文将先梳理最常见的3种Shell版本&#xff0…...

OpenPLC Editor:重新定义工业自动化编程的开源解决方案

OpenPLC Editor:重新定义工业自动化编程的开源解决方案 【免费下载链接】OpenPLC_Editor 项目地址: https://gitcode.com/gh_mirrors/ope/OpenPLC_Editor 在工业自动化领域,传统PLC编程软件往往面临高昂的授权费用、封闭的生态系统和有限的技术支…...

使用Spring AI Alibaba构建智能体Agent卦

背景 在软件开发的漫长旅途中,"构建"这个词往往让人又爱又恨。爱的是,一键点击,代码变成产品,那是程序员最迷人的时刻;恨的是,维护那一堆乱糟糟的构建脚本,简直是噩梦。 在很多项目中…...

filezilla求助

求助各位,filezilla一直这样连接不上,之前是连接成功之后就超时,按网上说的关了防火墙,把设置改为主动,然后禁用超时,就一直这样了,我们老师的源代码和交作业都要用ftp,真没办法了...

华一拼团热度背后:中小商家的「流量狂欢」与「经营基本功」思考

当拼团成为现象,我们该关注什么?近半年来,一种以“低门槛参与、阶梯式激励、复购循环”为核心的拼团模式在商家圈引发讨论。其中,“华一拼团”因快速起量和广泛传播,成为观察中小商家经营心态的一个切口——在获客成本…...

精华贴分享|【实操分享】花了2000块,用AI把A股前600家公司的基本面全筛了一遍

本文来源于量化小论坛策略分享会板块精华帖,作者为皮蛋瘦肉粥,发布于2026年3月20日。以下为精华帖正文:2019年,幻方科技的梁文锋在金牛奖颁奖典礼上说了一段话:"现在量化赚的是技术面流派原来赚的钱,未…...

俄罗斯电商经营风险高?Captain AI为你的出海之路兜底

俄罗斯电商市场的红利很可观,但背后的经营风险也无处不在:平台合规风险、税务稽查风险、外汇管制风险、清关风险、知识产权风险、资金安全风险,任何一个风险点爆发,都可能让你之前所有的努力付诸东流——轻则面临高额罚款、货物没…...

8 年面试实战派导师陈晨:用精准教学,帮你叩开公职上岸之门

一、讲师简介:深耕面试教学 8年,全领域实战专家陈晨老师是初心教育核心面试讲师,拥有8年一线面试授课经验,精通国考、省考、事业单位、银行等全品类面试的研发与教学,是学员口中 “靠谱、专业、提分快” 的面试领路人。…...

从零到精通:我的泛微Ecology9二次开发实战笔记(含JS开发避坑指南)

从零到精通:我的泛微Ecology9二次开发实战笔记(含JS开发避坑指南) 第一次接触泛微Ecology9时,面对庞大的系统架构和复杂的二次开发文档,我像大多数新手一样感到无从下手。经过半年多的实战摸索,从环境搭建到…...

旧衣堆积如山?爱裹回收免费上门,半小时搞定!

换季大扫除的时候,你是不是也经常遇到这样的烦恼:衣柜爆满、旧衣服不知道怎么处理、搬下楼太累、也不知道该扔到哪里?这些问题现在都有一个简单又高效的解决方案——爱裹回收。一句话总结它的最大亮点:免费上门 全品类 快速响应…...

从‘轮胎压力传感器’到‘魔数饼干’:手把手拆解SOME/IP协议栈的五个核心通信模型

从轮胎压力到魔数饼干:SOME/IP协议栈五大通信模型实战解码 1. 引言:当汽车电子遇上分布式通信 想象一下,你驾驶的现代汽车正以每小时100公里的速度飞驰,此时轮胎压力监测系统突然检测到右前轮气压异常。这个信号需要以毫秒级速度传…...

告别理想模型!手把手教你用ADS导入村田DesignKits,让仿真贴近真实PCB

告别理想模型!手把手教你用ADS导入村田DesignKits,让仿真贴近真实PCB 射频工程师小张最近遇到了一个棘手的问题:他在ADS中精心设计的低通滤波器,仿真结果完美符合指标,但实际打板测试时性能却大打折扣。这个困扰无数硬…...