agentsclimarketplace

Unraid management agent

Skill ruaan-deysel/unraid-management-agent/skills/unraid-management-agent

Monitor and control an Unraid server via the Unraid Management Agent's MCP server (125 tools, 5 resources, 6 diagnostic prompts) and REST API. Use when: connecting an AI client (Claude, ChatGPT, Cursor, Copilot, Gemini CLI) to Unraid; checking system, array, disk, Docker, VM, GPU, UPS, ZFS, or network status; starting/stopping containers, VMs, the array, or parity checks; diagnosing disk health, performance, or array state; managing alerts, health checks, fan/CPU/tuning, or updates; or choosing between MCP, REST, and WebSocket. Corrects: inventing Unraid tool names or REST paths; running destructive actions (stop array, reboot, delete snapshot) without confirm=true; polling REST in a loop instead of using WebSocket/MCP; dumping full lists instead of search_/get_ tools; and assuming auth the agent lacks by default.From its SKILL.md

Install
npx -y skills add ruaan-deysel/unraid-management-agent --skill unraid-management-agent

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

7.4 KB, as published. Nobody here has run it

Unraid Management Agent

The Unraid Management Agent is a plugin that runs on an Unraid server and exposes its full state and control surface over three interfaces:

InterfaceEndpointUse for
MCP (Model Context Protocol)http://<unraid-ip>:8043/mcpAI agents — 125 tools, 5 resources, 6 prompts
REST APIhttp://<unraid-ip>:8043/api/v1Scripts, Custom GPT Actions, integrations
WebSocketws://<unraid-ip>:8043/api/v1/wsLive event streaming (near real-time)

Core principle: prefer the MCP tools when acting as an AI agent — they are purpose-built, validated, and named for discovery. Fall back to the REST API only for clients that cannot speak MCP (e.g. ChatGPT Custom GPTs). Never invent tool names or paths; the real catalogs are in the reference files below.

Decision Workflow

1. Connect

If the client is not yet connected, read references/connection.md. In short:

  • Streamable HTTP (remote/LAN): point the client at http://<unraid-ip>:8043/mcp.
  • STDIO (local on the server): run unraid-management-agent mcp-stdio.
  • The agent has no authentication by default — it is designed for a trusted LAN or behind a VPN/reverse proxy. Do not assume an API key exists unless the user says so.

2. Read before you write

Always establish current state with a read-only tool before taking action:

  • System snapshot → get_system_info, or get_diagnostic_summary for a broad view
  • Array → get_array_status; Disks → list_disks / get_disk_info
  • Containers → list_containers / search_containers / get_container_info
  • VMs → list_vms / search_vms / get_vm_info

Read-only tools are marked ReadOnlyHint: true. The full catalog is in references/mcp-tools.md.

3. Pick the narrowest tool

  • Looking for one container/VM among many? Use search_containers / search_vms, not a full list_ dump.
  • Want a specific subsystem? Use the dedicated getter (get_ups_status, get_gpu_metrics, get_zfs_pools, …) rather than scraping get_diagnostic_summary.
  • Need history/metrics over time? Use query_metric_history, get_parity_history, get_alert_history, get_health_check_history.

4. Confirm destructive actions

Control tools (ReadOnlyHint: false) change the system. The high-risk ones require confirm=true and must be confirmed with the user first:

ToolEffect
array_action (stop)Makes all array data inaccessible
system_reboot / system_shutdownRestarts / powers off the whole server
execute_user_script / run_runbookRuns arbitrary user-defined actions
delete_vm_snapshot / restore_vm_snapshotIrreversible VM state change
delete_alert_rule / delete_health_checkRemoves configuration

Always state what will happen and wait for explicit user approval before sending confirm=true. See references/mcp-tools.md for the full read/write breakdown.

5. Use live data correctly

For continuously changing values (CPU, container state), do not poll the REST API in a tight loop. Use the MCP resources (references/diagnostics.md) or the WebSocket stream. One MCP tool call returns the latest cached value already.

6. Diagnose with prompts, not ad-hoc chains

The agent ships 6 built-in diagnostic prompts that orchestrate the right tools for common investigations (disk health, performance, maintenance, array state, overview, troubleshooting). Prefer them over reinventing the analysis. See references/diagnostics.md.


Critical Anti-Patterns

Anti-patternUse insteadWhy
Inventing tool names (docker_restart, getArray)The exact names in references/mcp-tools.mdWrong names just fail
Stopping the array / rebooting without confirmationRead state, explain impact, then confirm=trueData loss / downtime
Polling GET /api/v1/system in a loopMCP resources or WebSocket ws://…/api/v1/wsThe agent already caches; polling wastes CPU
list_containers then filtering in-contextsearch_containers / get_container_infoLess context, faster, more accurate
Hand-rolling a disk-health analysisdiagnose_disk_health promptBuilt-in prompt covers SMART, temps, wear, errors
Assuming an API key / auth headerTreat as unauthenticated LAN/VPN unless told otherwiseDefault deploy has no auth
Using REST from an MCP-capable clientThe MCP toolsValidated args, richer results, fewer round-trips
Editing Unraid config files directlyThe agent's control tools / settings endpointsTools match the WebUI's own logic and validation

Reference Files

Read these when you need detail. Keep SKILL.md itself in context; pull references on demand.

FileWhen to read
references/connection.mdConnecting any client (Claude Code/Desktop, claude.ai, Cursor, Copilot, Gemini CLI, ChatGPT) via MCP HTTP/STDIO; troubleshooting connectivity
references/mcp-tools.mdThe full catalog of all 125 MCP tools grouped by category, with read/write (destructive) flags and arguments
references/diagnostics.mdThe 6 diagnostic prompts and 5 real-time resources — what each analyses and when to use it
references/rest-api.mdREST API surface for non-MCP clients (Custom GPT Actions, scripts): base path, key endpoints, path/body conventions
references/workflows.mdNatural-language request → tool/endpoint mappings and end-to-end examples (monitoring, container/VM/array control, maintenance)

Capabilities at a Glance

  • Monitoring (read-only): system, array, disks + SMART, shares, Docker (containers, networks, stats, logs, update checks), VMs + snapshots, GPU, UPS, NUT, ZFS (pools/datasets/snapshots/ARC), network + access URLs, hardware, notifications, parity history, logs, collectors, settings, unassigned devices, remote SMB/NFS shares.
  • Control: container & VM lifecycle, array start/stop, parity check start/stop/pause/resume, disk spin up/down, container & plugin updates, VM snapshot create/delete/restore, VM clone, service start/stop/restart, user scripts, collector enable/disable + intervals, reboot/shutdown.
  • Observability & automation: alert rules (expr-lang) + templates, health checks (HTTP/TCP/container), remediation runbooks, an optional autonomous agent, fan control (profiles/curves), CPU governor, and system tuning (turbo boost, disk cache, inotify).

Keep looking

Skills are one crate of 628,853. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.