Skip to main content
Glama
LukeLamb

claude-systemd-mcp

by LukeLamb

Claude systemd

Inspección de systemd de solo lectura para Claude Desktop en Linux. Permite que Claude responda a la pregunta operativa de Linux más común: "¿por qué este servicio no funciona?", sin que tengas que copiar y pegar manualmente la salida de systemctl y journalctl.

Siete herramientas cubren el listado de unidades, el estado por unidad, el seguimiento del diario, la búsqueda de unidades fallidas, la inspección de propiedades de unidad, la visualización de archivos de unidad sin procesar (incluyendo anulaciones drop-in) y la inspección de trabajos en cola.

Estrictamente de solo lectura en la v0.1. No hay restart, enable, disable o daemon-reload. Es seguro habilitarlo en hosts de producción y sistemas compartidos. Si deseas un control destructivo, ejecuta esos comandos manualmente a través de claude-terminal-mcp.

Requisitos

  • Linux con systemd (cualquier Ubuntu/Debian/Fedora/Arch moderno).

  • systemctl y journalctl en el PATH (estándar con systemd).

  • Acceso de lectura al diario para las unidades que te interesan. Por defecto, el acceso al diario de todo el sistema requiere estar en el grupo systemd-journal o adm; los diarios de ámbito de usuario siempre son legibles por su propietario.

Related MCP server: systemd-mcp

Instalación (Claude Desktop)

  1. Descarga el último Systemd.mcpb desde la página de Releases.

  2. Settings → Extensions → Extension Developer → Install Extension → selecciona el archivo .mcpb.

  3. Habilítalo.

Herramientas

Herramienta

¿Qué responde?

list_units

¿Qué se está ejecutando? ¿Qué está cargado? Filtra por tipo/estado.

failed_units

¿Hay algo roto en este momento?

unit_status

Estado detallado de una unidad: estado activo/sub, estado habilitado, PID principal, recuento de reinicios, líneas recientes del diario, ruta del fragmento, rutas de anulación drop-in.

unit_show

Volcado completo de propiedades (variables de entorno, ExecStart, política de reinicio, dependencias — más de 100 propiedades).

unit_cat

Texto del archivo de unidad sin procesar más anulaciones drop-in — equivalente a systemctl cat <unit>.

tail_journal

Entradas de registro recientes con filtros opcionales de unidad / tiempo / prioridad.

list_jobs

Trabajos de systemd actualmente en cola o en ejecución (poco común; útil para activaciones atascadas).

Todas las herramientas admiten scope: "user" para inspeccionar unidades --user. El ámbito predeterminado es system.

Ejemplos de prompts

"¿Hay algo en estado fallido en este momento?" → failed_units

"¿Por qué ollama.service no está usando la GPU? Muéstrame sus anulaciones drop-in y las últimas 50 líneas de registro." → unit_cat ollama luego tail_journal unit=ollama lines=50

"¿Qué dijo el diario sobre errores y cosas peores en los últimos 10 minutos?" → tail_journal priority=3 since="10 minutes ago"

"¿Está nginx habilitado al arrancar y cuántas veces se ha reiniciado desde el último arranque?" → unit_status nginx

Política de privacidad

Esta extensión se ejecuta completamente en tu máquina local y solo invoca a systemctl y journalctl. Ningún dato sale de tu máquina. Sin E/S de red. Solo lectura: no puede modificar, reiniciar, habilitar, deshabilitar ni recargar nada.

La información visible para Claude incluye:

  • Nombres, descripciones y metadatos de cada unidad de sistema o de usuario que consultes (o cada unidad cargada si llamas a list_units).

  • El contenido completo de los archivos de unidad y las anulaciones drop-in (unit_cat): estos pueden contener líneas Environment= con secretos si los has configurado allí. No almacenes credenciales en archivos de unidad si tienes la intención de habilitar esta extensión.

  • Entradas recientes del diario para las unidades consultadas, incluidos los mensajes que registran los servicios, que pueden contener información de identificación personal, direcciones IP, rutas de solicitud o seguimientos de pila.

  • IDs de proceso, recuentos de reinicio y propiedades de tiempo de ejecución de los servicios.

Si tus archivos de unidad o diarios contienen datos confidenciales y no confías en el endpoint del LLM, no habilites esta extensión.

¿Por qué no hay operaciones destructivas?

Un conjunto de restart_unit / enable_unit / disable_unit se dejó fuera deliberadamente de la v0.1 porque:

  1. Requieren privilegios de root para las unidades de ámbito de sistema, lo que significa ejecutar Claude Desktop como root (malo) o configurar reglas de sudo (fricción específica de la extensión).

  2. Rara vez son necesarios en el flujo de trabajo que esta extensión realmente sirve: "por qué X está roto" es el 95% de los casos.

  3. Si necesitas reiniciar un servicio, el claude-terminal-mcp existente te da run_command sudo systemctl restart <unit> con la misma mecánica de sudo que usarías en cualquier otro lugar, además de un paso de confirmación en el prompt del sistema.

Mantener esta extensión como solo lectura significa que puede habilitarse en un host de producción, una estación de trabajo compartida o una máquina de cliente sin problemas de confianza. La v0.2 podría reconsiderar esto.

Solución de problemas

"systemctl is not installed" — Este servidor es solo para Linux. macOS y Windows no ejecutan systemd.

"Permission denied" al leer el diario — Agrégate a systemd-journal o adm: sudo usermod -aG systemd-journal $USER y luego cierra sesión y vuelve a entrar. O llama con scope: "user" para leer solo tu propio diario de ámbito de usuario (no se necesita grupo).

Resultados vacíos en tail_journal — Algunas distribuciones tienen diarios limitados o volátiles. Verifica Storage= en /etc/systemd/journald.conf: volatile significa que el diario se borra al reiniciar.

Desarrollo

Script único de Node.js de unas 400 líneas, cero dependencias de npm. Reconstruye el .mcpb:

cd bundle-source
zip -j ../Systemd.mcpb manifest.json package.json server.js README.md LICENSE icon.png glama.json

Licencia

MIT. Consulta LICENSE.

Relacionado

  • claude-terminal-mcp — shell + sistema de archivos + trabajos en segundo plano (úsalo para acciones destructivas de systemctl).

  • claude-sessions-mcp — gestión de sesiones tmux para trabajos de larga duración.

  • claude-rocm-mcp — monitoreo de GPU AMD; combina bien para "¿está sana la GPU?" junto con "¿está sano el servicio de la GPU?"

  • claude-linux-mcp — control de escritorio X11.

  • claude-ollama-mcp — cliente de API HTTP local de Ollama.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides read-only access to Unix/Linux command-line tools for AI agents, blocking dangerous operations like file deletion, modification, and command execution while enabling safe file inspection, searching, and system information gathering.
    -
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides AI assistants with safe, read-only access to Linux systemd services, including status monitoring, log querying, and dependency analysis, with optional granular permissions for service management actions.
    2
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Lets MCP clients (Claude Code, Claude Desktop) inspect a Linux home server's health over the network: uptime, load, memory, disk, Docker containers, systemd services, journal errors, and listening ports. Read-only, bearer-token secured.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to read and analyze Linux system logs—including systemd journal, syslog, kernel, application, and Docker container logs—for diagnostics and predictive analysis.
    MIT