打开网易新闻 查看精彩图片

2024年11月,Anthropic 把一个叫 MCP 的协议开源时,大概没料到半年后会有开发者拿它白嫖 Vercel 的免费额度。更魔幻的是,这套原本给本地 AI 助手设计的工具调用标准,正在被一群人改造成云端服务的基础设施——而迁移成本,只是一个下午。

这事得从 stdio 说起。如果你用过 Claude Desktop 的 MCP 插件,大概率见过这种启动方式:npx -y @anthropic/mcp-server-my-tool。本地跑、标准输入输出通信,简单直接。但问题也很明显:你的工具困在电脑里,别人想用?先装 Node,再配环境,最后还可能因为路径问题骂街。

Smithery.ai 这类平台想解决这个问题。它们给几千个用户提供托管和代理服务,但前提是——你的 MCP 服务器得有个 HTTP 接口。Anthropic 的协议文档里其实写了两种远程传输方式:SSE(服务器发送事件)和 Streamable HTTP。前者适合流式场景,后者就是普通的 POST 请求,返回 JSON-RPC 响应。

一个做工具开发的工程师最近试了条路:把本地 stdio 服务改成 Streamable HTTP,部署到 Vercel Serverless,零成本,自动扩缩容。整个过程比他预期得顺。

为什么选 Streamable HTTP 而不是 SSE

为什么选 Streamable HTTP 而不是 SSE

SSE 听着更酷,能推流,但大多数 MCP 工具调用其实是简单的请求-响应模式。用户问一句,工具算一下,返回结果。没人在等一个实时生成的 200 行表格。

Streamable HTTP 的聪明之处在于:它允许你直接用 POST 发 JSON-RPC,服务端处理完一次性返回。不需要维护长连接,不需要处理断线重连,Vercel 的 30 秒超时对绝大多数工具调用绰绰有余。

核心代码出乎意料地短。一个 Vercel Serverless 函数,几十行搞定协议握手:

打开网易新闻 查看精彩图片

GET 请求返回状态检查,POST 请求解析 method 字段。initialize、tools/list、tools/call 三个方法覆盖 90% 场景。notifications/initialized 返回 202 Accepted,告诉客户端"我收到了,不用等回复"。

JSON-RPC 的 id 字段原样返回,这是协议要求的。protocolVersion 写成 2025-03-26,capabilities 声明自己支持 tools 但不支持 listChanged——意思是工具列表固定,不会动态增减。

工具调用的结果塞进 content 数组,type 为 text,text 是 JSON 字符串化的结果。这套格式是 MCP 和 Claude 之间的契约,错一个字段就报错。

Session 管理:假装有状态

Session 管理:假装有状态

完整的 MCP 规范要求会话管理,通过 Mcp-Session-Id 头部识别用户。但 Vercel Serverless 每次调用都是无状态的冷启动,内存里存不了东西。

这位工程师的解法很务实:直接忽略 Session ID。因为他的工具本身就是无状态的——每次调用独立计算,不依赖之前的上下文。查天气就是查天气,不需要记住用户上秒问了哪个城市。

但这里埋了个坑。如果你的工具需要保持状态,比如多轮对话的记忆、用户配置的缓存,Vercel 的免费方案就不够用了。得接 Redis、PlanetScale 或者 Vercel 自己的 KV,成本曲线会陡然上升。

vercel.json 的配置也值得一提。rewrites 把 /mcp 指向 /api/mcp,让 URL 更干净;maxDuration 设 30 秒是硬上限,超过就强制中断。这对计算密集型工具是个约束,但免费额度还要什么自行车。

打开网易新闻 查看精彩图片

部署:比写代码更快

部署:比写代码更快

代码推 GitHub,Vercel 自动拉取部署,绑定自定义域名,SSL 证书自动生成。整个流程熟悉的话十分钟内搞定。

Smithery.ai 的接入更省事。填个端点 URL,描述一下工具功能,审核通过后就进目录。用户搜到你的工具,一键添加到自己的 AI 工作流,不用装任何依赖。

这套路径的吸引力在于成本结构。Vercel 的 Hobby 计划每月 100GB 带宽、125000 次函数调用,对个人开发者的小众工具完全够用。只有当调用量突破免费阈值,才需要考虑付费或者迁移到自建服务器。

但免费午餐总有边界。Serverless 的冷启动延迟在几百毫秒到几秒之间波动,对实时性要求高的场景是个隐患。另外 Vercel 的函数执行时间上限 30 秒,复杂计算会触发超时。

协议战争的前哨

协议战争的前哨

MCP 的野心不止于 Claude。OpenAI 最近被曝在内部评估类似的工具调用标准,Google 的 A2A(Agent-to-Agent)协议也在推。 Anthropic 抢先开源并建立生态,是在赌 AI 时代的"USB 接口"定义权。

stdio 到 HTTP 的迁移,表面是技术选型,实际是使用场景的扩张。本地助手 → 云端服务 → 平台分发,每一步都在降低用户门槛,扩大潜在受众。

那位开发者把过程写成博客后,评论区最热的疑问是:如果大家都这么干,Smithery.ai 的商业模式会不会被架空?毕竟 Vercel 免费层直接提供了托管能力,平台的价值只剩下目录和发现。

这个问题暂时没有答案。但一个下午就能复制的技术方案,通常意味着门槛还在快速下降。