cd /news/ai-agents/three-high-severity-http-advisories-… · home › topics › ai-agents › article
[ARTICLE · art-158334] src=github.com ↗ pub= topic=ai-agents verified=true sentiment=↓ negative

Three high-severity HTTP advisories in the MCP TypeScript SDK

Three high-severity HTTP advisories were issued for the MCP TypeScript SDK, affecting `@modelcontextprotocol/server` versions 2.0.0 through 2.2.0, where an MCP server reached over HTTP could deliver one client's responses and notifications to another client because messages were matched to a connection by JSON-RPC `id` alone and SDK clients number requests from 0. The fix is to upgrade to `@modelcontextprotocol/server` 2.3.0 or later, which refuses to be shared — a second `connect()` rejects with `ALREADY_CONNECTED` and a stateless transport rejects its second request — so affected apps must also change code to build a new `McpServer` per call, per request, or per session. The advisories state that stdio servers, `createMcpHandler()` with a per-call factory, and `@modelcontextprotocol/sdk` 1.26.0 and later are not affected.

read1 min views23 publishedOct 15, 2026
Three high-severity HTTP advisories in the MCP TypeScript SDK
Image: Michielbdejong (auto-discovered)

Repository navigation #

Package #

Affected versions #

Patched versions #

Description #

Summary

In affected versions, an MCP server reached over HTTP could deliver one client's responses and notifications to another client. This happened when clients shared one stateless transport, or one McpServer or Server instance.

Messages were matched to a connection by JSON-RPC id alone. SDK clients number requests from 0, so ids collide in normal use.

Am I affected?

Yes, if more than one client can reach your HTTP endpoint and your code creates the transport or the server once at startup, instead of once per request or per session. Until this release, the README examples of @modelcontextprotocol/hono, express, fastify and node showed that pattern.

Affected versions: @modelcontextprotocol/server 2.0.0 through 2.2.0.

Not affected:

  • createMcpHandler() with a factory that builds a new server on every call
  • stdio servers
  • @modelcontextprotocol/sdk 1.26.0 and later

Fix

Upgrade to @modelcontextprotocol/server 2.3.0 or later.

You also need to change your code. The SDK now refuses to be shared, so an affected app fails requests after upgrading: a second connect() rejects with ALREADY_CONNECTED, and a stateless transport rejects its second request.

Change to one of these:

  • createMcpHandler(): pass a factory that builds a new McpServer on every call.
  • Per request: build a newMcpServer and a new transport inside the request handler.
  • Per session: setsessionIdGenerator and keep oneMcpServer and one transport per session.

If you cannot upgrade yet, the same change fixes affected versions.

── more in #ai-agents 4 stories · sorted by recency
── more on @mcp typescript sdk 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/three-high-severity-…] indexed:0 read:1min 2026-10-15 · —