Menu

AI

MCP "SSE transport is deprecated" Warning: How to Fix It (Claude Code, VS Code, Cursor, Gemini CLI, SDKs)

Seeing an MCP SSE transport deprecated warning or a missing SSEServerTransport export? Switch the client config to HTTP and move the server to Streamable HTTP.

By: Irina ShvayaNovember 2, 2026

MCP "SSE transport is deprecated" Warning: How to Fix It (Claude Code, VS Code, Cursor, Gemini CLI, SDKs)

This fix is part of MCP troubleshooting, within The MCP Guide. Still stuck? Request a free MCP readiness review.

The "SSE transport is deprecated" message means a client or SDK is using the old HTTP+SSE transport from the 2024-11-05 MCP spec. It still works in most clients, but it is scheduled for removal. The fastest fix on the client side is to change the server entry from sse to http and point it at the server's Streamable HTTP endpoint (often /mcp instead of /sse). If you own the server, serve Streamable HTTP and keep the SSE endpoints only for clients that cannot upgrade yet.

Checked against: the 2026-07-28 deprecated features registry, Claude Code's MCP docs, VS Code's MCP configuration reference and the TypeScript SDK troubleshooting guide on 2 November 2026 (TypeScript @modelcontextprotocol/server 2.4.0). eSEOspace did not run these steps.

Key Takeaways

  • HTTP+SSE has been deprecated since protocol version 2025-03-26 and is formally "Deprecated" in the 2026-07-28 registry.
  • Its earliest removal is "three months after SEP-2596 reaches Final," and no features have been removed yet.
  • Claude Code says the SSE transport is deprecated, and from v2.1.265 an http entry falls back to SSE automatically.
  • VS Code tries Streamable HTTP first and falls back to SSE.
  • The TypeScript SDK v2 moved SSEServerTransport to the frozen @modelcontextprotocol/server-legacy package.

What this error means

The first remote MCP transport, defined in the 2024-11-05 spec, used two endpoints: an SSE stream for server messages and a separate POST endpoint for client messages. Streamable HTTP replaced it in 2025-03-26 with a single endpoint. The deprecated features registry lists HTTP+SSE with Streamable HTTP as the migration path. New implementations "SHOULD NOT adopt" a deprecated feature and existing ones "SHOULD migrate." Our SSE vs Streamable HTTP comparison covers the history.

You may meet the deprecation in three forms:

  • A warning or doc note in your client when you add a server with --transport sse or "type": "sse".
  • A build error such as Module '"@modelcontextprotocol/server"' has no exported member 'SSEServerTransport' after upgrading the TypeScript SDK.
  • A vendor email saying its /sse URL will stop working.

"SSE" in Streamable HTTP is different. A Streamable HTTP server can still reply to a single request with Content-Type: text/event-stream. That is not deprecated.

Quick fix

  1. Find the server's Streamable HTTP URL in the vendor's docs. It usually ends in /mcp.
  2. Change your client entry from sse to http and use that URL.
  3. Restart or reconnect the server in your client.
  4. Confirm the tools load.
  5. If the vendor only offers SSE, keep the SSE entry for now and ask the vendor for a date.

Fix by client / OS

Claude Code

Claude Code's docs state: "The SSE (Server-Sent Events) transport is deprecated. Use HTTP servers instead, where available." On v2.1.265 or later, add every remote server the same way, and Claude Code switches to SSE only if HTTP is refused:

claude mcp remove <name>
claude mcp add --transport http <name> https://example.com/mcp

On older versions, --transport sse is still the way to reach an SSE-only server. In JSON config, an entry with a url must also have "type": "http" (or "sse" / "ws"), or Claude Code treats it as stdio and skips it.

VS Code

The configuration reference says type can be "http" or "sse", and "VS Code first tries the HTTP Stream transport and falls back to SSE if HTTP is not supported." Set "type": "http" in mcp.json. Note that the workspace-root .mcp.json format supports only stdio and HTTP.

Cursor

Cursor's MCP docs still list SSE as one of three transports alongside stdio and Streamable HTTP. Use the HTTP URL in mcp.json where the vendor offers one.

Gemini CLI

In Gemini CLI's MCP server docs, url is the SSE endpoint and httpUrl is the HTTP streaming endpoint. Move the address from url to httpUrl to use Streamable HTTP. See Gemini CLI MCP errors.

Your TypeScript server

The troubleshooting guide says v2 "no longer ships the server-side SSE transport." If you must keep it, change the import:

import { SSEServerTransport } from '@modelcontextprotocol/server-legacy/sse';

The guide calls that package "frozen" and says to serve new code over Streamable HTTP, which still reaches 2025-era clients.

Your Python server

The Python SDK README says it speaks "every standard transport: stdio, Streamable HTTP, and SSE." Serve streamable_http_app() as your main endpoint.

Where to find the logs

  • Claude Code: /mcp shows status per server; claude --debug-file /tmp/claude-debug.log records connection detail.
  • VS Code: MCP: List Servers > select server > Show Output, per the manage and troubleshoot page.
  • Server side: check which path clients hit. Traffic still arriving at /sse tells you who has not migrated.

If it still fails

  • HTTP URL returns 404 or 405. The server may only host SSE. The spec says clients can POST first, then try a GET for an endpoint event. Keep sse until the vendor adds HTTP.
  • Stream drops with SSE stream disconnected: TypeError: terminated. The TypeScript guide says SSE responses send a keepalive comment every 15 seconds by default; check keepAliveMs and any proxy idle timeout.
  • After switching, you get version errors. Moving to Streamable HTTP can also move you to the 2026-07-28 revision. See protocol version mismatch.
  • Need the legacy flow in detail. Read our legacy HTTP+SSE reference and the MCP error code lookup.

Next step

If you still run an SSE server, list the clients that use it and set a removal date. eSEOspace's MCP readiness audit checks transport, auth and spec version for existing servers.

More in the MCP Guide

Free tools: MCP Error Code Lookup · MCP Config Generator

Latest research: State of MCP: October 2026

Frequently asked questions

Will SSE MCP servers stop working?

Not yet. As of November 2026 the registry shows HTTP+SSE as Deprecated, not Removed, with earliest removal three months after SEP-2596 reaches Final. Actual removal is a Core Maintainer decision.

Is Streamable HTTP the same as SSE?

No. Streamable HTTP uses one endpoint and a POST per message. It may answer a single request with an SSE stream, but that stream belongs to one request, not a shared connection.

Can my server support both?

Yes. The spec suggests hosting the old SSE and POST endpoints alongside the new MCP endpoint while clients migrate.

Does this affect local stdio servers?

No. The deprecation registry lists only the HTTP+SSE transport. The stdio transport, which clients use to launch local servers as processes, is a separate transport and is not on the deprecated list.

You Might Also like to Read

Get a FREE Website Audit

Enter your website and get a 20–30 page SEO, GEO, AEO & CRO audit within 24 hours. Completely free.

Don't have a site yet? Get in touch →

Ready to speak with a marketing expert?
Give us a call! (916) 866-7893

Websites Launched
1407
Websites Launched
Marketing Experts
29
Marketing Experts
Hours of Dedicated Work
204533
Hours of Dedicated Work
Irina S.Benjamin G.Jeanette M.David G.