Context
The built-in transport definitions intentionally cover Streamable HTTP and stdio. Some legacy endpoints still require HTTP+SSE, but compatibility must not mask authentication, network, or modern protocol failures.
Scope
- Add an explicit legacy SSE transport definition or isolated compatibility subpath.
- Offer opt-in Streamable HTTP to SSE fallback only for clear transport-mismatch responses.
- Construct a fresh official client and transport for every fallback attempt.
- Never fall back after generic network errors, authorization failure, OAuth failure, or an established modern exchange.
- Integrate typed failure classification, abort, reconnect policy, and deterministic shutdown.
- Emit a compatibility warning and document the deprecation posture.
- Keep legacy implementation code out of the default client entrypoint when practical.
Acceptance criteria
Dependencies
Non-goals
- Making legacy SSE the default transport.
- Retrying every failed HTTP connection with GET.
- Session resumption or event replay.
Context
The built-in transport definitions intentionally cover Streamable HTTP and stdio. Some legacy endpoints still require HTTP+SSE, but compatibility must not mask authentication, network, or modern protocol failures.
Scope
Acceptance criteria
Dependencies
Non-goals