Skip to content
PluginStats

@modelcontextprotocol/express weekly downloads statistics

By modelcontextprotocol (8 listings) · npm · MCP servers

Express adapters for the Model Context Protocol TypeScript server SDK - Express middleware

View on npm Stale · Oct 18, 2026

@modelcontextprotocol/express has 487,757 recorded weekly downloads on npm, an increase of 59.3% over the past 30 days, ranking #271 of 2,391 tracked listings.

Weekly downloads
487,757
Official API · Oct 18, 2026
7-day growth
-24.6%
-159.4K weekly downloads
30-day growth
+59.3%
+181.6K weekly downloads
90-day growth
+7039%
+480.9K weekly downloads
Rank
#271
Among tracked npm listings

About @modelcontextprotocol/express

@modelcontextprotocol/express

Express adapters for the MCP TypeScript server SDK.

This package is a thin Express integration layer for @modelcontextprotocol/server.

It does not implement MCP itself. Instead, it helps you:

  • create an Express app with sensible defaults for MCP servers
  • add DNS rebinding protection via Host header validation (recommended for localhost servers)
  • protect routes with requireBearerAuth (validates Authorization: Bearer … via your OAuthTokenVerifier)
  • serve OAuth Protected Resource Metadata (RFC 9728) via mcpAuthMetadataRouter

Install

npm install @modelcontextprotocol/server @modelcontextprotocol/express express

# For MCP Streamable HTTP over Node.js (IncomingMessage/ServerResponse):
npm install @modelcontextprotocol/node

Exports

  • createMcpExpressApp(options?)
  • hostHeaderValidation(allowedHostnames)
  • localhostHostValidation()
  • requireBearerAuth(options)
  • mcpAuthMetadataRouter(options)
  • getOAuthProtectedResourceMetadataUrl(serverUrl)
  • OAuthTokenVerifier (interface)

Usage

Create an Express app (localhost DNS rebinding protection by default)
import { createMcpExpressApp } from '@modelcontextprotocol/express';

const app = createMcpExpressApp(); // default host is 127.0.0.1; protection enabled
Streamable HTTP endpoint (Express)
import { createMcpExpressApp } from '@modelcontextprotocol/express';
import { NodeStreamableHTTPServerTransport } from '@modelcontextprotocol/node';
import { McpServer } from '@modelcontextprotocol/server';

const app = createMcpExpressApp();

app.post('/mcp', async (req, res) => {
    // Stateless example: create a server and a transport per request (with sessions: one pair per session).
    const server = new McpServer({ name: 'my-server', version: '1.0.0' });
    const transport = new NodeStreamableHTTPServerTransport({ sessionIdGenerator: undefined });
    await server.connect(transport);
    await transport.handleRequest(req, res, req.body);
});
Host header validation (DNS rebinding protection)
import { hostHeaderValidation } from '@modelcontextprotocol/express';

app.use(hostHeaderValidation(['localhost', '127.0.0.1', '[::1]']));

Description from the npm listing.

  • modelcontextprotocol
  • mcp
  • express
  • middleware

README badge

Show your rank in a README or on your website. The badge updates automatically.

Charts

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

Adoption over time

@modelcontextprotocol/express weekly downloads on npm, last 90 days: 487,757 weekly downloads as of Oct 18, 2026, +7039% over 90 days.@modelcontextprotocol/expressWeekly downloads on npm · Last 90 days487,757downloads / week+7039% over 90 days0100K200K300K400K500K600K700KJul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18downloads / weekobservedarchived (Internet Archive)no observationsJul 23, 2026 – Oct 18, 2026 · 88 observations · Updated Oc…pluginstats.com
@modelcontextprotocol/express weekly downloads on npm, last 90 days: 487,757 weekly downloads as of Oct 18, 2026, +7039% over 90 days.

7/30/90-day growth

@modelcontextprotocol/express weekly downloads growth on npm: -24.6% over 7 days, +59.3% over 30 days, +7039% over 90 days.@modelcontextprotocol/expressWeekly downloads growth on npm487,757downloads / week now7-day growth-159,445 weekly downloads-24.6%30-day growth+181,630 weekly downloads+59.3%90-day growth+480,925 weekly downloads+7039%Growth vs. nearest observation to each baseline date · Updated Oct 18, 2026pluginstats.com
@modelcontextprotocol/express weekly downloads growth on npm: -24.6% over 7 days, +59.3% over 30 days, +7039% over 90 days.

Ranking history

@modelcontextprotocol/express npm ranking history: currently #271 (by weekly downloads).@modelcontextprotocol/expressnpm ranking · by weekly downloads · Last 90 days#271current rank#265#270#275#280#285#290Jul 23Aug 7Aug 22Sep 6Sep 21Oct 6Oct 21rankOct 18, 2026 – Oct 21, 2026 · 4 observations · Updated Oct 18, 2026pluginstats.com
@modelcontextprotocol/express npm ranking history: currently #271 (by weekly downloads).

Listing placement

All npm2,389 listings · 120 pages · 1,195 shown · page 14, #11 (overall #271)
All npm: every listing in weekly downloads order

Listing placement

MCP servers300 listings · 15 pages · page 1, #18 (overall #18)
MCP servers: every listing in weekly downloads order

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.

Each band is one page of 20. Weekly downloads on a linear 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.

Recent observations

Full history (122)
Recent weekly downloads observations for @modelcontextprotocol/express
Date (UTC)Weekly downloadsChange vs. previous
487,757+139.1K
348,618-79.1K
427,760+24K
403,731-140.2K
543,979-128.1K
672,0900
672,090+24.9K
647,202+18K
629,183+22.4K
606,747+29K
577,732+56K
521,726+52.3K
469,433-78.1K
547,526—

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/@modelcontextprotocol/express. First seen Oct 16, 2026; last successful collection Oct 21, 2026. See the methodology.