Skip to content

Support stateless MCP Streamable HTTP - #509

Merged
imran-siddique merged 1 commit into
mainfrom
agent/streamable-http-2026
Aug 14, 2026
Merged

Support stateless MCP Streamable HTTP#509
imran-siddique merged 1 commit into
mainfrom
agent/streamable-http-2026

Conversation

@imran-siddique

Copy link
Copy Markdown
Member

Closes #496.

Implements the MCP 2026-07-28 stateless Streamable HTTP request contract for network upstreams: per-request protocol metadata, mirrored headers, JSON and request-scoped SSE responses, and x-mcp-header parameter mirroring. Invalid streams, content types, annotations, and unimplemented WebSocket catalogs fail closed.

The issue comment proposed initialize and Mcp-Session-Id, but those belong to 2025-era compatibility. The 2026-07-28 protocol explicitly removes both; this PR follows the current official contract and documents that decision.

Evidence:

  • focused transport, forwarding, catalog, and conformance tests passed
  • full suite: 1167 passed, 24 skipped
  • Ruff and mypy passed
  • Bandit passed on the new transport module
  • git diff check passed

@imran-siddique
imran-siddique marked this pull request as ready for review August 14, 2026 22:31
@imran-siddique
imran-siddique merged commit 6d2ab32 into main Aug 14, 2026
13 checks passed
@imran-siddique
imran-siddique deleted the agent/streamable-http-2026 branch August 14, 2026 23:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Check the gateway against the stateless MCP revision (2026-07-28)

1 participant