Skip to main content
Glama
LukeLamb

claude-systemd-mcp

by LukeLamb

Claude systemd

适用于 Linux 上 Claude Desktop 的只读 systemd 检查工具。它让 Claude 能够回答最常见的 Linux 运维问题——“为什么这个服务坏了?”——而无需您手动复制粘贴 systemctl 和 journalctl 的输出。

七个工具涵盖了单元列表、单单元状态、日志追踪、失败单元查找、单元属性检查、原始单元文件显示(包括嵌入式覆盖文件)以及排队作业检查。

v0.1 版本严格只读。 不支持 restart、enable、disable 或 daemon-reload。在生产主机和共享系统上启用是安全的。如果您需要破坏性控制,请通过 claude-terminal-mcp 手动运行这些命令。

要求

  • 带有 systemd 的 Linux(任何现代 Ubuntu/Debian/Fedora/Arch)。

  • PATH 中包含 systemctl 和 journalctl(systemd 的标准配置)。

  • 对您关心的单元拥有日志读取权限。默认情况下,系统级日志访问需要属于 systemd-journal 或 adm 组;用户级日志始终可由其所有者读取。

Related MCP server: systemd-mcp

安装 (Claude Desktop)

  1. 从 Releases 页面下载最新的 Systemd.mcpb。

  2. 设置 → 扩展 → 扩展开发者 → 安装扩展 → 选择 .mcpb 文件。

  3. 启用。

工具

工具

回答的问题

list_units

正在运行什么?加载了什么?按类型/状态过滤。

failed_units

现在有什么坏了吗?

unit_status

单个单元的详细状态:活动/子状态、启用状态、主 PID、重启次数、最近的日志行、片段路径、嵌入式覆盖路径。

unit_show

完整的属性转储(环境变量、ExecStart、重启策略、依赖项 — 100 多种属性)。

unit_cat

原始单元文件文本加上嵌入式覆盖文件 — 等同于 systemctl cat <unit>。

tail_journal

最近的日志条目,带有可选的单元/时间/优先级过滤器。

list_jobs

当前排队或正在运行的 systemd 作业(很少见;对卡住的激活很有用)。

所有工具都支持 scope: "user" 以检查 --user 单元。默认范围是 system。

示例提示词

“现在有什么处于失败状态吗?” → failed_units

“为什么 ollama.service 没有使用 GPU?显示它的嵌入式覆盖文件和最后 50 行日志。” → unit_cat ollama 然后 tail_journal unit=ollama lines=50

“过去 10 分钟内日志中关于错误及更严重级别的信息说了什么?” → tail_journal priority=3 since="10 minutes ago"

“nginx 是否在开机时启用,自上次开机以来它重启了多少次?” → unit_status nginx

隐私政策

此扩展完全在您的本地机器上运行,仅调用 systemctl 和 journalctl。没有数据离开您的机器。没有网络 I/O。只读 — 无法修改、重启、启用、禁用或重新加载任何内容。

Claude 可见的信息包括:

  • 您查询的每个系统或用户单元的名称、描述和元数据(如果您调用 list_units,则为每个已加载的单元)。

  • 单元文件和嵌入式覆盖文件的全部内容 (unit_cat) — 如果您在其中设置了 Environment= 行,它们可能包含机密信息。如果您打算启用此扩展,请勿在单元文件中存储凭据。

  • 查询单元的最近日志条目 — 包括服务记录的任何消息,其中可能包含个人身份信息、IP 地址、请求路径或堆栈跟踪。

  • 服务的进程 ID、重启次数和运行时属性。

如果您的单元文件或日志包含敏感数据且您不信任 LLM 端点,请勿启用此扩展。

为什么没有破坏性操作?

v0.1 中故意省略了 restart_unit / enable_unit / disable_unit,因为:

  1. 它们需要系统级单元的 root 权限,这意味着要么以 root 身份运行 Claude Desktop(不安全),要么配置 sudo 规则(特定于扩展的摩擦)。

  2. 在此扩展实际服务的流程中,它们很少被用到 — “为什么 X 坏了”是 95% 的情况。

  3. 如果您需要重启服务,现有的 claude-terminal-mcp 可以为您提供 run_command sudo systemctl restart <unit>,使用您在任何其他地方使用的相同 sudo 机制,并在系统提示符处进行确认。

保持此扩展为只读意味着它可以在生产主机、共享工作站或客户机器上启用,而无需担心信任问题。v0.2 可能会重新考虑这一点。

故障排除

“systemctl is not installed” — 此服务器仅限 Linux。macOS 和 Windows 不运行 systemd。

“Permission denied” (读取日志时) — 将自己添加到 systemd-journal 或 adm 组:sudo usermod -aG systemd-journal $USER 然后注销并重新登录。或者使用 scope: "user" 调用以仅读取您自己的用户级日志(无需组权限)。

tail_journal 结果为空 — 一些发行版有速率限制或易失性日志。检查 /etc/systemd/journald.conf 中的 Storage= — volatile 意味着日志在重启时会被清除。

开发

单个约 400 行的 Node.js 脚本,零 npm 依赖。重新构建 .mcpb:

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

许可证

MIT。请参阅 LICENSE。

相关

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