feat(mcp): support SSE transport alongside Streamable HTTP#11647
Open
handsdiff wants to merge 1 commit into
Open
feat(mcp): support SSE transport alongside Streamable HTTP#11647handsdiff wants to merge 1 commit into
handsdiff wants to merge 1 commit into
Conversation
da6c9fd to
51f31e3
Compare
51f31e3 to
c3807e6
Compare
c3807e6 to
4e78f63
Compare
4e78f63 to
2e32979
Compare
2e32979 to
17b78f8
Compare
The MCP HTTP client path now picks between `streamable_http` (current MCP spec) and `sse` (older MCP transport, still used by postgres-mcp and other servers). Selection rules: - Explicit `transport: sse|streamable_http` in server config wins. - Otherwise, URLs whose path ends with `/sse` default to SSE. - Everything else defaults to `streamable_http` (unchanged behavior). Unblocks hermes agents connecting to MCP servers that only expose an SSE endpoint (e.g. the trapezius / slate-vela db MCP), without forcing every remote server to migrate to Streamable HTTP. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
handsdiff
added a commit
to handsdiff/hermes-agent
that referenced
this pull request
Apr 24, 2026
…usResearch#11647) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
17b78f8 to
295af8d
Compare
This was referenced Apr 24, 2026
This was referenced May 2, 2026
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.
Summary
The MCP HTTP client currently hardcodes the
streamable_httptransport, which blocks connecting to MCP servers that only expose the older SSE transport (e.g.postgres-mcpand many other community servers that haven't migrated). This adds transport selection without changing default behavior:transport: sse/transport: streamable_httpin the server config takes precedence./sse, default to SSE.streamable_http(unchanged from today).This lets users connect to either transport without forcing every remote server to migrate to Streamable HTTP. No changes to stdio servers or to default behavior for existing Streamable HTTP configs.
Test plan
pytest tests/tools/test_mcp_tool.py -q(includes new SSE transport tests)postgres-mcp) and confirm tools are discoverable🤖 Generated with Claude Code