mcpField
U
unraid-management-agent

unraid-management-agent

github.com/ruaan-deysel云与 DevOps7351 次安装2 天前更新
代码仓库

关于 unraid-management-agent

Unraid Management Agent 是运行在 Unraid 服务器上的管理插件,供 AI Agent 和其他客户端监控及控制服务器。它通过 MCP、REST API 和 WebSocket 提供状态、操作与实时事件能力,并包含诊断提示词和资源。

主要功能

  1. 01监控系统、阵列、磁盘、容器和虚拟机
  2. 02控制容器、虚拟机、阵列及服务
  3. 03提供告警规则、健康检查和修复运行手册
  4. 04通过 WebSocket 流式传输实时事件
  5. 05提供风扇控制与系统调优功能

适用场景

  1. 01查看 Unraid 系统和存储状态
  2. 02管理容器、虚拟机及阵列操作
  3. 03排查磁盘健康或性能问题
  4. 04接收实时事件并配置健康检查

MCP 相关

通过 MCP 暴露 125 个工具、5 个资源和 6 个提示词,供 AI 客户端读取状态、执行控制和开展诊断。也提供 REST API 与 WebSocket 接口。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ruaan-deysel/unraid-management-agent --skill unraid-management-agent

安装后在 Claude Code 中输入/unraid-management-agent确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
connection.md
diagnostics.md
mcp-tools.md
rest-api.md
workflows.md

详细介绍

Unraid 管理 Agent

Unraid 管理 Agent 是一个运行于 Unraid 服务器上的插件,通过以下三个接口公开服务器的完整状态和控制功能:

接口端点用途
MCP(Model Context Protocol)http://<unraid-ip>:8043/mcpAI Agent — 125 个工具、5 个资源、6 个提示词
REST APIhttp://<unraid-ip>:8043/api/v1脚本、Custom GPT Actions、集成
WebSocketws://<unraid-ip>:8043/api/v1/ws实时事件流(近乎实时)

核心原则: 作为 AI Agent 执行操作时,优先使用 MCP 工具——这些工具专门构建、经过验证,并采用便于发现的名称。仅当客户端无法使用 MCP(例如 ChatGPT Custom GPT)时,才退而使用 REST API。切勿臆造工具名称或路径;实际目录见下方的参考文件。

决策工作流

1. 连接

如果客户端尚未连接,请阅读 references/connection.md。简而言之:

  • Streamable HTTP(远程/LAN): 将客户端指向 http://<unraid-ip>:8043/mcp。
  • STDIO(服务器本地): 运行 unraid-management-agent mcp-stdio。
  • Agent 默认不启用身份验证——它面向受信任的 LAN,或 VPN/反向代理后方的环境。除非用户说明,否则不要假设存在 API 密钥。
2. 先读再写

执行操作前,始终先使用只读工具确认当前状态:

  • 系统快照 → get_system_info,或使用 get_diagnostic_summary 获取概览
  • 阵列 → get_array_status;磁盘 → list_disks / get_disk_info
  • 容器 → list_containers / search_containers / get_container_info
  • VM → list_vms / search_vms / get_vm_info

只读工具标记为 ReadOnlyHint: true。完整目录见 references/mcp-tools.md。

3. 选择最精简的工具
  • 要在多个容器/VM 中查找某一个?使用 search_containers / search_vms,不要倾倒完整的 list_ 列表。
  • 需要查看特定子系统?使用专用 getter(get_ups_status、get_gpu_metrics、get_zfs_pools,……),而不是从 get_diagnostic_summary 中抓取信息。
  • 需要历史记录/时间序列指标?使用 query_metric_history、get_parity_history、get_alert_history、get_health_check_history。
4. 确认破坏性操作

控制工具(ReadOnlyHint: false)会更改系统。其中的高风险操作要求 confirm=true,且必须先向用户确认:

工具影响
array_action(stop)使所有阵列数据无法访问
system_reboot / system_shutdown重启/关闭整个服务器
execute_user_script / run_runbook执行任意用户定义的操作
delete_vm_snapshot / restore_vm_snapshot不可逆的 VM 状态更改
delete_alert_rule / delete_health_check移除配置
set_fan_speed / set_fan_mode更改风扇转速/控制模式
set_fan_profile / create_fan_profile更改温度曲线
restore_fan_defaults将所有风扇控制重置为 BIOS 默认值
remote_share_action挂载/卸载网络存储

