typescript-sdk/examples/sse-polling/README.md
Felix Weinberger 1823aae891
Implement MCP 2026-07-28 (#2286)
Co-authored-by: Matt <77928207+mattzcarey@users.noreply.github.com>
Co-authored-by: Konstantin Konstantinov <KKonstantinov@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 14:01:10 +01:00

877 B

sse-polling

SEP-1699 server-initiated SSE disconnection + client reconnection with Last-Event-ID replay. Sessionful 2025 by definition (the feature lives on NodeStreamableHTTPServerTransport + an EventStore). eventStore resumability is a 2025-session concern with no 2026-07-28 per-request equivalent.

The long-operation tool emits two log notifications, calls ctx.http?.closeSSE() mid-stream, emits two more while the client is disconnected, then returns. The client transport reconnects after retryInterval (300 ms) with Last-Event-ID; the event store replays the buffered events. The client asserts the result arrived AND the post-disconnect log was delivered.

pnpm --filter @mcp-examples/sse-polling server -- --http --port 3001    # term 1
pnpm --filter @mcp-examples/sse-polling client -- --http http://127.0.0.1:3001/mcp    # term 2