1. MCP的兴衰:从AI工具集成的终极标准到被质疑
去年这个时候,MCP(Multi-Component Protocol)还被业界奉为AI工具集成的黄金标准。作为一套工具调用协议,它确实解决了当时AI应用开发中的一个痛点:每个应用都需要自己实现一套工具调用逻辑,导致生态高度碎片化。MCP通过统一接口规范,让不同工具可以无缝集成到AI应用中,这在当时看来是个绝妙的解决方案。
但问题来得比想象中快。今年三月Perplexity的CTO Denis Yarats公开表示将放弃MCP,转回REST API和CLI。这一表态在开发者社区引发轩然大波,YC CEO Garry Tan更是直言"MCP sucks"。这种态度转变之剧烈,让人不禁要问:MCP到底出了什么问题?
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. MCP的核心问题解析
2.1 上下文窗口的沉重负担
MCP最致命的缺陷在于它对上下文窗口的过度消耗。实测数据显示,在20万token的模型上,仅三个服务器(GitHub、Playwright和IDE集成)的工具定义就占用了14.3万token,高达72%的上下文窗口被工具定义占据。这意味着agent还没开始工作,可用资源就所剩无几。
这种设计导致了所谓的"context rot"(上下文腐烂)现象:随着工具数量的增加,模型对关键信息的聚焦能力急剧下降。研究表明,当工具过多时,agent选择正确工具的概率会从43%暴跌至14%以下。根本原因在于MCP将所有工具描述在会话开始时全量加载,无论这些工具是否会被用到。
2.2 被动响应的架构局限
MCP的另一个结构性问题是其被动性。它本质上只是一个工具调用协议,缺乏对会话生命周期和任务流程的感知能力。在MCP架构中:
- 工具没有层级结构,每个工具都是一个扁平的函数签名
- 缺乏子命令支持,无法像CLI那样按需展开功能
- 无法指导agent如何使用工具,只能被动等待调用
相比之下,CLI工具天然支持层级命令结构(如git commit、git push),而新兴的Skills方案更是包含了完整的SOP(标准操作流程),能够指导agent先做什么、后做什么、遇到问题如何处理。
3. MCP与替代方案的对比分析
3.1 CLI的优势与适用场景
CLI工具在以下方面明显优于MCP:
- 资源效率:按需加载命令帮助(--help),避免一次性加载所有文档
- 交互体验:支持层级命令结构,操作更加直观
- 响应速度:本地执行,避免了网络延迟
特别是在开发环境集成场景下,CLI的表现尤为出色。开发者可以快速构建轻量级封装器来扩展功能,而不必处理MCP的复杂协议。
3.2 Skills方案的创新之处
Skills代表了工具集成的新思路:
- 渐进式披露:会话开始时只加载元数据(几十个token),需要时才加载完整内容
- 流程内嵌:将SOP直接写入Skill定义,指导agent如何使用工具
- LLM参与:允许agent的LLM参与工具内部决策,无需额外配置
这种设计解决了MCP的几个关键痛点,特别是在需要复杂决策的工具场景中。例如在信息检索场景,Skill可以让agent先进行粗筛,再自行判断哪些结果值得深入查看,最后只返回精炼后的信息。
4. MCP的生存空间与未来展望
尽管面临诸多批评,但MCP不会完全消失。它在以下场景仍具有独特价值:
- 企业级工具平台:需要统一权限管理和集中式日志的场景
- 跨系统集成:当工具需要与多个异构系统交互时
- 标准化遥测:需要统一监控指标的大型部署
目前看来,最可能的发展方向是形成CLI/RESTful/Skills的组合方案:
- CLI处理日常操作
- RESTful对接外部系统
- Skills管理agent行为知识
在这种架构中,MCP的角色将从"必须遵循的标准"转变为"可选的集成方案之一"。
5. 开发者应对策略
对于正在使用或考虑使用MCP的开发者,建议采取以下策略:
- 评估实际需求:如果是简单工具集成,考虑改用CLI
- 渐进式迁移:对复杂工具,可以逐步引入Skills概念
- 混合架构:在需要集中管理的部分保留MCP,其他部分采用轻量级方案
- 关注生态发展:特别是Linux Foundation对MCP的后续规划
最重要的是保持架构灵活性,避免被单一协议锁定。在这个快速演进的领域,能够快速适应新方案的能力比坚持某个标准更有价值。
6. 从MCP案例看技术选型原则
MCP的兴衰给我们上了生动的一课:
- 避免过度设计:解决方案的复杂度应该与问题规模相匹配
- 重视资源效率:在AI时代,token就是最宝贵的资源
- 保持协议轻量:核心协议应该做最少的事,把扩展性留给上层
- 拥抱渐进式改进:与其追求完美方案,不如快速迭代
这些原则不仅适用于工具协议设计,对任何技术选型都有参考价值。在AI应用开发这个新兴领域,保持开放心态和快速学习能力或许是最重要的生存技能。
