diff --git a/pentestagent/interface/tui.py b/pentestagent/interface/tui.py index e41a221..1fdb66d 100644 --- a/pentestagent/interface/tui.py +++ b/pentestagent/interface/tui.py @@ -496,7 +496,9 @@ class MCPScreen(ModalScreen): servers = self.mcp_manager.get_all_servers() for server in servers: - root.add(server.name, data={"server": server}) + server_node = root.add(server.name, data={"server": server}) + for tool in server.tools: + server_node.add(tool['name'], data={"tool": tool}) try: tree.focus() @@ -514,6 +516,7 @@ class MCPScreen(ModalScreen): node = event.node try: mcp = node.data.get("server") if node.data else None + tool = node.data.get("tool") if node.data else None # Update right-hand description pane try: @@ -530,6 +533,8 @@ class MCPScreen(ModalScreen): connected_icon = "🟢" if mcp.config.enabled else "🔴" text.append(f"Connected: {connected_icon}\n", style="#9a9a9a") + elif tool is not None: + text.append(f"{tool['description']}\n", style="#d4d4d4") else: text.append(f"Choose a server\n", style="#d4d4d4") desc_widget.update(text)