The MCP Go SDK was dropping any message the server coalesced with the SSE endpoint event
PR #1270, merged 2026-09-15, fixes SSEClientTransport.Connect creating one event scanner for the endpoint event and a second for subsequent messages. Each scanner owns a buffered reader, so bytes read ahead by the first were discarded when it was abandoned, and a message coalesced into the same read as the endpoint vanished while the connection stayed open. The fix reuses one scanner across the handshake and the message-reading goroutine with no public API change. The regression test is honest about its bounds: on unmodified main the separate-message control passes and the coalesced case times out, the HTTP response boundary is simulated with no real proxy, and the Streamable HTTP conformance suite was not run since this is the legacy transport.
Source
↳ Follow the thread