# mcp-handler changelog > Adapter for serving Model Context Protocol servers from Next.js, Nuxt and other web framework routes. - Vendor: Vercel - Category: Frameworks & Libraries - Official site: https://github.com/vercel/mcp-handler - Tracked by: What's New (https://whatsnew.fyi/product/mcp-handler) - Harvested from: GitHub (vercel/mcp-handler) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## Releases ### v2.1.1 - Date: 2026-08-13 - Version: v2.1.1 - Original notes: https://github.com/vercel/mcp-handler/releases/tag/v2.1.1 - Permalink: https://whatsnew.fyi/product/mcp-handler/releases/v2.1.1 - **changed** — Forward maxSubscriptions to the MCP SDK handler so applications can bound or disable subscription streams ###### Patch Changes - e38a932: Forward `maxSubscriptions` to the MCP SDK handler so applications can bound or disable subscription streams. ### v2.1.0 - Date: 2026-07-30 - Version: v2.1.0 - Original notes: https://github.com/vercel/mcp-handler/releases/tag/v2.1.0 - Permalink: https://whatsnew.fyi/product/mcp-handler/releases/v2.1.0 - **changed** — Replace createMcpHandler(initialize, serverOptions, config) with createMcpHandler(initialize, options) using a single options object combining ServerOptions with serverInfo, verboseLogs, and onEvent, exported as McpHandlerOptions - **removed** — Remove deprecated 1.x compatibility shims: basePath, streamableHttpEndpoint, sseEndpoint, sseMessageEndpoint, disableSse, redisUrl, maxDuration, and sessionIdGenerator ###### Minor Changes - 8398dbd: `createMcpHandler(initialize, serverOptions, config)` is now `createMcpHandler(initialize, options)` — a single options object combining the SDK's `ServerOptions` with `serverInfo`, `verboseLogs`, and `onEvent` (exported as `McpHandlerOptions`). The deprecated 1.x compatibility shims (`basePath`, `streamableHttpEndpoint`, `sseEndpoint`, `sseMessageEndpoint`, `disableSse`, `redisUrl`, `maxDuration`, `sessionIdGenerator`) are removed. ### v2.0.1 - Date: 2026-07-29 - Version: v2.0.1 - Original notes: https://github.com/vercel/mcp-handler/releases/tag/v2.0.1 - Permalink: https://whatsnew.fyi/product/mcp-handler/releases/v2.0.1 - **changed** — Mount the MCP handler directly at a framework route instead of using legacy transport endpoint routing - **changed** — CLI now generates app/api/mcp/route.ts for the MCP handler - **deprecated** — Legacy route, SSE, Redis, and session config keys remain accepted as ignored 2.x compatibility shims ###### Patch Changes - e6e6378: Mount the MCP handler directly at a framework route and remove legacy transport endpoint routing. The CLI now generates `app/api/mcp/route.ts`; deprecated route, SSE, Redis, and session config keys remain accepted as ignored 2.x compatibility shims. ### v2.0.0 - Date: 2026-07-29 - Version: v2.0.0 - Original notes: https://github.com/vercel/mcp-handler/releases/tag/v2.0.0 - Permalink: https://whatsnew.fyi/product/mcp-handler/releases/v2.0.0 - **changed** — Upgrade to MCP SDK v2 and the 2026-07-28 MCP specification - **changed** — Handler now serves the stateless 2026-07-28 protocol with per-request _meta envelope and server/discover natively - **changed** — SDK's stateless legacy fallback answers 2025-era Streamable HTTP clients from the same handler - **removed** — Legacy HTTP+SSE transport (protocol 2024-11-05) has been removed - **changed** — The /sse and /message endpoints answer 410 Gone - **deprecated** — redis dependency and redisUrl, maxDuration, and sessionIdGenerator config options are deprecated no-ops - **changed** — Tool/prompt/resource registration follows SDK v2 with registerTool using z.object(...) Standard Schemas - **removed** — Variadic server.tool(...) is gone - **changed** — extra.authInfo is now ctx.http?.authInfo - **changed** — withMcpAuth now builds 401/403 challenges with the SDK's consolidated OAuthError/bearerAuthChallengeResponse - **deprecated** — Dynamic Client Registration is deprecated by the spec in favor of Client ID Metadata Documents ###### Major Changes - 33c06b6: Upgrade to MCP SDK v2 and the 2026-07-28 MCP specification (CIMD era). - The handler now serves the stateless 2026-07-28 protocol (per-request `_meta` envelope, `server/discover`) natively, with the SDK's stateless legacy fallback answering 2025-era Streamable HTTP clients from the same handler. - **Breaking**: requires `@modelcontextprotocol/server` ^2.0.0 (replaces the `@modelcontextprotocol/sdk` peer dependency), `zod` ^4.2.0 for schemas, and Node.js 20+. - **Breaking**: the legacy HTTP+SSE transport (protocol 2024-11-05) has been removed. `/sse` and `/message` endpoints answer `410 Gone`; the `redis` dependency and `redisUrl`, `maxDuration`, and `sessionIdGenerator` config options are deprecated no-ops. - **Breaking**: tool/prompt/resource registration follows SDK v2 (`registerTool` with `z.object(...)` Standard Schemas; variadic `server.tool(...)` is gone; `extra.authInfo` is now `ctx.http?.authInfo`). - `withMcpAuth` now builds its 401/403 challenges with the SDK's consolidated `OAuthError`/`bearerAuthChallengeResponse`, keeping RFC 9728 `resource_metadata` discovery in place for CIMD-era authorization flows. Dynamic Client Registration is deprecated by the spec in favor of Client ID Metadata Documents — see README. ### v1.1.0 - Date: 2026-03-24 - Version: v1.1.0 - Original notes: https://github.com/vercel/mcp-handler/releases/tag/v1.1.0 - Permalink: https://whatsnew.fyi/product/mcp-handler/releases/v1.1.0 ###### Minor Changes - 7ac97dc: Require minimum of @modelcontextprotocol/sdk@1.26.0 which uses web streams ### v1.0.7 - Date: 2026-01-09 - Version: v1.0.7 - Original notes: https://github.com/vercel/mcp-handler/releases/tag/v1.0.7 - Permalink: https://whatsnew.fyi/product/mcp-handler/releases/v1.0.7 ###### Patch Changes - 5a92040: Update pinned version of MCP TS SDK to 1.25.2 for vulnerability patch - 8c51d39: Allow passing in sessionIdGenerator for stateful sessions ### v1.0.6 - Date: 2026-01-05 - Version: v1.0.6 - Original notes: https://github.com/vercel/mcp-handler/releases/tag/v1.0.6 - Permalink: https://whatsnew.fyi/product/mcp-handler/releases/v1.0.6 ###### Patch Changes - a9c7af5: Ensure auth profiles stay tied to the request ### v1.0.5 - Date: 2026-01-03 - Version: v1.0.5 - Original notes: https://github.com/vercel/mcp-handler/releases/tag/v1.0.5 - Permalink: https://whatsnew.fyi/product/mcp-handler/releases/v1.0.5 ###### Patch Changes - 81bdf1c: Update README, examples, and support for > MCP TS SDK 1.25.0 - 6e75141: Add raw headers to incoming message - 51b8a24: bump @modelcontextprotocol/sdk version ### v1.0.4 - Date: 2025-11-20 - Version: v1.0.4 - Original notes: https://github.com/vercel/mcp-handler/releases/tag/v1.0.4 - Permalink: https://whatsnew.fyi/product/mcp-handler/releases/v1.0.4 ###### Patch Changes - 1.0.4: update dependencies to use version 1.22.0 of @modelcontextprotocol/sdk ### v1.0.3 - Date: 2025-10-10 - Version: v1.0.3 - Original notes: https://github.com/vercel/mcp-handler/releases/tag/v1.0.3 - Permalink: https://whatsnew.fyi/product/mcp-handler/releases/v1.0.3 ###### Patch Changes - 639e634: update oauth usage