feat(gui): Integrate External MCPs into Operations Hub with status indicators
This commit is contained in:
@@ -953,6 +953,15 @@ class AppController:
|
||||
self.ui_agent_tools = {t: agent_tools_cfg.get(t, True) for t in models.AGENT_TOOL_NAMES}
|
||||
label = self.project.get("project", {}).get("name", "")
|
||||
session_logger.open_session(label=label)
|
||||
# Trigger auto-start of MCP servers
|
||||
self.event_queue.put('refresh_external_mcps', None)
|
||||
|
||||
async def refresh_external_mcps(self):
|
||||
await mcp_client.get_external_mcp_manager().stop_all()
|
||||
# Start servers with auto_start=True
|
||||
for name, cfg in self.mcp_config.mcpServers.items():
|
||||
if cfg.auto_start:
|
||||
await mcp_client.get_external_mcp_manager().add_server(cfg)
|
||||
|
||||
def cb_load_prior_log(self, path: Optional[str] = None) -> None:
|
||||
root = hide_tk_root()
|
||||
@@ -1266,6 +1275,9 @@ class AppController:
|
||||
"action": "ticket_completed",
|
||||
"payload": payload
|
||||
})
|
||||
elif event_name == "refresh_external_mcps":
|
||||
import asyncio
|
||||
asyncio.run(self.refresh_external_mcps())
|
||||
|
||||
def _handle_request_event(self, event: events.UserRequestEvent) -> None:
|
||||
"""Processes a UserRequestEvent by calling the AI client."""
|
||||
|
||||
Reference in New Issue
Block a user