-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Make FastMCPToolset work with DBOS #3540
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
base: main
Are you sure you want to change the base?
Conversation
|
The test failed because it took a long time (15min) to download dependencies. A re-run should succeed. |
| event_stream_handler: Optional event stream handler to use instead of the one set on the wrapped agent. | ||
| mcp_step_config: The base DBOS step config to use for MCP server steps. If no config is provided, use the default settings of DBOS. | ||
| model_step_config: The DBOS step config to use for model request steps. If no config is provided, use the default settings of DBOS. | ||
| fastmcp_toolset_step_config: The base DBOS step config to use for FastMCP toolset steps. If no config is provided, use the default settings of DBOS. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How would you feel about using the existing mcp_step_config?
| self._step_config = step_config or {} | ||
| self._step_name_prefix = step_name_prefix | ||
| id_suffix = f'__{wrapped.id}' if wrapped.id else '' | ||
| self._name = f'{step_name_prefix}__fastmcp_toolset{id_suffix}' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that in the Temporal implementation, we use the same activity names as the MCPServer. I wouldn't mind making the difference between MCPServer and FastMCPToolset here more invisible as well
Apply similar fixes from #3413 to DBOS agent. Make sure FastMCPToolset
get_toolsandcall_toolare properly wrapped as DBOS steps. Added a test to verify they're correctly checkpointed in the database as steps.Also fixed an issue where
get_toolssometimes would raise a non-serializable exception.