{"version":"2.1.265","anchor":"mcp-telemetry-now-records-negotiated-legacy-sse-transport","canonical_anchor":"mcp-connections-gain-legacy-httpsse-fallback-on-initialize","heading":"MCP connections fall back to legacy HTTP+SSE when Streamable-HTTP initialize fails","tier":"notice","area":"MCP","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.265\/e\/mcp-telemetry-now-records-negotiated-legacy-sse-transport","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.265","markdown":"### MCP connections fall back to legacy HTTP+SSE when Streamable-HTTP initialize fails\n\nMCP servers that reject the modern initialize request now get retried over legacy HTTP+SSE instead of failing, recorded in telemetry\n\n**What**\n\n- When a Streamable-HTTP MCP server's initialize POST request fails (for example, a 405 Method Not Allowed or similar transport error), Claude Code now retries the connection using the legacy HTTP+SSE transport instead of failing immediately \u2014 closing the failed transport and re-dialing with `mode: \"legacy\"`.\n\n- This fallback is gated behind `tengu_mcp_legacy_sse_fallback`, dials with an abort controller, and uses a capped retry budget.\n\n- The `mcp_connect` success telemetry event gained a new `negotiatedLegacySse` field recording whether a connection ended up using the legacy SSE transport.\n\n**Why** Some MCP servers only support the older HTTP+SSE transport and reject the newer Streamable-HTTP handshake. This fallback lets Claude Code still connect to them automatically instead of the connection simply failing, and the telemetry field makes it possible to see how often the older transport is still needed.\n\n- Area: MCP\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 2\/5"}