Vercel 发布 mcp-handler@2.0.0,原生支持 Model Context Protocol 最新规范和 TS SDK v2,简化跨框架 MCP 服务部署。
mcp-handler@2.0.0 现已发布,支持 2026-07-28 版 Model Context Protocol 规范和 MCP TypeScript SDK v2。
我们最初构建 mcp-handler,是为了让开发者能够更轻松地在 Next、Nuxt、Svelte 等流行 Web 框架上快速启动 MCP server。
在全新的 2.0 版本中,handler 现已支持:
原生提供无状态的 2026-07-28 protocol,包括每次请求的 metadata 和 server/discover
原生提供无状态的 2026-07-28 protocol,包括每次请求的 metadata 和 server/discover
面向使用 2025 年版 Streamable HTTP 的 client,提供无状态兼容层
面向使用 2025 年版 Streamable HTTP 的 client,提供无状态兼容层
两种 protocol 均无须依赖 Redis,也不需要 session storage
两种 protocol 均无须依赖 Redis,也不需要 session storage
现有的无状态 Streamable HTTP client 可以继续连接同一个 /mcp endpoint,同时 server 可以采用最新的 protocol。
安装新 package:
npm install mcp-handler@^2 @modelcontextprotocol/server@^2 zod@^4
创建一个 Next.js route handler:
1import { createMcpHandler } from "mcp-handler";2import { z } from "zod";3const handler = createMcpHandler((server) => {4 server.registerTool(5 "roll_dice",6 {7 description: "Roll an N-sided die",8 inputSchema: z.object({9 sides: z.number().int().min(2),10 }),11 },12 async ({ sides }) => {13 const value = 1 + Math.floor(Math.random() * sides);14 return {15 content: [16 {17 type: "text",18 text: `🎲 You rolled a ${value}!`,19 },20 ],21 };22 },23 );24});
MCP client 可以连接到 /api/mcp。
你可以使用已针对 mcp-handler 2.0 更新的 Next.js MCP server template 快速开始。
版本 2 要求使用 Node.js 20 或更高版本以及 zod4,并以 @modelcontextprotocol/server 取代了 @modelcontextprotocol/sdk。
Tool、prompt 和 resource 的定义现在使用 SDK v2 registration API 和 Standard Schema input,例如通过 registerTool 配合 z.object(...)。
已移除弃用的 HTTP+SSE transport。发送到 /sse 和 /message 的请求将返回 410 Gone。如果你的 client 仍然依赖该 transport,请继续使用 mcp-handler 1.x,同时将它们迁移到 Streamable HTTP。