Unraid数据监控服务

一个为Unraid设计的MCP服务器,通过Unraid GraphQL API将Unraid数据暴露给Claude,提供包括阵列状态、磁盘健康、Docker容器等在内的多种监控功能。

  • by TadMSTR
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 TadMSTR/unraid-mcp-server

使用说明

unraid mcp服务器

Unraid的MCP服务器,通过Unraid GraphQL API向Claude公开Unraid数据。

工具

get-parity-status

返回Unraid数组的当前奇偶校验状态,包括进度百分比、速度、持续时间、错误计数,以及它是正在运行、暂停还是正在纠正。

get-array-status

返回阵列状态(已启动/已停止)、以TiB表示的已用/空闲总容量以及每个磁盘的摘要,包括设备名称、类型、状态、GiB表示的使用情况和温度。

get-disk-health

返回连接到服务器的所有物理磁盘的SMART状态、温度、接口类型(SAS/SATA/PCIE/USB)和旋转状态。

get-parity-history

返回最近的奇偶校验历史记录。接受可选 limit 参数(1–50,默认值10)。每个条目显示日期、状态(已完成/已取消)、持续时间、速度和错误计数。

get-notifications

返回未读通知计数摘要(警报、警告、信息)和最近的通知列表。接受可选 type (未预付或存档,默认为未预付)以及 limit (1–50,默认值10)参数。

get-system-info

返回主机名、正常运行时间、操作系统版本、Unraid和内核版本、CPU型号和内核/线程计数,以及带DIMM计数的总RAM。

get-docker-containers

返回所有带有名称、状态、状态字符串和映像的Docker容器。接受可选 runningOnly boolean(默认为false),仅过滤正在运行的容器。

get-shares

返回Unraid用户共享,包括名称、注释、可用空间和分配设置(分配器、拆分级别、包含/排除磁盘列表(如果已配置))。

未实现

用户账户 -Unraid GraphQL API公开了 me 查询,返回当前API密钥的标识,但没有用于列出本地用户帐户的端点。管理用户是一项罕见的任务,在Unraid web UI中处理得更好。

虚拟机 --没有可用于测试的正在运行的虚拟机;跳过,直到有东西可以验证输出。

需求

  • 启用API的Unraid 7.x
  • Unraid API密钥(对于只读工具,查看器角色就足够了)
  • Node.js 18+

配置

添加到您的Claude桌面配置(claude_desktop_config.json):

"unraid": {
  "command": "node",
  "args": ["/path/to/unraid-mcp-server/build/src/index.js"],
  "env": {
    "UNRAID_URL": "https://your-unraid-ip:4443",
    "UNRAID_API_KEY": "your-api-key"
  }
}

服务器禁用TLS证书验证以支持Unraid的自签名证书。

建筑

pnpm install
pnpm run build

许可证

麻省理工学院