MCP server for systemd unit management via D-Bus
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"mcp-systemd-crunchtools","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# mcp-systemd-crunchtools <!-- mcp-name: io.github.crunchtools/systemd --> MCP server for systemd unit management via D-Bus. Manages the full lifecycle of any systemd unit — not just Podman-managed containers: listing, status, lifecycle control, unit file authoring and decommissioning, journal queries, failed-unit and job triage, timers, host info, and login sessions. ## Installation ```bash # uvx (zero-install) uvx mcp-systemd-crunchtools # pip pip install mcp-systemd-crunchtools # Container podman run \ -v /run/dbus/system_bus_socket:/run/dbus/system_bus_socket \ -v /etc/systemd/system:/etc/systemd/system:Z \ --security-opt label=type:container_runtime_t \ quay.io/crunchtools/mcp-systemd ``` The D-Bus socket mount is required for every tool. The `/etc/systemd/system` mount is only required for `unit_file_write_tool` and `unit_file_remove_tool` — omit it to run the server read/lifecycle-only. ## Configuration | Variable | Required | Default | Description | |----------|----------|---------|-------------| | `DBUS_SYSTEM_BUS_SOCKET` | No | `/run/dbus/system_bus_socket` | D-Bus system bus socket path | | `SYSTEMD_UNIT_DIR` | No | `/etc/systemd/system` | Directory unit_file_write/remove operate on | | `SYSTEMD_EXTRA_PROTECTED_UNITS` | No | — | Comma-separated units added to the built-in denylist | ## Protected units `unit_stop`, `unit_restart`, `unit_disable`, `unit_mask`, and `unit_file_remove` refuse to act on a small built-in denylist of core system units (dbus, sshd, networking, logind, journald). This cannot be bypassed — it exists so an agent can't take down the box it's running on. Add more units with `SYSTEMD_EXTRA_PROTECTED_UNITS`. ## Claude Code Integration ```bash claude mcp add mcp-systemd-crunchtools \ -- uvx mcp-systemd-crunchtools ``` ## Tools (21) ### Units (3) | Tool | Description | |------|-------------| | `unit_list` | List loaded units or installed unit files | | `unit_status` | Curated status (active state, PID, memory, CPU…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.