Labsco
MCP SERVER

Supervisord MCP

by aether-platform

Start, stop and inspect Supervisord processes without shelling out to supervisorctl.

Containers, Kubernetes & Cluster Operations
Summary
Structured process state instead of parsed supervisorctl output.

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.

What it is

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.

What you get
  • 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
Requirements

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.

Setup effort

One command — uv add supervisord-mcp