kaffa 06ab47aca8 refactor: Extract large functions, improve exception handling, remove duplicates
## Large function extraction
- servers.py: Extract 8 _impl functions from register_server_tools (449 lines)
- certificates.py: Extract 7 _impl functions from register_certificate_tools (386 lines)
- MCP tool wrappers now delegate to module-level implementation functions

## Exception handling improvements
- Replace 11 broad `except Exception` with specific types
- health.py: (OSError, subprocess.SubprocessError)
- configuration.py: (HaproxyError, IOError, OSError, ValueError)
- servers.py: (IOError, OSError, ValueError)
- certificates.py: FileNotFoundError, (subprocess.SubprocessError, OSError)

## Duplicate code extraction
- Add parse_servers_state() to utils.py (replaces 4 duplicate parsers)
- Add disable_server_slot() to utils.py (replaces duplicate patterns)
- Update health.py, servers.py, domains.py to use new helpers

## Other improvements
- Add TypedDict types in file_ops.py and health.py
- Set file permissions (0o600) for sensitive files
- Update tests to use specific exception types

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 13:23:51 +09:00
2026-02-03 11:20:34 +09:00
2026-02-03 11:37:56 +09:00

haproxy-mcp

HAProxy Dynamic Load Balancer Management with MCP Interface

Overview

MCP server for managing HAProxy load balancer configurations dynamically.

Features

  • Dynamic backend management
  • SSL certificate handling
  • Health checks
  • Domain routing

Usage

Configure as MCP server in Claude Code settings.

License

MIT

Description
HAProxy Dynamic Load Balancer Management with MCP Interface
Readme MIT 302 KiB
Languages
Python 99.8%
Dockerfile 0.2%