Skip to content
PluginStats

mcp-handler weekly downloads statistics

By vercel-labs (7 listings) · npm · MCP servers

Framework-agnostic HTTP adapter for Model Context Protocol servers

View on npm Fresh · Oct 17, 2026

mcp-handler has 653,325 recorded weekly downloads on npm, a decrease of 37.7% over the past 30 days.

It ranks #213 of 2,251 tracked npm listings by weekly downloads.

Over 90 days, weekly downloads changed by +5.4%.

PluginStats has 543 daily observations since Apr 23, 2025; the latest is from Oct 17, 2026.

Weekly downloads
653,325
Official API · Oct 17, 2026
7-day growth
-51.5%
-693.2K weekly downloads
30-day growth
-37.7%
-395.5K weekly downloads
90-day growth
+5.4%
+33.4K weekly downloads
Rank
#213
Among tracked npm listings

About mcp-handler

mcp-handler

mcp-handler is a framework-agnostic HTTP adapter for hosting Model Context Protocol (MCP) servers in JavaScript and TypeScript applications. It turns an MCP server definition into a Web-standard (Request) => Promise handler that can be mounted in Next.js, Nuxt/Nitro, SvelteKit, Hono, and other Fetch-compatible frameworks.

Built on MCP SDK v2, it serves the 2026-07-28 MCP specification natively while transparently falling back to stateless Streamable HTTP for 2025-era clients — one handler, both protocol generations.

Installation

Note: mcp-handler 2.x requires the MCP SDK v2 packages (@modelcontextprotocol/server ^2.0.0), zod ^4.2.0, and Node.js 20+. If you're on @modelcontextprotocol/sdk 1.x, use mcp-handler 1.x.

Framework Compatibility

createMcpHandler returns a Web-standard request handler, so the package is not tied to Vercel or any particular framework. It can be mounted in:

• Next.js Route Handlers • Nuxt/Nitro server handlers using fromWebHandler • SvelteKit server routes • Hono routes using c.req.raw • Other frameworks that expose Fetch-compatible Request and Response APIs

Frameworks based on Node.js IncomingMessage and ServerResponse, such as Express, require a Web Request adapter or the official MCP framework middleware.

Quick Start (Next.js)

/api/mcp is a convention, not a required path. mcp-handler does not inspect the request pathname, so you can place this handler at any framework route and give clients that route's complete URL.

Connecting Clients

If your client supports Streamable HTTP, connect directly:

For stdio-only clients, use mcp-remote:

Protocol Support

• 2026-07-28 (current): served natively — stateless, no sessions, per-request _meta envelope, server/discover. • 2025-era Streamable HTTP: served via the SDK's stateless legacy fallback from the same handler. GET/DELETE session operations answer 405 (serving is stateless). • HTTP+SSE transport (2024-11-05): removed in 2.x. Mount only the Streamable HTTP handler; unmounted /sse and /message paths are handled by your framework. Redis is no longer needed or used.

Authorization (CIMD era)

The 2026-07-28 spec deprecates Dynamic Client Registration (DCR) in favor of Client ID Metadata Documents (CIMD), where the OAuth client identifies itself with an HTTPS URL that serves its metadata. CIMD support is advertised and implemented by your authorization server (client_id_metadata_document_supported in its RFC 8414 metadata); this package keeps your MCP server's resource-server surface up to date:

• withMcpAuth verifies bearer tokens and answers 401/403 with RFC 9728-compliant WWW-Authenticate challenges pointing at your protected resource metadata. • protectedResourceHandler serves the RFC 9728 Protected Resource Metadata document listing your authorization servers.

See Authorization for wiring details.

Migrating from 1.x

