Skip to content

Conversation

@qianl15
Copy link
Contributor

@qianl15 qianl15 commented Nov 24, 2025

Apply similar fixes from #3413 to DBOS agent. Make sure FastMCPToolset get_tools and call_tool are 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_tools sometimes would raise a non-serializable exception.

@qianl15
Copy link
Contributor Author

qianl15 commented Nov 24, 2025

The test failed because it took a long time (15min) to download dependencies. A re-run should succeed.

Mon, 24 Nov 2025 21:25:27 GMT
 Downloaded nvidia-nvjitlink-cu12
...
Mon, 24 Nov 2025 21:40:17 GMT
created: 2/2 workers

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.
Copy link
Collaborator

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}'
Copy link
Collaborator

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

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants