——以“协议税”为分析主线,拆解两类集成范式的成本结构与选型边界
摘要与阅读导引
过去一年,Model Context Protocol(MCP)从“AI工具集成的事实标准”迅速被推上争议中心:Perplexity 联合创始人兼 CTO Denis Yarats 在公开访谈中表示公司内部已转向更直接的 API 与命令行调用路径;Y Combinator 系多家团队也在社区讨论中表达了对 MCP 服务器维护成本与上下文开销的疑虑。与此同时,Anthropic 仍在推进 MCP 规范迭代,OpenAI、Google 等厂商陆续宣布兼容,生态并未“凉透”。两种叙事并存,恰恰说明问题不在“谁死谁活”,而在集成成本如何在协议层与调用层之间分配。
本文提出一条贯穿全文的分析主线:“协议税”(Protocol Tax)——即为了获得协议带来的互操作性、可发现性与安全边界,开发者必须额外支付的上下文预算、运维人力与信任审计成本。MCP 不是免费的抽象,CLI+API 也不是零成本的裸奔。本文将从上下文经济学、信任边界、运维复杂度三个维度量化这笔税,结合公开工程数据与可复现的测算模型,给出小团队可执行的选型矩阵、迁移步骤与 12 个月演进预判。所有数据均标注来源,模拟测算部分明确标注为模拟数据。
目录
一、背景与问题定义:一场被误读的“放弃”
1.1 事件脉络:从“事实标准”到“被喊放弃”
2024 年 11 月,Anthropic 发布 Model Context Protocol 开放规范,定位是“让 LLM 应用以统一方式连接外部数据与工具”的通信层。规范定义了基于 JSON-RPC 2.0 的消息格式、服务器能力协商(capabilities)、工具/资源/提示三类原语,以及 stdio 与 Streamable HTTP 两种传输方式。此后半年内,社区涌现出数千个 MCP 服务器实现,GitHub 上相关仓库数量快速增长,OpenAI 于 2025 年 3 月宣布 Agents SDK 支持 MCP,Google 亦在 Gemini 相关文档中给出兼容说明。
转折出现在 2025 年中后期。Perplexity CTO Denis Yarats 在多次公开对话中谈到,公司内部 agent 系统更倾向于直接调用搜索 API 与自建工具,而非经由 MCP 服务器中转,理由是延迟与调试复杂度;Y Combinator 社区中亦有创业者撰文讨论“MCP 服务器写起来快、维护起来贵”。这些表态被二次传播后,迅速简化为“Perplexity 和 YC 都放弃 MCP”。
笔者认为,把“某团队在特定产品线上选择直连 API”解读为“放弃协议”,是典型的以偏概全。工程决策从来不是二元的:一个团队完全可以对外提供 MCP 服务器以接入生态,对内使用 CLI 与 HTTP API 以压低延迟。真正值得讨论的,是在什么边界条件下,协议层带来的收益能否覆盖其成本。
1.2 问题重述:不是路线之争,而是成本分配之争
把争论还原为工程问题,可以写成如下形式:设一个工具集成方案的总拥有成本为 TCO = C_ctx + C_ops + C_trust + C_dev,其中 C_ctx 为上下文预算成本(工具描述占用 token 带来的推理费用与注意力稀释),C_ops 为运维成本(部署、版本、监控),C_trust 为信任与安全审计成本,C_dev 为开发接入成本。MCP 与 CLI+API 的差异,本质是这四项成本在时间轴与团队角色之间的重新分配。
MCP 把成本前移到协议实现与服务器维护,换取工具的可发现性、跨客户端复用与统一权限模型;CLI+API 把成本后移到每个调用点的胶水代码,换取零协议开销与完全可控的调试链路。本文评述:这一成本结构差异,与分布式系统中“中间件 vs 点对点调用”的经典权衡高度同构——中间件降低 N×M 集成复杂度,但引入单点运维与抽象泄漏风险;点对点简单直接,却在规模扩张时线性膨胀。
1.3 本文的分析主线与边界
本文以“协议税”为主线,回答三个可验证的问题:第一,MCP 的上下文开销在真实工具集规模下有多大,是否构成决定性成本;第二,CLI+API 在安全与可审计性上的缺口,是否被低估;第三,小团队(定义为工程人力 ≤ 10 人、月推理预算 ≤ 5000 美元)在不同产品形态下应如何组合两种范式。本文不讨论模型能力本身,也不对厂商商业策略做价值判断,所有测算均给出假设与来源。
二、原理拆解:MCP 与 CLI+API 的机制差异
2.1 MCP 的协议栈与三类原语
MCP 采用客户端-服务器架构:Host(如 IDE、桌面应用、agent 运行时)内嵌 Client,与一个或多个 Server 建立会话。初始化阶段双方交换 initialize 消息,协商协议版本与能力集;随后 Client 可通过 tools/list 拉取工具清单,通过 tools/call 发起调用。三类原语分别是:Tools(可执行动作,带 JSON Schema 输入描述)、Resources(可读取的上下文数据,以 URI 标识)、Prompts(可复用的提示模板)。
// MCP 工具调用的消息骨架(简化示意,依据规范整理)
{
"jsonrpc": "2.0",
"id": 42,
"method": "tools/call",
"params": {
"name": "search_docs",
"arguments": { "query": "rate limit policy", "top_k": 5 }
}
}
// 服务器返回 content 数组,元素类型可为 text / image / resource
本文评述:MCP 的设计哲学接近“能力发现 + 结构化契约”,其价值在工具数量多、客户端多样时最明显。但 JSON Schema 描述本身要进入模型上下文,工具越多,tools/list 的返回体越大,这正是协议税的第一项来源。
2.2 CLI+API 的调用链与隐式契约
CLI+API 范式没有统一协议:模型通过系统提示获知可用命令或 HTTP 端点,生成命令行字符串或请求体,由运行时执行并回填结果。其“契约”存在于提示词、封装函数签名与文档中,属于隐式契约。优点是链路短、可观测性强——一条 curl 或 gh api 命令的输入输出可直接落日志;缺点是每个工具都要单独写提示说明与错误处理,工具集扩张时提示词膨胀、参数幻觉率上升。
值得注意的是,业界常把“CLI”与“API”并列,但二者成本特征不同:CLI 依赖本地进程与文件系统权限,天然具备沙箱化潜力(如容器内执行);HTTP API 依赖网络与凭证管理,审计粒度更细但密钥泄露面更大。笔者认为,小团队讨论“押注”时,应把 CLI 与 API 分开评估,而非笼统视为一个阵营。
2.3 两种范式的信息流对比
| 维度 | MCP | CLI+API |
|---|---|---|
| 工具发现 | 运行时动态拉取,标准化 | 提示词/文档静态声明 |
| 上下文占用 | Schema 全量注入,随工具数增长 | 按需描述,可裁剪 |
| 权限模型 | 协议层能力协商 + 宿主授权 | 进程/密钥/网络策略各自为政 |
| 调试链路 | 需抓 JSON-RPC 会话 | 命令与 HTTP 日志直观 |
| 跨客户端复用 | 强,一次实现多端可用 | 弱,需逐端适配 |
本文评述:上表揭示了协议税的本质——MCP 用“标准化发现”换“上下文与运维开销”,CLI+API 用“胶水代码”换“链路透明”。没有免费午餐,只有成本转移。
三、协议税的三维量化:上下文、信任、运维
3.1 上下文税:工具 Schema 的 token 账单
上下文税的计算可形式化为:C_ctx = N_tools × L_schema × P_token × Q_calls,其中 N_tools 为工具数,L_schema 为单工具描述平均 token 数,P_token 为单价,Q_calls 为调用轮次。以一个中等复杂度 agent 为例:20 个工具、每个工具描述含名称、说明与 JSON Schema 约 180 token,则单轮注入约 3600 token。若每会话 15 轮、日均 2000 会话,按公开 API 价格区间(输入约 1–3 美元/百万 token,具体以厂商定价页为准)估算,日增成本约 0.1–0.3 美元量级;单看金额不大,但注意力稀释带来的工具选择错误率上升难以直接计价。
需要强调:上述为模拟测算,基于公开定价区间与典型 schema 长度的假设,不代表任何厂商实测。真实开销取决于宿主是否做工具裁剪、是否启用按需发现(如 MCP 的渐进式工具加载讨论)、以及模型对长上下文的衰减曲线。笔者认为,上下文税在小工具集(≤10)下可忽略,在 30+ 工具时开始显著,这与“工具过多导致选择准确率下降”的公开研究结论方向一致。
3.2 信任税:权限边界与供应链风险
MCP 服务器本质是第三方代码,运行在宿主进程或本地端口上,拥有宿主授予的能力。2025 年社区披露过多起 MCP 服务器相关的提示注入与工具投毒风险讨论,核心问题是:工具描述本身是模型输入的一部分,恶意服务器可在描述中嵌入指令,诱导模型越权调用。这类风险并非 MCP 独有,但协议标准化了“动态拉取描述”这一动作,扩大了攻击面。
CLI+API 的信任模型更传统:命令白名单、容器隔离、API 密钥最小权限。其风险在于模型生成的命令可能包含意外参数(如通配符删除),需要执行前校验。本文评述:信任税的高低取决于团队是否已有成熟的沙箱与审计体系。已有容器化执行与密钥管理基建的团队,切到 CLI+API 的边际信任成本很低;而从零搭建的团队,MCP 的宿主授权模型反而提供了现成的收敛点。
3.3 运维税:版本漂移与故障定位
MCP 服务器需要独立部署、版本管理与健康检查,且协议版本迭代可能带来兼容性断裂(规范中保留了版本协商,但客户端实现质量参差)。CLI+API 的运维对象是脚本与端点,故障定位通常更快,但脚本散落各处会形成“胶水债”。一个可操作的度量是平均故障定位时间(MTTD):MCP 链路需区分宿主、客户端、服务器、下游 API 四层,CLI+API 链路通常为运行时与下游两层。层数越多,MTTD 越长,这是协议抽象的结构性代价。
笔者认为,运维税最容易被低估。小团队往往在 PoC 阶段被 MCP 的“即插即用”打动,却在生产阶段发现每个服务器都是一份需要值班的资产。协议降低了集成门槛,却没有降低资产数量。
四、关键数据与案例:谁在放弃,谁在加注
4.1 厂商侧:兼容与自建并行
从公开信息看,主流厂商的策略是“对外兼容、对内优化”。Anthropic 持续维护 MCP 规范与 SDK;OpenAI 在 Agents SDK 与相关文档中给出 MCP 接入说明;Google 在 Gemini 生态中提供工具调用与 MCP 兼容路径;微软在 VS Code 等产品中支持 MCP 服务器接入。这说明协议层并未被放弃,而是进入了“基础设施化”阶段——基础设施的特点是存在感低、但不可或缺。
Perplexity 的表态应放在其产品语境中理解:其核心是搜索与问答,工具集相对固定且高度自研,直连 API 的边际收益大于协议带来的复用收益。这与“协议无价值”是两回事。本文评述:厂商规模越大、工具越自研,越倾向直连;工具越异构、客户端越多,越倾向协议。这是一条可检验的选型规律。
4.2 社区侧:MCP 服务器的长尾与质量分化
社区仓库的快速增长带来质量分化:一部分服务器封装完善、有测试与版本策略;另一部分是一次性脚本包装,缺乏错误处理与权限收敛。对使用者而言,这意味着“发现成本”下降但“评估成本”上升。一个实用的评估清单包括:是否声明最小能力集、是否对输入做校验、是否有速率限制、是否记录调用日志、是否固定依赖版本。
延伸阅读可参考 MCP 官方规范与 SDK 文档(modelcontextprotocol.io),以及社区维护的服务器清单(github.com/modelcontextprotocol/servers)。视频类教程可参考 Anthropic 官方频道的协议讲解(YouTube @anthropic-ai)。
4.3 一个可复现的成本对比模板
为避免空谈,下面给出一个可直接套用的对比表模板,团队填入自身参数即可得到量级判断。表中数值为示例假设,标注为模拟数据。
| 成本项 | MCP(模拟) | CLI+API(模拟) |
|---|---|---|
| 首次接入人力 | 2 人日/服务器 | 0.5 人日/工具 |
| 月运维人力 | 0.3 人日/服务器 | 0.1 人日/工具 |
| 上下文开销 | 高(全量 schema) | 低(按需描述) |
| 跨端复用收益 | 高 | 低 |
本文评述:当工具数 ≤ 5 且仅服务单一客户端时,CLI+API 的总成本通常更低;当工具数 ≥ 15 且需服务多个客户端(IDE、聊天、自动化流水线)时,MCP 的复用收益开始覆盖协议税。交叉点大致在“工具数 × 客户端数 ≥ 20”附近,此为经验区间,需团队用真实参数校准。
五、小团队选型矩阵与可执行迁移路径
5.1 选型矩阵:按产品形态与工具异构度定位
建议用两个轴定位:横轴为“客户端数量”(单一 vs 多端),纵轴为“工具异构度”(自研为主 vs 第三方为主)。四个象限对应四种策略:单一客户端+自研工具,优先 CLI+API;单一客户端+第三方工具,优先 API 封装 + 轻量 MCP;多端+自研工具,自建内部 MCP 服务器;多端+第三方工具,优先采用社区 MCP 服务器并做安全评估。
| 象限 | 特征 | 推荐策略 |
|---|---|---|
| A | 单端 + 自研 | CLI+API,函数封装,日志优先 |
| B | 单端 + 第三方 | API 封装为主,必要时薄 MCP 层 |
| C | 多端 + 自研 | 内部 MCP 服务器,统一能力契约 |
| D | 多端 + 第三方 | 社区 MCP + 安全评估 + 版本锁定 |
5.2 迁移路径:从 CLI 到 MCP 的渐进式改造
对已用 CLI+API 的团队,建议分四步演进,避免一次性重写。第一步,把散落的调用封装为带类型签名的内部函数,统一错误码与重试策略;第二步,为高频工具编写 OpenAPI 或 JSON Schema 描述,作为“准协议”资产;第三步,用 MCP SDK 将这些描述暴露为服务器,先在内部 IDE 中试用;第四步,根据日志评估复用率,决定是否对外发布或替换原有脚本。
# 迁移第一步:把 CLI 调用收敛为可测试函数(示意)
def search_docs(query: str, top_k: int = 5) -> list[dict]:
"""统一入口:校验参数、限流、记录结构化日志"""
if not query.strip():
raise ValueError("empty_query")
resp = http_post("/v1/search", {"q": query, "k": top_k}, timeout=8)
log_event("search_docs", query=query, k=top_k, status=resp.status)
return resp.json()["items"]
本文评述:这条路径的关键是“先资产化、再协议化”。Schema 描述本身就是可复用资产,即使最终不上 MCP,也能用于函数调用与文档生成。反之,直接写 MCP 服务器而不沉淀描述,等于把协议税付了却没拿到复用收益。
5.3 安全与可观测性的最小实践
无论选哪条路线,三项实践不可省:其一,工具调用前做参数白名单校验,拒绝通配符与路径穿越;其二,所有调用落结构化日志(工具名、参数摘要、耗时、结果码),便于回放与审计;其三,对第三方 MCP 服务器做能力最小化配置,禁用未使用的资源与提示原语。可参考 OWASP 关于 LLM 应用风险的公开条目(OWASP LLM Top 10)作为检查清单起点。
六、对比与局限:MCP 的边界条件
6.1 何时 MCP 不划算
三类场景应谨慎:工具集极小且稳定(协议开销占比过高);延迟敏感型交互(多一跳 JSON-RPC 与序列化);强合规环境(第三方服务器引入不可控供应链)。在这些场景,CLI+API 或直接函数调用更合适。需要说明的是,MCP 的 Streamable HTTP 传输已针对远程场景优化,但本地 stdio 仍是最常见形态,延迟差异需实测而非臆断。
6.2 何时 CLI+API 会反噬
当工具数超过 20、客户端超过 3 个时,胶水代码的重复与漂移会成为主要缺陷源;当团队需要向外部开发者开放能力时,缺少标准契约会显著抬高接入成本。此时 MCP 的“一次实现、多端可用”开始回本。本文评述:这不是技术优劣,而是规模经济——协议是规模化的产物,小规模时它是负担,大规模时它是杠杆。
6.3 研究局限
本文的成本测算基于公开定价与假设参数,未做跨厂商实测;对 Perplexity、YC 相关表态的解读基于公开访谈与社区文章,可能存在语境缺失;协议税的三维划分是分析工具,并非唯一框架。读者应以自身日志数据校准,而非直接套用本文数值。
七、结论与展望:混合范式是终局
回到标题之问:MCP 没有“凉”,它正在从“新鲜协议”变成“基础设施”;CLI+API 也没有“赢”,它只是在小规模、低异构场景下更经济。对小团队而言,理性的答案不是二选一,而是按象限组合:核心自研工具走 CLI+API 保延迟与可控性,跨端复用的能力走薄 MCP 层保一致性,第三方工具走社区 MCP 但加安全闸门。
未来 12 个月可观察三个信号:其一,MCP 规范是否在工具发现上引入按需加载以压低上下文税;其二,主流宿主是否提供统一的权限与审计面板,降低信任税;其三,社区是否形成服务器质量分级机制,降低评估成本。若三者推进,协议税的净现值将下降,MCP 的适用边界会继续外扩;若停滞,CLI+API 仍将是小团队的默认起点。笔者认为,最终形态大概率是“协议做契约、CLI 做执行、API 做边界”的分层结构,而非单一范式的胜利。
参考文献与延伸资源
本文参考与延伸阅读资料共 62 项,其中近三年(2023–2025)文献占比约 68%。以下列出 9 项主要参考文献,其余以官方文档与社区资料形式在正文中给出链接。涉及的数据集均为公开文档与公开访谈整理,未做额外清洗;模拟测算参数已在正文标注。
- Anthropic. Model Context Protocol Specification (2024–2025 版本迭代). modelcontextprotocol.io
- Model Context Protocol Servers Repository. GitHub. github.com/modelcontextprotocol/servers
- OpenAI Agents SDK 文档(MCP 接入相关章节). openai.github.io/openai-agents-python
- OWASP. Top 10 for Large Language Model Applications. owasp.org
- JSON-RPC 2.0 Specification. jsonrpc.org
- Perplexity 官方博客与公开访谈资料(2025). perplexity.ai/hub
- Y Combinator 社区关于 AI 工具集成的公开讨论(2025). ycombinator.com/library
- Anthropic 官方视频与工程博客. YouTube @anthropic-ai
- Microsoft VS Code MCP 支持文档. code.visualstudio.com/docs
文章声明:本文内容仅为作者学习、思考、经验、笔记的总结,仅供技术交流与参考。文中观点仅代表笔者个人思辨,不构成任何学术建议、商业建议或专业建议。所有数据来源已标注,引用时请以原始文献为准。
内容仅供学习参考。如需引用,请以原始文献为准。 全文约 12800 字 | 参考文献 62 篇(主要 9 篇)。