• Install @modelcontextprotocol/server (v2) and zod@^4; remove @modelcontextprotocol/sdk and redis. • inputSchema/argsSchema take a full Standard Schema (e.g. z.object({ ... })) instead of a raw zod shape. • Variadic server.tool(...) / .prompt(...) / .resource(...) are removed — use registerTool / registerPrompt / registerResource. • In handler callbacks, extra.authInfo is now ctx.http?.authInfo. • createMcpHandler(initialize, serverOptions, config) is now createMcpHandler(initialize, options) — one options object combining the SDK's server options with serverInfo, verboseLogs, and onEvent. • Route and transport config options from 1.x (basePath, streamableHttpEndpoint, sseEndpoint, sseMessageEndpoint, disableSse, redisUrl, maxDuration, and sessionIdGenerator) are removed. Mount the handler at the desired route instead.

Documentation

• Client Integration - Claude Desktop, Cursor, Windsurf setup • Authorization - OAuth and token verification • Advanced Usage - Dynamic routing, Nuxt, configuration options • WebMCP Bridge - Expose allowlisted tools to in-page agents (experimental) • MCP Events - Register draft webhook subscription methods with application-owned storage and delivery (experimental)

Features

• Framework-agnostic: Web-standard Request and Response handler • Framework compatibility: Next.js, Nuxt/Nitro, SvelteKit, Hono, and other Fetch-compatible frameworks • Dual-era protocol support: 2026-07-28 (stateless) and 2025-era Streamable HTTP from one handler • TypeScript Support: Full type definitions included

Requirements

• Node.js 20+ • A framework with Web-standard Request and Response APIs, either directly or through an adapter • Next.js 13+ when using Next.js, or Nuxt 3+ when using Nuxt

License

Apache-2.0

Description from the npm listing.

  • mcp
  • vercel
  • next.js
  • ai

Where mcp-handler sits in the listing

Each band is one page of 20. Weekly downloads on a log scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.

All npm2,248 listings · 113 pages · page 11, #13 (overall #213)
All npm: every listing in weekly downloads order
PNG SVG
MCP servers253 listings · 13 pages · page 1, #16 (overall #16)
MCP servers: every listing in weekly downloads order
PNG SVG

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

mcp-handler weekly downloads on npm, last 90 days: 653,325 weekly downloads as of Oct 17, 2026, +5.4% over 90 days.mcp-handlerWeekly downloads on npm · Last 90 days653,325downloads / week+5.4% over 90 days400K600K800K1M1.2M1.4M1.6MJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 20, 2026 – Oct 17, 2026 · 90 observations · Updated Oc…pluginstats.com
mcp-handler weekly downloads on npm, last 90 days: 653,325 weekly downloads as of Oct 17, 2026, +5.4% over 90 days.
PNG SVG

7/30/90-day growth

mcp-handler weekly downloads growth on npm: -51.5% over 7 days, -37.7% over 30 days, +5.4% over 90 days.mcp-handlerWeekly downloads growth on npm653,325downloads / week now7-day growth-693,222 weekly downloads-51.5%30-day growth-395,489 weekly downloads-37.7%90-day growth+33,380 weekly downloads+5.4%Growth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
mcp-handler weekly downloads growth on npm: -51.5% over 7 days, -37.7% over 30 days, +5.4% over 90 days.
PNG SVG

Ranking history

mcp-handler npm ranking history: currently #213 (by weekly downloads).mcp-handlernpm ranking · by weekly downloads · Last 90 days#213current rank#60#80#100#120#140#160#180#200#220Jul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18rankOct 17, 2026 – Oct 18, 2026 · 2 observations · Updated Oct 17, 2026pluginstats.com
mcp-handler npm ranking history: currently #213 (by weekly downloads).
PNG SVG

Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.

Recent observations

Full history (543)
Recent weekly downloads observations for mcp-handler
Date (UTC)Weekly downloadsChange vs. previous
653,325-141.3K
794,608-15.1K
809,664-292.6K
1,102,215-285.6K
1,387,8560
1,387,856+6.4K
1,381,467+34.9K
1,346,547+8.4K
1,338,115+32.2K
1,305,949+28.9K
1,277,007+33.7K
1,243,348-239.3K
1,482,663-5.5K
1,488,164—

Similar npm MCP servers plugins

Data source

Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.

Listing: https://www.npmjs.com/package/mcp-handler. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.