Vercel's mcp-handler 2.0 Makes MCP Servers More Stateless

mcp-handler 2.0 supports the 2026-07-28 MCP spec while keeping older Streamable HTTP clients on the same endpoint and removing Redis or session-storage requirements.

Retrieval answer

mcp-handler 2.0 supports the 2026-07-28 MCP spec while keeping older Streamable HTTP clients on the same endpoint and removing Redis or session-storage requirements. Vercel's mcp-handler 2.0 release is small, but it points to where MCP server packaging is going: less bespoke state machinery and more framework-native endpoints. The release supports the 2026-07-28 MCP specification and the new @modelcontextprotocol/server package.

New Runtime synthesiseditorial-diagram
Hand-drawn architecture diagram where new and older MCP clients route through one web handler into tool cards while session storage is crossed out.
mcp-handler 2.0 makes a single web route carry the new stateless protocol and a compatibility path without Redis or session storage.New Runtime synthesis from public source inspectionOriginal source ↗
  1. Current specThe release supports the 2026-07-28 MCP spec and MCP TypeScript SDK v2.
  2. CompatibilityExisting stateless Streamable HTTP clients can continue using the same MCP endpoint.
  3. No sessionsThe handler runs both paths without Redis or per-client session storage.

Vercel’s mcp-handler 2.0 release is small, but it points to where MCP server packaging is going: less bespoke state machinery and more framework-native endpoints.

The release supports the 2026-07-28 MCP specification and the new @modelcontextprotocol/server package. It also keeps a stateless compatibility layer for clients still using 2025-era Streamable HTTP, so a server can adopt the latest protocol without forcing every client to move at once.

The practical detail is important: both paths run without Redis or session storage. MCP servers have often been treated as small sidecars that need their own deployment habits. A stateless route handler makes them easier to run inside existing web frameworks and serverless-style infrastructure.

The upgrade command is explicit:

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

Vercel’s example creates app/api/mcp/route.ts, registers a tool through registerTool, sets basePath: "/api", and exports the same handler as GET and POST. MCP clients then connect to /api/mcp.

There are real migration constraints. Version 2 requires Node.js 20 or later and zod 4. It replaces @modelcontextprotocol/sdk with @modelcontextprotocol/server. The old HTTP+SSE transport is removed; /sse and /message now return 410 Gone, so clients that still depend on that transport should stay on 1.x while migrating.

New Runtime Read

This is the MCP version of a broader infrastructure move: agent capabilities are becoming normal web routes with clear protocol versions, compatibility lanes, and deployment boundaries.

That matters for product teams because the MCP server stops being an experimental daemon hidden next to the app. It becomes an API surface that can be reviewed, tested, deployed, and rolled back like the rest of the system.

Recommendation

mcp-handler 2.0 supports the 2026-07-28 MCP spec while keeping older Streamable HTTP clients on the same endpoint and removing Redis or session-storage requirements.

Discovery graph / next reads

Continue through New Runtime

Open the graph
  1. 01topicAPI Design - New RuntimeExplore the api design topic hub.
  2. 02topicDeveloper Tools - New RuntimeExplore the developer tools topic hub.
  3. 03related materialCopilotKit Brings MCP Tool Calls Into The React InterfaceShares api design and developer tools.
  4. 04related materialVercel's Agent Platform Surface Is Becoming a Control PlaneShares api design and developer tools.
  5. 05related materialDr. Skill Audits What An Agent Loads Before It WorksShares developer tools and mcp.

These links are also published in this page’s JSON twin and as typed edges in DiscoveryGraph v1.

Who read this page?Machine requests, hidden until opened

Loading the privacy-safe route aggregate…

Open the JSON contract