【TRAE】当 Trae 遇上 MCP vs CLI 之争:AI 编程工具的接口思考🤔?

最近刷到「马克的技术工作坊」的一条视频:“为什么越来越多的人抛弃 MCP,转向 CLI?” 看完之后引发深思。作为一个重度使用 Trae的开发者,我想结合自己的实际体验,聊聊这个话题。


一、先说背景

MCP 协议,强大的工具扩展能力。但与此同时,也在日常使用中逐渐暴露。CLI更简洁,更高效引发的 MCP vs CLI 的讨论。


二、MCP,看它被上天,看他跌落地

MCP(Model Context Protocol) 是 Anthropic 在 2024 年底推出的开放标准,核心思路很简单:

给 AI Agent 一个统一的"工具接口",让大模型能像调用函数一样调用外部服务——数据库、API、Figma、搜索引擎……

这个想法本身非常美好。对于 AI IDE 来说,MCP 意味着:

  • :electric_plug: 开箱即用的工具链:内置 MCP 市场,一键连接 PostgreSQL、Figma、地图服务等
  • :robot: Agent 自动编排:用户说"分析近 30 天用户留存率",AI 自动生成 MCP 调用指令,连接数据库执行查询
  • :puzzle_piece: 自定义扩展:开发者可以编写自己的 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 结合使用,取长补短。

:white_check_mark: 适合用 MCP 的场景

  • 需要 GUI 交互的工具:比如 Figma 设计稿导入,MCP 提供了结构化的数据提取
  • 复杂的认证流程:数据库连接、OAuth 授权等,MCP 的连接管理确实比手动配置方便
  • 团队共享的工具链:团队统一配置 MCP Server,新人开箱即用

:white_check_mark: 适合用 CLI 的场景

  • 日常开发操作:git 操作、文件处理、代码搜索,直接用 Shell 命令
  • 数据处理和分析jqawksed 等经典工具,AI 生成命令即可
  • 快速原型验证:一个 curl 命令比配置一个 MCP Server 快 100 倍
  • 多工具组合:需要串联多个步骤的复杂任务,Shell 管道是最佳选择

:pushpin: 配置建议

1. 只安装 2-3 个高频使用的 MCP 工具(如数据库、Figma)
2. 把常用 CLI 命令写成 Skills 文件,让 AI 直接调用
3. 复杂的内部工具,优先考虑 CLI 封装,而非 MCP Server
4. 定期清理不用的 MCP 工具,节省上下文窗口

写在最后:AI图片我可是直接让MTC帮我生成的!理解很棒!

8 个赞

@TRAE宝 总结一下

2 个赞

TRAE宝:叽里呱啦MCP,咕噜叽里CLI

3 个赞

TRAE宝:叽里呱啦MCP,咕噜叽里CLI

2 个赞

trae宝目前就是一个傻子 :rofl:

1 个赞

说点我自己的想法:
mcp扔了,skill扔了
做一个新的工具系统:
支持动态分配基于cli和web api的工具(你说你要mcp工具?看一眼上面),要用则用,用完即扔
使用跨平台技术开发cli工具,安装工具后cli即可用
工具知识库与工具强绑定
支持subagent动态分配工具
支持并行工具(parallel tool call)及连续工具链(hooks)
使用cli/web api名称直接作为工具名称(当然bash也是一个工具),参数传入方式自行脑补
……(下次再说吧)
结论:要搞一个对人对人机都友好的接口,既要省上下文又要省调用次数,同时提高agent效率,而且易于开发

1 个赞

小心以后 trae 宝火了,不给你回答

1 个赞

毕竟人和 ai 思考方式不一样

1 个赞

它火了还记仇啊 :rofl:

你说他坏话,哈哈哈哈

1 个赞

我pua它

1 个赞

我个人日常编码还是倾向CLI为主,MCP用的不多,毕竟线上token额度不太够。

2 个赞

我已经关闭了99%的mcp了

1 个赞