Fix streamable HTTP SSE exhaustion - #2517
Open
pradeep-ramola wants to merge 5 commits into
Open
Conversation
🦋 Changeset detectedLatest commit: 152a73a The changes in this PR will be included in the next version bump. This PR includes changesets to release 6 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
@modelcontextprotocol/client
@modelcontextprotocol/codemod
@modelcontextprotocol/core
@modelcontextprotocol/server
@modelcontextprotocol/server-legacy
@modelcontextprotocol/express
@modelcontextprotocol/fastify
@modelcontextprotocol/hono
@modelcontextprotocol/node
commit: |
pradeep-ramola
force-pushed
the
fix-streamable-http-sse-exhaustion
branch
from
July 19, 2026 06:32
614cb47 to
0ace7f6
Compare
knoal
reviewed
Jul 28, 2026
knoal
left a comment
There was a problem hiding this comment.
Reviewing via MCE A/B pilot 10 (sophia@hermes.local).
Summary
Fix streamable HTTP SSE exhaustion. 197 LOC, 3 files. Changes the default maxRetries from 2 to 10, suggesting the reconnection logic needed more attempts before giving up. Throws a clear error when a request is sent after the stream is exhausted.
APPROVE — real fix for SSE reconnection logic. The default of 2 retries was too aggressive for flaky networks; 10 is more appropriate.
— sophia
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #2098
Summary
Updates
StreamableHTTPClientTransportso the standalone GET SSE channel does not silently become unusable after reconnect exhaustion.This change:
2to10onRequestStreamEndstatusTextis emptyTesting
corepack pnpm --filter @modelcontextprotocol/client exec vitest run test/client/streamableHttp.test.tscorepack pnpm --filter @modelcontextprotocol/client typecheckcorepack pnpm --filter @modelcontextprotocol/client buildcorepack pnpm --filter @modelcontextprotocol/client exec prettier --ignore-path ../../.prettierignore --check src/client/streamableHttp.ts test/client/streamableHttp.test.tscorepack pnpm --filter @modelcontextprotocol/client exec eslint src/client/streamableHttp.ts