最近刷到「马克的技术工作坊」的一条视频:“为什么越来越多的人抛弃 MCP,转向 CLI?” 看完之后引发深思。作为一个重度使用 Trae的开发者,我想结合自己的实际体验,聊聊这个话题。
一、先说背景
MCP 协议,强大的工具扩展能力。但与此同时,也在日常使用中逐渐暴露。CLI更简洁,更高效引发的 MCP vs CLI 的讨论。
二、MCP,看它被上天,看他跌落地
MCP(Model Context Protocol) 是 Anthropic 在 2024 年底推出的开放标准,核心思路很简单:
给 AI Agent 一个统一的"工具接口",让大模型能像调用函数一样调用外部服务——数据库、API、Figma、搜索引擎……
这个想法本身非常美好。对于 AI IDE 来说,MCP 意味着:
开箱即用的工具链:内置 MCP 市场,一键连接 PostgreSQL、Figma、地图服务等
Agent 自动编排:用户说"分析近 30 天用户留存率",AI 自动生成 MCP 调用指令,连接数据库执行查询
自定义扩展:开发者可以编写自己的 MCP Server,接入公司内部系统
AI IDE把 MCP 做成了目前最易用的形态之一——内置 MCP 市场、可视化配置、一键安装。
三、MCP 的困境
1. Token 开销:你的上下文窗口在被悄悄吃掉
这是最致命的问题。MCP 可以消耗了高达 72% 的上下文窗口。
什么概念?你本来可以让 AI 理解 10000 行代码上下文,用了 MCP 之后,大量 Token 被工具目录、Schema 描述、协议握手吃掉了,实际能用来理解代码的上下文可能只剩不到 3000 行。
开了几个 MCP 工具之后,AI 对项目代码的理解能力明显下降,多轮对话中更容易"忘记"前面的约定。
2. 重复造轮子:大多数 MCP Server 只是 API 的套壳
很多 MCP Server 做的事情,其实一个 curl 命令或者一个简单的 Shell 脚本就能搞定。
3. 可组合性差:失去了 Unix 哲学的精髓
Unix 管道(Pipe)是计算机科学最伟大的发明之一:
# 一行命令搞定:找出访问量最大的10个IP,去重后排序
cat access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -10
这种自由组合的能力,在 MCP 世界里几乎不存在。每个 MCP 工具都是独立的"孤岛",你想把工具 A 的输出传给工具 B?对不起,得写代码中转。
四、CLI 为什么正在赢?
1. 大模型天生"会用" CLI
主流大模型的训练数据中包含海量的手册、Shell 脚本、Stack Overflow 上的命令行问答。它们对 CLI 工具的理解是天然的、深度的。
而 MCP 工具呢?AI 需要重新学习每个工具的 Schema,容易出现理解偏差。67% 的私有工具链缺少有效的 MCP Schema–这意味着 AI 经常在**“猜”**你的工具怎么用。
2. Unix 管道:最强的"Agent 编排"
与其让 AI 通过 MCP 调用 5 个工具,不如让它写一行 Shell 命令:
# AI 可以直接生成并执行这样的命令
git diff --name-only | xargs eslint --fix | tee fix-report.log
零配置、零 Schema、零中间层。Shell 本身就是最强大的 Agent 编排引擎。
3. Skills 文件:语义压缩的胜利
越来越多团队开始用 Markdown 格式的 Skills 文件 替代笨重的 MCP Schema。核心思路是:
不需要告诉 AI 工具的每一个参数类型和返回格式,只需要用自然语言描述"这个工具能做什么"。
这本质上是语义压缩——用最少的 Token 传递最多的信息。
五、在 TRAE 中,我的做法
我的策略是:MCP 和 CLI 结合使用,取长补短。
适合用 MCP 的场景
- 需要 GUI 交互的工具:比如 Figma 设计稿导入,MCP 提供了结构化的数据提取
- 复杂的认证流程:数据库连接、OAuth 授权等,MCP 的连接管理确实比手动配置方便
- 团队共享的工具链:团队统一配置 MCP Server,新人开箱即用
适合用 CLI 的场景
- 日常开发操作:git 操作、文件处理、代码搜索,直接用 Shell 命令
- 数据处理和分析:
jq、awk、sed等经典工具,AI 生成命令即可 - 快速原型验证:一个
curl命令比配置一个 MCP Server 快 100 倍 - 多工具组合:需要串联多个步骤的复杂任务,Shell 管道是最佳选择
配置建议
1. 只安装 2-3 个高频使用的 MCP 工具(如数据库、Figma)
2. 把常用 CLI 命令写成 Skills 文件,让 AI 直接调用
3. 复杂的内部工具,优先考虑 CLI 封装,而非 MCP Server
4. 定期清理不用的 MCP 工具,节省上下文窗口
写在最后:AI图片我可是直接让MTC帮我生成的!理解很棒!



