Skip to main content

mcp-systemd-crunchtools

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

# 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

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)
unit_show Full property dump (deps, exec settings, cgroup)

Lifecycle (9)

Tool Description
unit_start Start a unit
unit_stop Stop a unit (protected-list guarded)
unit_restart Restart a unit (protected-list guarded)
unit_reload Reload a unit's config without restarting
unit_enable Enable a unit to start on boot
unit_disable Disable a unit from starting on boot (protected-list guarded)
unit_mask Mask a unit (protected-list guarded)
unit_unmask Unmask a unit
daemon_reload Reload systemd's unit file cache

Unit files (2)

Tool Description
unit_file_write Write a new unit file (backs up any file it overwrites)
unit_file_remove Decommission: stop, disable, back up, remove (protected-list guarded)

Troubleshooting (3)

Tool Description
journal_query Filtered journal query (unit, priority, since/until, pattern, boot)
failed_units List units in the 'failed' state
list_jobs List pending/stuck jobs

Timers (1)

Tool Description
timer_list List timers with next/last elapse

System (2)

Tool Description
system_status Manager state: running/degraded, failed/job counts, version
hostinfo Hostname, kernel, OS

Sessions (1)

Tool Description
session_list Who's logged in right now

License

AGPL-3.0-or-later

Metadata

Release files for mcp-systemd-crunchtools 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-systemd-crunchtools 0.3.1
File Size Uploaded Provenance Actions
mcp_systemd_crunchtools-0.3.1.tar.gz 213.7 kB With provenance Details for mcp_systemd_crunchtools-0.3.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mcp-systemd-crunchtools 0.3.1
File Interpreter ABI Platform Actions
mcp_systemd_crunchtools-0.3.1-py3-none-any.whl Python 3 none any Details for mcp_systemd_crunchtools-0.3.1-py3-none-any.whl

Total release size: 245.8 kB

Release files / mcp_systemd_crunchtools-0.3.1.tar.gz

Download URL mcp_systemd_crunchtools-0.3.1.tar.gz
Size 213.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d07a360d3b18383e6a6cf6f78d4c65bfc57928ab630f8c42847aa1d8d045ce34
BLAKE2b-256 checksum
How to use checksums
3f18e761c729d69aae8583b9db29f5f849003eccdfc72204c86781e8149b31ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Release files / mcp_systemd_crunchtools-0.3.1-py3-none-any.whl

Download URL mcp_systemd_crunchtools-0.3.1-py3-none-any.whl
Size 32.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
73e688c74b7bf76bde50e33bb85d7531925d7e5c04d64326a50fe71f315604f1
BLAKE2b-256 checksum
How to use checksums
53bd4d4ecc5c3423f46e85664cbccca6f26a458fd7243a377bdf13671823b043
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

Security for mcp-systemd-crunchtools 0.3.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for mcp_systemd_crunchtools-0.3.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page