diff --git a/mcp/server.py b/mcp/server.py index 2c35442..86a3d70 100644 --- a/mcp/server.py +++ b/mcp/server.py @@ -1267,13 +1267,22 @@ def haproxy_get_connections(backend: str = "") -> str: def haproxy_reload() -> str: """Reload HAProxy configuration (validates config first). + After reload, automatically restores server configurations from servers.json. + Returns: - Success message or error details if validation/reload failed + Success message with restored server count, or error details if failed """ success, msg = reload_haproxy() if not success: return msg - return "HAProxy configuration reloaded successfully" + + # Restore servers from config after reload + try: + restored = restore_servers_from_config() + return f"HAProxy configuration reloaded successfully ({restored} servers restored)" + except Exception as e: + logger.error("Failed to restore servers after reload: %s", e) + return f"HAProxy reloaded but server restore failed: {e}" @mcp.tool()