MCP 的反对派终于找到了他们的论点
Maharshi Patel 那篇「MCP 从一开始就是个坏主意」上了 Hacker News,316 分、303 条评论,这个比例是打架的比例,不是共识的比例。这个论点值得认真对待,因为它不是那种老生常谈的吐槽工具 schema。
核心主张是:MCP 是为一个已经不存在的模型能力水平设计的。Anthropic 2024 年 11 月发布它,用 Patel 的话说,当时的模型还相当原始,需要一个结构化协议来被告知某个服务能干什么。现在的模型会执行代码、能理解大型代码库、会调用它从没见过的 API,靠跑一下 help 参数就能发现 CLI 接口。脚手架是为一个需要脚手架的模型造的。
实际抱怨是上下文膨胀,这条没法反驳。你接的每一个 MCP server 都贡献一堆工具,每个带一份 schema,全部在模型开工之前就压在上下文窗口里。接五个 server,你窗口里相当可观的一部分被用来描述这次任务根本不会用到的能力。他拿 Cloudflare 的 Code Mode 当反例:让模型把多次调用组合成一个脚本,在沙箱里跑,这比在工具定义之间来回往返既更有表达力也更便宜。
他的提案是有意思的部分,因为它小、能落地,而不是又发明一个标准。用 HTTP 头让 API 对 agent 友好。文档密集的站点接受 markdown,让 agent 拿到文章而不是一锅 div 汤。用 Accept-Language 指定编程语言偏好,Shopify 已经这么干了。用造出互联网的那些协议,而不是新造一个。
我认为这篇走过头的地方:MCP 不只是能力描述,它同时是一条授权和连接的边界,而「给模型一个 shell 和一套凭据」回答了能力问题,却悄悄把安全问题变得糟得多。Patel 论点最强的版本不是 MCP 该死,而是 MCP 该变懒,工具按需发现,而不是开场就全倒进上下文。这是一个可修的设计缺陷,被当成原罪在论证。
← 返回所有文章
核心主张是:MCP 是为一个已经不存在的模型能力水平设计的。Anthropic 2024 年 11 月发布它,用 Patel 的话说,当时的模型还相当原始,需要一个结构化协议来被告知某个服务能干什么。现在的模型会执行代码、能理解大型代码库、会调用它从没见过的 API,靠跑一下 help 参数就能发现 CLI 接口。脚手架是为一个需要脚手架的模型造的。
实际抱怨是上下文膨胀,这条没法反驳。你接的每一个 MCP server 都贡献一堆工具,每个带一份 schema,全部在模型开工之前就压在上下文窗口里。接五个 server,你窗口里相当可观的一部分被用来描述这次任务根本不会用到的能力。他拿 Cloudflare 的 Code Mode 当反例:让模型把多次调用组合成一个脚本,在沙箱里跑,这比在工具定义之间来回往返既更有表达力也更便宜。
他的提案是有意思的部分,因为它小、能落地,而不是又发明一个标准。用 HTTP 头让 API 对 agent 友好。文档密集的站点接受 markdown,让 agent 拿到文章而不是一锅 div 汤。用 Accept-Language 指定编程语言偏好,Shopify 已经这么干了。用造出互联网的那些协议,而不是新造一个。
我认为这篇走过头的地方:MCP 不只是能力描述,它同时是一条授权和连接的边界,而「给模型一个 shell 和一套凭据」回答了能力问题,却悄悄把安全问题变得糟得多。Patel 论点最强的版本不是 MCP 该死,而是 MCP 该变懒,工具按需发现,而不是开场就全倒进上下文。这是一个可修的设计缺陷,被当成原罪在论证。
评论