注意: container_action(remove)和 vm_action(reset)仅在执行破坏性操作时由服务器端强制要求 confirm=true,因此只读取架构的客户端无法看到这一要求。

发送 confirm=true 前,始终说明将要发生的情况,并等待用户明确批准。完整的读/写分类见 references/mcp-tools.md。

5. 正确使用实时数据

对于持续变化的值(CPU、容器状态),不要紧密循环轮询 REST API。请使用 MCP 资源(references/diagnostics.md)或 WebSocket 数据流。一次 MCP 工具调用即可返回最新的缓存值。

6. 使用提示词诊断,而不是临时拼凑调用链

该 Agent 内置了 6 个诊断提示词,可为常见调查(磁盘健康、性能、维护、阵列状态、概览、故障排查)编排合适的工具。优先使用它们,而不是重新设计分析流程。请参阅 references/diagnostics.md。


关键反模式

反模式改用原因
臆造工具名称(docker_restart、getArray)使用 references/mcp-tools.md 中的准确名称名称错误只会导致调用失败
未经确认就停止阵列或重启读取状态、说明影响,然后设置 confirm=true可能导致数据丢失/停机
循环轮询 GET /api/v1/system使用 MCP 资源或 WebSocket ws://…/api/v1/wsAgent 已会缓存;轮询会浪费 CPU
调用 list_containers 后在上下文中筛选使用 search_containers/get_container_info占用更少上下文,速度更快,也更准确
手动编写磁盘健康分析使用 diagnose_disk_health 提示词内置提示词涵盖 SMART、温度、损耗和错误
假设需要 API 密钥/认证标头除非另有说明,否则按未经身份验证的 LAN/VPN 处理默认部署不启用身份验证
在支持 MCP 的客户端中使用 REST使用 MCP 工具参数经过验证,结果更丰富,往返次数更少
直接编辑 Unraid 配置文件使用 Agent 的控制工具/设置端点工具与 WebUI 自身的逻辑和验证相匹配

参考文件

需要详细信息时,请阅读以下文件。让 SKILL.md 保持在上下文中;按需加载参考文件。

文件阅读时机
references/connection.md通过 MCP HTTP/STDIO 连接任何客户端(Claude Code/Desktop、claude.ai、Cursor、Copilot、Gemini CLI、ChatGPT);排查连接问题
references/mcp-tools.md按类别分组的全部 125 个 MCP 工具目录,包含读/写(破坏性)标记和参数
references/diagnostics.md6 个诊断提示词和 5 个实时资源——各自的分析内容及适用场景
references/rest-api.md面向非 MCP 客户端(Custom GPT Actions、脚本)的 REST API 接口:基础路径、关键端点、路径/请求体约定
references/workflows.md自然语言请求 → 工具/端点映射和端到端示例(监控、容器/VM/阵列控制、维护)

功能一览

  • 监控(只读): 系统、阵列、磁盘 + SMART、共享、Docker (容器、网络、统计数据、日志、更新检查)、VM + 快照、GPU、UPS、 NUT、ZFS(池/数据集/快照/ARC)、网络 + 访问 URL、硬件、 通知、校验历史、日志、采集器、设置、未分配设备、 远程 SMB/NFS 共享。
  • 控制: 容器和 VM 生命周期、阵列启动/停止、校验启动/停止/暂停/恢复、 磁盘启动/停转、容器和插件更新、VM 快照创建/删除/恢复、VM 克隆、服务启动/停止/重启、用户脚本、采集器启用/禁用 + 间隔设置、重启/关机。
  • 可观测性与自动化: 告警规则(expr-lang)+ 模板、健康检查(HTTP/TCP/容器)、 修复运行手册、可选的自主 Agent、风扇控制(配置文件/曲线)、CPU 调速器,以及系统调优(Turbo Boost、磁盘缓存、inotify)。

评论

支持 Markdown