Skip to content

Support MCP streamable http #479

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
showenx opened this issue May 1, 2025 · 8 comments
Closed

Support MCP streamable http #479

showenx opened this issue May 1, 2025 · 8 comments
Assignees
Labels
tools Issues related to tools
Milestone

Comments

@showenx
Copy link

showenx commented May 1, 2025

With Streamable HTTP protocol updated
https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http

Can we expand SseServerParams or add a new protocol type to support that?
https://google.github.io/adk-docs/tools/mcp-tools/#step-1-attach-the-fastmcp-server-to-your-adk-agent-via-mcptoolset

@boyangsvl boyangsvl added the tools Issues related to tools label May 1, 2025
omarbenhamid added a commit to omarbenhamid/google-adk-python that referenced this issue May 9, 2025
@omarbenhamid
Copy link
Contributor

Hello @showenx here is a PR to implement streamable http MCPs, I added an new StreamableHTTPServerParams class as the current implementation of ADK uses isinstance() to determine the kind of client, so I did not want to derive too much. You can test and give me some feedback.

@omarbenhamid
Copy link
Contributor

The modifications in my repo were in a feature branch, I just emerged them back to main to make the discussion easier.

In fact mcp_toolset.py was updated, the two interfaces are in fact 90% similar. But I peferred keeping a consistent approach by creating a specific class. Tell me if you manage to test.

@showenx
Copy link
Author

showenx commented May 10, 2025

is this the main branch? https://github.com/omarbenhamid/google-adk-python

tried following, StreamableHTTPServerParams is not accessible
from google.adk.tools.mcp_tool.mcp_toolset import StreamableHTTPServerParams

omarbenhamid added a commit to omarbenhamid/google-adk-python that referenced this issue May 10, 2025
@omarbenhamid
Copy link
Contributor

You're right thanks, just fixed it now. (before you needed to import from mcp_session manager, which was not the target) you can pull again.

@showenx
Copy link
Author

showenx commented May 11, 2025

looking good, works for me on local build

@seanzhou1023
Copy link
Collaborator

@omarbenhamid thank you for your understanding and fix:)

@seanzhou1023 seanzhou1023 added this to the FixIt Week milestone May 28, 2025
copybara-service bot pushed a commit that referenced this issue May 28, 2025
Copybara import of the project:

--
c5b9d49 by Omar BENHAMID <omar.benhamid@smart-gts.com>:

feat: #479 support for streamable http MCP servers for MCPToolset

--
9431bc1 by Omar BENHAMID <omar.benhamid@smart-gts.com>:

feat: #479 streamable http added to right package

--
8b4aabe by Omar BENHAMID <omar.benhamid@smart-gts.com>:

feat: #479 streamable http : review feedbacks + sample agent
COPYBARA_INTEGRATE_REVIEW=#650 from omarbenhamid:feature/mcp-streamable-http 625f028
PiperOrigin-RevId: 764419586
raflFaisal pushed a commit to raflFaisal/adk-python that referenced this issue May 28, 2025
Copybara import of the project:

--
c5b9d49 by Omar BENHAMID <omar.benhamid@smart-gts.com>:

feat: google#479 support for streamable http MCP servers for MCPToolset

--
9431bc1 by Omar BENHAMID <omar.benhamid@smart-gts.com>:

feat: google#479 streamable http added to right package

--
8b4aabe by Omar BENHAMID <omar.benhamid@smart-gts.com>:

feat: google#479 streamable http : review feedbacks + sample agent
COPYBARA_INTEGRATE_REVIEW=google#650 from omarbenhamid:feature/mcp-streamable-http 625f028
PiperOrigin-RevId: 764419586
omarbenhamid added a commit to omarbenhamid/google-adk-python that referenced this issue May 30, 2025
@Yeswanth-gif
Copy link

seanzhou1023 when will this be released ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tools Issues related to tools
Projects
None yet
Development

No branches or pull requests

5 participants