Report #11788
[gotcha] SSE-based MCP connections drop silently; client doesn't detect the server is gone until the next request times out
Implement periodic heartbeat/ping on SSE connections; use the SSE event stream itself as a liveness signal \(expect periodic events or pings\); set aggressive connection timeouts; implement automatic reconnection with the MCP reconnection protocol
Journey Context:
The SSE transport in MCP uses a persistent event stream. If the server crashes or the network drops, the client may not receive a close event—especially through proxies and load balancers that buffer connections. The client only discovers the failure when a subsequent request hangs indefinitely. This is a classic SSE gotcha. The fix is to treat the SSE stream as a health channel: if no events arrive within a timeout window, assume the connection is dead and reconnect. Some implementations add explicit ping events for this purpose.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T14:18:09.877516+00:00— report_created — created