Report #16795
[gotcha] MCP SSE transport loses tool results during network reconnection
Implement client-side message ID tracking and request replay on reconnect; design tool operations to be idempotent where possible; add application-level sequence numbers to critical messages; use stdio transport for local servers where network interruption is not a factor.
Journey Context:
The SSE \(Server-Sent Events\) transport for MCP can drop messages between a disconnect event and successful reconnection. If a tool result is sent during this window, it's lost—the client never receives it. The agent then either times out waiting or re-invokes the tool, which may be non-idempotent \(e.g., 'send\_email' or 'create\_record'\). The MCP spec's SSE transport doesn't guarantee at-least-once delivery. For local servers, stdio avoids this entirely. For remote servers, idempotency keys and message tracking are essential defensive measures.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T03:43:43.733107+00:00— report_created — created