From 0084b99f0506883bc11eb03b2b21680bd16ba7bb Mon Sep 17 00:00:00 2001 From: kappa Date: Sun, 8 Feb 2026 12:13:25 +0900 Subject: [PATCH] Hide empty server slots (0.0.0.0) from list_servers output Only show servers with actual IP addresses. Empty slots are HAProxy pre-allocated placeholders that add noise to the output. Co-Authored-By: Claude Opus 4.6 --- haproxy_mcp/tools/servers.py | 7 +++++-- tests/unit/tools/test_servers.py | 3 +-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/haproxy_mcp/tools/servers.py b/haproxy_mcp/tools/servers.py index 3ee27a7..48c8e34 100644 --- a/haproxy_mcp/tools/servers.py +++ b/haproxy_mcp/tools/servers.py @@ -73,9 +73,12 @@ def _haproxy_list_servers_impl(domain: str) -> str: for server_name, srv_info in backend_servers.items(): addr = srv_info["addr"] port = srv_info["port"] - status = "active" if addr != "0.0.0.0" else "disabled" - servers.append(f"• {server_name}: {addr}:{port} ({status})") + if addr == "0.0.0.0": + continue + servers.append(f"• {server_name}: {addr}:{port}") + if not servers: + return f"No active servers for {domain} ({backend})" return f"Servers for {domain} ({backend}):\n" + "\n".join(servers) except (HaproxyError, ValueError) as e: return f"Error: {e}" diff --git a/tests/unit/tools/test_servers.py b/tests/unit/tools/test_servers.py index f259ac5..0d12186 100644 --- a/tests/unit/tools/test_servers.py +++ b/tests/unit/tools/test_servers.py @@ -58,8 +58,8 @@ class TestHaproxyListServers: result = registered_tools["haproxy_list_servers"](domain="example.com") + assert "No active servers" in result assert "pool_1" in result - assert "disabled" in result def test_list_servers_with_active_servers(self, mock_socket_class, mock_select, patch_config_paths, response_builder): """List servers with active servers.""" @@ -90,7 +90,6 @@ class TestHaproxyListServers: assert "10.0.0.1" in result assert "10.0.0.2" in result - assert "active" in result class TestHaproxyAddServer: