Skip to content

Conversation

@Ratish1
Copy link
Contributor

@Ratish1 Ratish1 commented Dec 4, 2025

Description

This PR enables streaming output from MCP tools to be surfaced through the Agent.stream_async() event stream.

This PR has the following changes:

  • A new MCPClient.call_tool_stream method was introduced. It uses the progress_callback from the underlying mcp library to receive streaming chunks and yields them via an async generator.
  • MCPAgentTool.stream was updated to call this new method, wrapping intermediate chunks in ToolStreamEvent and the final result in a ToolResultEvent.
  • Unit tests were added for both MCPClient and MCPAgentTool to validate the new streaming functionality.

Related Issues

Closes #1273

Documentation PR

N/A

Type of Change

New feature

Testing

How have you tested the change? Verify that the changes do not break functionality or introduce warnings in consuming repositories: agents-docs, agents-tools, agents-cli

  • I ran hatch run prepare
  • I ran unit tests

Checklist

  • I have read the CONTRIBUTING document
  • I have added any necessary tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have added an appropriate example to the documentation to outline the feature, or no new docs are needed
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] MCP Tools do not surface streamed tool output (AsyncGenerator) through Agent.stream_async()

1 participant