The packages in packages/middleware/* are thin integration layers that help you expose an MCP server in a specific runtime, platform, or web framework.
They intentionally do not add new MCP features or “business logic”. MCP functionality (tools, resources, prompts, transports, auth primitives, etc.) lives in @modelcontextprotocol/server (and other core packages). Middleware packages should primarily:
IncomingMessage/ServerResponse)@modelcontextprotocol/express — Express helpers (app defaults + Host header validation for DNS rebinding protection).@modelcontextprotocol/hono — Hono helpers (app defaults + JSON body parsing hook + Host header validation).@modelcontextprotocol/node — Node.js Streamable HTTP transport wrapper for IncomingMessage/ServerResponse.Most servers use:
@modelcontextprotocol/server for the MCP server implementation