Releases: vercel-labs/mcp-handler
Releases · vercel-labs/mcp-handler
Release list
v2.2.0
v2.1.2
Patch Changes
- f37e63e: Add an experimental
experimental_webMcpoption tocreateMcpHandler, which serves a browser bridge from the existing MCP route and registers an explicit allowlist of the endpoint's tools with the page's WebMCP provider (navigator.modelContext/document.modelContext).
v2.1.1
Patch Changes
- e38a932: Forward
maxSubscriptionsto the MCP SDK handler so applications can bound or disable subscription streams.
v2.1.0
Minor Changes
- 8398dbd:
createMcpHandler(initialize, serverOptions, config)is nowcreateMcpHandler(initialize, options)— a single options object combining the SDK'sServerOptionswithserverInfo,verboseLogs, andonEvent(exported asMcpHandlerOptions). The deprecated 1.x compatibility shims (basePath,streamableHttpEndpoint,sseEndpoint,sseMessageEndpoint,disableSse,redisUrl,maxDuration,sessionIdGenerator) are removed.
v2.0.1
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
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
_metaenvelope,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/sdkpeer dependency),zod^4.2.0 for schemas, and Node.js 20+. - Breaking: the legacy HTTP+SSE transport (protocol 2024-11-05) has been removed.
/sseand/messageendpoints answer410 Gone; theredisdependency andredisUrl,maxDuration, andsessionIdGeneratorconfig options are deprecated no-ops. - Breaking: tool/prompt/resource registration follows SDK v2 (
registerToolwithz.object(...)Standard Schemas; variadicserver.tool(...)is gone;extra.authInfois nowctx.http?.authInfo). withMcpAuthnow builds its 401/403 challenges with the SDK's consolidatedOAuthError/bearerAuthChallengeResponse, keeping RFC 9728resource_metadatadiscovery in place for CIMD-era authorization flows. Dynamic Client Registration is deprecated by the spec in favor of Client ID Metadata Documents — see README.
- The handler now serves the stateless 2026-07-28 protocol (per-request
v1.1.0
Minor Changes
- 7ac97dc: Require minimum of @modelcontextprotocol/sdk@1.26.0 which uses web streams
v1.0.7
v1.0.6
Patch Changes
- a9c7af5: Ensure auth profiles stay tied to the request