内容提要
mcp-handler 2.0发布,支持2026-07-28版Model Context Protocol规范及TypeScript SDK v2,兼容旧版Streamable HTTP客户端,无需Redis或会话存储。新版本要求Node.js 20和zod4,移除HTTP+SSE传输,工具注册改用新API。提供Next.js路由示例,便于快速部署MCP服务器。
延伸解读
升级前需注意的破坏性变更
mcp-handler 2.0 引入了多项不兼容变更:要求 Node.js 20 和 zod4,工具注册改用 SDK v2 的 registerTool API,并移除了 HTTP+SSE 传输(/sse 和 /message 返回 410)。如果现有客户端仍依赖旧传输,建议暂留 1.x 版本,同时迁移到 Streamable HTTP。
无状态设计降低部署复杂度
新版本原生支持无状态的 2026-07-28 协议,并兼容 2025 时代的 Streamable HTTP 客户端,且无需 Redis 或会话存储。这意味着服务器可以更简单地部署和扩展,尤其适合 Serverless 环境,因为不需要维护会话状态。
兼容层平滑过渡
通过提供无状态兼容层,现有 Streamable HTTP 客户端可以继续连接同一个 /mcp 端点,而服务器端可以逐步采用新协议。这种设计允许在不中断服务的情况下升级,降低了迁移风险。
Q&A
mcp-handler 2.0 支持哪个版本的 MCP 规范?
mcp-handler 2.0 支持 2026-07-28 版本的 Model Context Protocol 规范。
mcp-handler 2.0 有哪些新特性?
mcp-handler 2.0 支持无状态的 2026-07-28 协议,包括每请求元数据和 server/discover;为使用 2025 时代 Streamable HTTP 的客户端提供无状态兼容层;无需 Redis 或会话存储;同时支持两种协议。
mcp-handler 2.0 的安装要求是什么?
需要 Node.js 20 或更高版本,以及 zod4。安装命令为:npm install mcp-handler@^2 @modelcontextprotocol/server@^2 zod@^4。
如何在 Next.js 中使用 mcp-handler 2.0 创建 MCP 服务器?
在 app/api/mcp/route.ts 中导入 createMcpHandler,然后调用它并注册工具。例如,注册一个 roll_dice 工具,使用 z.object 定义输入模式。最后,MCP 客户端可以连接到 /api/mcp 端点。
mcp-handler 2.0 移除了什么传输方式?
移除了已弃用的 HTTP+SSE 传输。对 /sse 和 /message 的请求现在返回 410 Gone。如果客户端仍依赖该传输,应继续使用 mcp-handler 1.x 并迁移到 Streamable HTTP。
mcp-handler 2.0 与旧版 Streamable HTTP 客户端兼容吗?
是的,mcp-handler 2.0 为使用 2025 时代 Streamable HTTP 的客户端提供了无状态兼容层,因此现有的无状态 Streamable HTTP 客户端可以继续连接到同一个 /mcp 端点。