Vercel — AI · · 2 min read

Latest MCP spec now supported in mcp-handler

Mirrored from Vercel — AI for archival readability. Support the source by reading on the original site.

[email protected] is now available with support for the 2026-07-28 Model Context Protocol specification and MCP TypeScript SDK v2.

We originally built mcp-handler to make it easier to spin up MCP servers on popular web frameworks including Next, Nuxt, Svelte, and more.

With the new 2.0 release, the handler now supports:

  • The stateless 2026-07-28 protocol, served natively, including per-request metadata and server/discover

  • A stateless compatibility layer for clients using 2025-era Streamable HTTP

  • Both protocols with no Redis dependency or session storage

Existing stateless Streamable HTTP clients can continue connecting to the same /mcp endpoint while servers adopt the latest protocol.

Install the new packages:

npm install mcp-handler@^2 @modelcontextprotocol/server@^2 zod@^4

Create a Next.js route handler:

app/api/mcp/route.ts
import { createMcpHandler } from "mcp-handler";
import { z } from "zod";
const handler = createMcpHandler((server) => {
server.registerTool(
"roll_dice",
{
description: "Roll an N-sided die",
inputSchema: z.object({
sides: z.number().int().min(2),
}),
},
async ({ sides }) => {
const value = 1 + Math.floor(Math.random() * sides);
return {
content: [
{
type: "text",
text: `🎲 You rolled a ${value}!`,
},
],
};
},
);
});

MCP clients can connect to /api/mcp.

Get started with the Next.js MCP server template, updated for mcp-handler 2.0.

Copy link to headingBefore you upgrade

Version 2 requires Node.js 20 or later and zod4, and replaces @modelcontextprotocol/sdk with @modelcontextprotocol/server.

Tool, prompt, and resource definitions now use the SDK v2 registration APIs and Standard Schema inputs, such as registerTool with z.object(...).

The deprecated HTTP+SSE transport has been removed. Requests to /sse and /message return 410 Gone. If your clients still depend on that transport, remain on mcp-handler 1.x while migrating them to Streamable HTTP.

Discussion (0)

Sign in to join the discussion. Free account, 30 seconds — email code or GitHub.

Sign in →

No comments yet. Sign in and be the first to say something.

More from Vercel — AI