diff --git a/navi/main.py b/navi/main.py index 2e0b849..581d030 100644 --- a/navi/main.py +++ b/navi/main.py @@ -86,7 +86,7 @@ mcp_manager = await get_mcp_manager() tool_registry = get_tool_registry() await register_mcp_tools(tool_registry, mcp_manager) - for tool_name in ("reload_tools", "mcp_status"): + for tool_name in ("reload_tools", "mcp_status", "spawn_agent"): tool = tool_registry.get(tool_name) if hasattr(tool, "_mcp_manager"): tool._mcp_manager = mcp_manager diff --git a/navi/tools/spawn_agent.py b/navi/tools/spawn_agent.py index 8f1214c..cdb416a 100644 --- a/navi/tools/spawn_agent.py +++ b/navi/tools/spawn_agent.py @@ -84,12 +84,14 @@ backend_registry, session_store, memory_store=None, + mcp_manager=None, ) -> None: self._profile_registry = profile_registry self._tool_registry = tool_registry self._backend_registry = backend_registry self._session_store = session_store self._memory_store = memory_store + self._mcp_manager = mcp_manager async def execute(self, params: dict) -> ToolResult: # Import here to avoid module-level circular import @@ -145,6 +147,7 @@ backend_registry=self._backend_registry, workers=[], # no post-response workers for sub-agents memory_store=self._memory_store, + mcp_manager=self._mcp_manager, ) try: