KEMBAR78
Expand MCP Workbench to support more MCP Client features by tylerpayne · Pull Request #6785 · microsoft/autogen · GitHub
Skip to content

Conversation

@tylerpayne
Copy link
Contributor

@tylerpayne tylerpayne commented Jul 9, 2025

Why are these changes needed?

MCP Servers can request sampling from the MCP Host/Client's LLM.

Also exposed additional MCP ClientSession methods for listing and reading/getting prompts, resources, and resourceTemplates. This makes the McpWorkbench more like a full MCP Client.

Related issue number

N/A

Checks


Thoughts @ekzhu @victordibia ?

@codecov
Copy link

codecov bot commented Jul 9, 2025

Codecov Report

Attention: Patch coverage is 97.61905% with 4 lines in your changes missing coverage. Please review.

Project coverage is 80.81%. Comparing base (aa131bb) to head (7ad84bc).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...es/autogen-ext/src/autogen_ext/tools/mcp/_actor.py 96.11% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6785      +/-   ##
==========================================
+ Coverage   80.42%   80.81%   +0.39%     
==========================================
  Files         233      233              
  Lines       17922    18074     +152     
==========================================
+ Hits        14413    14607     +194     
+ Misses       3509     3467      -42     
Flag Coverage Δ
unittests 80.81% <97.61%> (+0.39%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@tylerpayne
Copy link
Contributor Author

Improving the test coverage

@victordibia
Copy link
Collaborator

Looks good and trending in the right direction.
Let me know if you'd need some help with the typing/pyright/CI steps and I can help.
I think we can build on it going forward.

Some things to consider in the future that @ekzhu and I have discussed include

  • streaming intermediate updates from long running tools. In essences tools could be agents themselves and it can be work streaming their intermediate updates so that other agents/UX can act on it. We can revisit this once MCP has a formal structure on how this should be done - see MCP proposals 776 and 383

  • improving the "bus" for user input. MCP servers already support user input requests - it can be useful to explore how teams or agents can have a central user input "bus" where these sort of elicitation requests can be piped into (instead of adding a user proxy each time). A simple solution might be to allow BaseAgent agent have a input_function of sorts.

Copy link
Collaborator

@ekzhu ekzhu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! I think we should go with it

Tyler Payne added 2 commits July 16, 2025 16:12
Also add exception logging in the actor loop
Using a real MCP server where possible. Had to put this server (mcp_server_comprehensive) outside of the tools directory to avoid module name collisions with the http directory in the tools folder
@tylerpayne
Copy link
Contributor Author

Pushed a small cleanup to the parsing of SamplingMessages. Also increased test coverage.

@tylerpayne tylerpayne marked this pull request as ready for review July 17, 2025 14:58
@tylerpayne
Copy link
Contributor Author

@victordibia ready to merge (and squash ideally since I've added so many little fixup commtis) when you are!

@victordibia victordibia merged commit 413d8f1 into microsoft:main Jul 17, 2025
69 checks passed
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.

3 participants