Every call returns a status field and a message rather than terminal text an agent has to interpret, which is the whole reason to use it over shelling out. add_process is the one tool that stops short — it hands back a configuration block for you to paste into supervisord.conf and reload.
A Python server that talks to a Supervisord daemon over XML-RPC. Nine tools covering process control, status, logs and system information, with a CLI offering the same operations.
- Processes started, stopped and restarted by name — start_process, stop_process, restart_process
- Every configured process listed with state, PID and uptime, and one process in detail — list_processes, get_process_status
- Process logs read, with a line count and an option for stderr instead of stdout — get_logs
- Supervisord's own state: API version, supervisor version, server URL — get_system_info
- Configuration reloaded — reload_config
- A new process configuration prepared for you to add to supervisord.conf — add_process
- The same operations as a CLI: supervisord-mcp start, stop, restart, list-processes, status, logs, info and reload
A running Supervisord daemon with its XML-RPC interface reachable — the default is http://localhost:9001/RPC2, overridable with --server-url. Install with uv add supervisord-mcp and run supervisord-mcp mcp over stdio, with the working directory set to the project holding your supervisord.conf. Processes must already exist in supervisord.conf.
One command — uv add supervisord-mcp
