MCP已死?从Claude官方实践看模型上下文协议的生产级落地路径
核心问题:MCP到底死了没有?
直接回答:没有死,反而在加速生长。Claude MCP SDK的月下载量从今年年初的1亿次攀升至最近的3亿次。所谓”死亡”的论调,更多源于对早期痛点的放大,而非对演进路线的完整观察。
智能体好不好用,从来不只看模型本身有多聪明。一个再强大的助理,如果进不了你的公司系统、打不开邮箱、看不到日历,它的价值就会断崖式下跌。目前让智能体连接外部世界主要有三条路:直接调API、用命令行工具CLI、以及通过模型上下文协议MCP。本文将沿着官方最新的实践脉络,把这三条路的边界、MCP遭遇的批评与回应、以及生产级MCP服务器的构建方法,逐一拆解清楚。
核心问题一:连接外部系统,到底有几条路可走?
“
摘要:API直连、CLI、MCP三种路径并非互斥,成熟架构往往三者共存,只是各自的天花板不同。
要让智能体调用外部能力,本质上是在解决”Agent与外部服务之间有没有统一中间层”的问题。答案不同,路线的天花板就不同。
直接调用API:最简单的起点,最难维系的终点
直接调用API是大多数人本能的选择。一个API对应一个场景,一个Agent对接一个API,起步非常快。想象一个典型的场景:你的团队开发了一个内部工单系统,暴露了几组REST接口。刚开始,让Agent直接调用这些接口查询和创建工单,几行代码就能跑通。
但麻烦随规模线性增长。当团队里有了5个Agent,外部接入了10个服务,你就需要维护50套独立的认证逻辑和工具描述。这就是经典的”M×N集成难题”:M个Agent乘以N个API服务,等于M×N套代码。每新增一个组合,都要从头写一遍。到了一定规模,这种点对点集成的维护成本会吞噬掉自动化带来的全部收益。
命令行工具CLI:本地利器,生产短板
CLI是另一条被低估的路。Agent天生能理解命令行语言,而现代开发工具链几乎都有成熟的CLI。在本地环境里,让Agent调用gh查GitHub PR、用aws操作云资源、以kubectl管理集群,往往比写封装代码更快。
但它的天花板也非常明显。移动端没有shell,网页端没有终端,云端容器未必装了你本地那套工具链。CLI的身份验证通常依赖磁盘上的凭证文件,这意味着它最适合个人本地开发,却很难走进需要多平台、多用户协作的生产环境。
模型上下文协议MCP:协议化的统一中间层
MCP把”统一中间层”做成了开放协议。认证、工具发现、语义表达全部标准化。你建好一台远程MCP服务器,Claude、ChatGPT、Cursor、VS Code等所有兼容客户端都能直接调用,部署在本地还是云端并不重要。
这解决了一个根本痛点:一次建设,全平台复用。
图片来源:Unsplash
“
【实践反思】 很多团队在选择技术路线时容易陷入非此即彼的思维。但真实的工程实践往往是混合的:本地开发用CLI快速验证,对外服务用MCP标准化交付,遗留系统用API直连兜底。认清每条路的天花板,比盲目追求”唯一正确答案”更重要。
核心问题二:MCP为什么被质疑”已死”?
“
摘要:Token成本的激增是批评的核心,根源在于schema膨胀让模型在开工前先”读说明书”。
MCP被骂得最狠的问题,可以总结为一句话:不仅占用了超长上下文,而且token死贵。
问题的根源不在协议本身,而在工具定义的膨胀方式。以GitHub官方MCP服务器为例,它内置了大量工具定义。每次对话开始时,这些定义都要被塞进上下文窗口。假设你只是想查一下某个仓库主要使用什么编程语言,模型却必须先读完所有工具的说明书——光一个工具定义就可能占用几百上千个tokens。
ScaleKit做过一组严格的对照实验:同样查询仓库语言,GitHub MCP服务器需要消耗约44,026个tokens,而使用gh CLI仅需1,365个tokens,差距高达32倍。你还没开始干活,工作台已经被说明书堆满了。这种体验放在生产环境里,意味着响应慢、成本高、上下文窗口被无谓占用。
“
【实践反思】 这个痛点让我想起早期ORM框架的遭遇——为了”统一”而引入的抽象层,有时反而成为性能瓶颈。MCP的批评者并非否定协议价值,而是在质问:这份”统一”的代价,是否超过了收益?好消息是,协议设计者已经给出了明确的回应路径。
核心问题三:Token膨胀问题如何解决?
“
摘要:Tool Search与程序化工具调用双管齐下,可将工具定义token削减85%,复杂工作流token再降37%。
核心问题有解吗?有。而且解法不需要推翻MCP的架构,只需要改变工具加载和数据流转的方式。
按需加载:Tool Search让上下文瘦身
过去的做法是一股脑把所有工具定义塞进上下文。43个工具、55,000个tokens,对话还没开始,窗口已经拥挤不堪。
Tool Search(工具搜索)把这步推迟了:智能体先描述它想做什么,系统在运行时搜索相关工具,只把匹配的几个拉进上下文。测试数据显示,工具定义的token消耗减少了85%以上,而工具选择的准确率并没有下降。
用前面的GitHub场景来估算:之前MCP需要44,026 tokens,CLI只要1,365 tokens,差距32倍。引入Tool Search砍掉85%的工具定义token后,MCP的总消耗大约降到10,000 tokens左右——差距从32倍缩小到约7倍。虽然仍比CLI贵,但已经不再是数量级的鸿沟。
代码沙箱:让原始数据绕过模型大脑
第二个解法更偏向架构层面的调整:工具返回的结果不再直接丢给模型消化,而是先扔进代码执行沙箱里处理。智能体在沙箱里循环、过滤、聚合,只把最终结果返回到上下文,中间的原始数据完全不经过模型。
想象一个场景:Agent需要从一份庞大的日志文件中提取错误摘要。如果直接把原始日志全文塞进prompt,token消耗会瞬间爆炸。正确的做法是让Agent生成一段处理脚本,在沙箱里读取日志、正则匹配、统计频次,最后只返回三行摘要给模型。在复杂多步骤工作流中,这种”程序化工具调用”可减少约37%的token使用量。
# 基于代码编排模式的典型执行流程
# 步骤1:智能体搜索需要的API端点
api_info = mcp.search("list DNS records for example.com")
# 步骤2:生成脚本并在服务端沙箱执行
result = mcp.execute({
"endpoint": api_info.endpoint,
"method": "GET",
"params": {"zone": "example.com"}
})
# 步骤3:只有聚合后的最终结果返回给模型
图片来源:Unsplash
两个解法叠加使用,上下文更瘦、往返更少、响应更快。MCP的token劣势正在被技术手段逐步抹平。
核心问题四:如何设计一个生产级可用的MCP服务器?
“
摘要:远程化、意图化、代码编排、交互增强、标准认证,五个原则决定MCP服务器能否从”玩具”走向”生产”。
目前社区里已有超过200个MCP服务器,每天数百万人在用。结合这些实践,可以提炼出五个关键设计原则。
原则一:远程服务器是触达全平台的唯一形态
如果你想让智能体无论跑在网页端、移动端还是云端都能调用你的系统,远程服务器是唯一选择。本地服务器只能服务本地客户端,而远程服务器是所有主流客户端都专门优化过的形态。
“
【实践反思】 我见过不少团队把MCP服务器跑在开发者笔记本上,演示时很顺畅,一到生产环境就寸步难行。远程化不是”高级功能”,而是生产准入的门票。
原则二:按用户意图组织工具,而非API端点映射
最常见的陷阱是把API一对一翻译成工具。你的API有”获取消息串”、”解析消息”、”创建工单”、”关联附件”四个端点,于是做成四个工具让Agent自己拼——这会让Agent的推理负担很重。
更好的做法是围绕”用户想完成什么”来设计。与其给四个细碎工具,不如直接给一个”从消息串创建工单”的复合工具,一步到位。少而精、描述清晰的工具,远比一堆原子化工具好用。
原则三:接口爆炸时的代码编排策略
如果你的服务有几百个操作——比如Cloudflare、AWS、Kubernetes——”意图分组”也覆盖不完。这时应该换个思路:只暴露一两个接受代码的工具。
Cloudflare的MCP服务器是典型案例。它只提供了两个工具:search和execute。智能体先用search找到需要的API端点,然后写一段脚本,通过execute在服务端沙箱里运行。整个工具定义只占大约1K tokens,却覆盖了约2,500个端点。
这个模式叫”代码编排”——把CLI的哲学搬进了MCP协议里。区别在于它跑在云端,走MCP协议,而不是本地命令行。对于操作密集型的平台,这是目前最优雅的解法。
原则四:关键时刻的交互升级
MCP Apps允许工具直接返回可交互界面——图表、表单、仪表盘可以直接渲染在聊天里,不需要用户跳转到外部页面。采用这种能力的服务器,用户留存率和采用率都明显更高。
Elicitation(征询用户)则让服务器能在工具调用中途暂停,向用户索要信息:
-
表单模式:服务器发送一个schema,客户端自动渲染成原生表单。适合补充缺失参数、确认危险操作、在几个选项中选择。 -
URL模式:把用户送到浏览器完成操作。适合OAuth授权、支付,或任何不应该经过MCP客户端的凭据收集。
两种方式的共同好处是流程连贯。用户不需要离开对话窗口去”设置页”折腾一圈再回来。
原则五:标准化认证与Vaults凭证管理
认证是否标准化,直接决定云端智能体能不能真正用起来。最新的MCP规范支持CIMD(Client ID Metadata Documents)客户端注册方式,用户首次登录快,后续也不容易被突然要求重新授权。
用户授权之后,Claude Managed Agents的Vaults(保险库)可以帮你管理令牌:用户登记一次,之后每次会话平台自动注入正确凭据并负责刷新。你不需要自己搭建密钥存储系统,也不需要每次调用都手动传令牌。
核心问题五:MCP与Skills如何协同放大价值?
“
摘要:MCP解决”能做什么”,Skills解决”怎么做”,两者打包分发才能让智能体真正像领域专家一样工作。
Skills和MCP是互补的两件事。MCP给智能体提供工具和数据的访问权,回答”能做什么”;Skills给智能体提供完成真实工作的流程知识,回答”怎么做”。
Plugin模式:一站式交付工具与知识
Claude的Plugins可以把skills、MCP服务器、hooks、LSP服务器、子智能体全部打包进一个安装包,一键安装,一次搞定。
MCP加Skills的组合效果,是让Claude更像一个领域专家:MCP把专业工具递给它,Skills教它怎么用这些工具端到端地完成任务。
以Cowork的data插件为例。它包含10个skills和8个MCP服务器,打通了Snowflake、Databricks、BigQuery、Hex等数据平台。数据分析师不再需要逐个配置连接、反复编写提示词教Agent怎么查数,安装插件后,Claude直接继承了一套完整的数据分析工作流。
服务器直发Skills:API与最佳实践同步版本
另一种模式是从MCP服务器直接分发Skills。服务提供方发布MCP服务器时,顺手附送一份skill——客户端拿到的不只是原始能力,还有一本”最佳使用手册”。Canva、Notion、Sentry已经在采用这种方式。
MCP社区正在推进一个扩展规范,支持从服务器直接交付skills,客户端自动继承领域知识,版本还与API绑定。这意味着当API升级时,使用方式也会同步更新,不会出现”工具变了,但Agent还在用旧方法调用”的脱节问题。
“
【实践反思】 过去我们常说”工具给人用,人要学说明书”。在AI时代,这个逻辑正在反转——”工具给AI用,AI也要学说明书”,而这个说明书就是Skills。让工具和说明书一起交付,是减少幻觉、提升稳定性的关键。
核心问题六:不同场景下该如何选择集成策略?
“
摘要:本地开发选CLI,云端生产选MCP,简单场景直接调API,三者各回各家。
最后把三条路的分工说清楚:
MCP并不是万能方案,但它正在成为云端智能体的标准化接入层。今天建好一台远程MCP服务器,就能触达所有兼容客户端、所有部署环境,认证、交互、语义全部由协议兜底。更关键的是,随着规范支持的客户端越来越多、协议扩展越来越丰富,你那台服务器会自动变强,不需要为每个新客户端额外写适配代码。
每一个基于MCP建成的集成,都在让整个生态更强一点。
【作者反思】从”MCP已死”的喧嚣中看到的信号
围绕MCP的争论,本质上是一场关于”抽象层价值”的永恒辩论。批评者看到的token成本和schema膨胀是真实的,支持者看到的标准化收益和生态增长也是真实的。作为实践者,我认为更值得关注的信号是:协议设计者没有回避问题,而是用Tool Search、程序化调用、代码编排等机制正面回应了批评。
这提示我们,评判一个技术生态是否健康,不应该只看它有没有问题,而要看它有没有解决问题的通道。MCP的月下载量从1亿涨到3亿,说明越来越多的开发者愿意押注这个通道。
实用摘要 / 操作清单
如果你正准备把MCP引入生产环境,以下是可直接落地的检查清单:
-
[ ] 选择远程部署:确保服务器可通过网络访问,而非仅本地运行。 -
[ ] 设计复合工具:围绕用户意图组合API端点,避免一对一映射。 -
[ ] 评估接口数量:如果操作超过几十个,优先考虑代码编排模式(search + execute)。 -
[ ] 启用Tool Search:减少不必要的工具定义加载,控制上下文体积。 -
[ ] 接入代码沙箱:让复杂数据处理在沙箱内完成,只传结果给模型。 -
[ ] 配置标准认证:采用CIMD客户端注册,对接Vaults管理令牌生命周期。 -
[ ] 编写配套Skills:把”怎么用”写成skill文件,与MCP服务器一起分发。 -
[ ] 支持Elicitation:在危险操作或缺参场景下,主动暂停并征询用户确认。 -
[ ] 考虑Plugin打包:如果面向Claude生态,把skills和MCP服务器打包成Plugin。
一页速览(One-page Summary)
常见问题(FAQ)
Q1: MCP和CLI到底选哪个?
本地开发优先用CLI,轻量快速;跨平台生产环境优先用MCP,标准化且认证完备。两者不是对立关系,好的MCP服务器本身就应该像CLI一样易用。
Q2: Tool Search会降低工具选择的准确率吗?
不会。测试数据显示,在减少85%以上工具定义token的同时,工具选择准确率没有下降。因为系统是基于智能体的意图描述进行语义匹配的。
Q3: 为什么远程MCP服务器比本地更重要?
远程服务器是唯一能被网页端、移动端、云端智能体同时调用的形态。本地服务器受限于网络和运行环境,无法覆盖生产级部署场景。
Q4: 我的系统有上千个API端点,怎么做MCP服务器?
不要一对一映射。采用代码编排模式:只暴露search和execute两个工具,让智能体先搜索API再写脚本执行。Cloudflare用1K tokens的工具定义覆盖了约2,500个端点。
Q5: Skills和MCP有什么区别?
MCP解决”能做什么”,提供工具访问权;Skills解决”怎么做”,提供完成任务的流程知识。两者结合,智能体才能像领域专家一样端到端工作。
Q6: MCP的认证机制安全吗?
最新规范支持CIMD标准客户端注册,配合Vaults保险库自动管理令牌生命周期,不需要在每次调用时手动传递密钥,也不需要在服务端自建密钥存储系统。
Q7: 简单场景有必要用MCP吗?
如果只是临时让Agent调用一个内部API完成单一任务,直接调API更简单。MCP的价值在规模化和多平台复用场景下才能充分体现。
Q8: MCP Apps和普通工具返回有什么区别?
普通工具返回纯文本或JSON,MCP Apps可以直接返回可交互的图表、表单和仪表盘,原生渲染在客户端,不需要用户跳转外部页面,体验和留存率都更好。

