Unraid RMCP
ai.dinglebearPublished by dinglebear.aiv0.6.3Updated Oct 25, 2026
Rust MCP server and CLI for Unraid GraphQL operations across NAS, Docker, VM, and storage workflows.
The publisher's own server: RMCP
Overview
A local Rust MCP server and CLI that lets an assistant query and manage an Unraid NAS through its GraphQL API, covering arrays, Docker, VMs and storage.
- What you can do
- Query Unraid array state and other GraphQL data from the NAS endpoint, including storage and system information, via the Rust server's read actions and CLI commands such as array state inspection. Manage Docker containers and virtual machines, including lifecycle actions, and start or stop the array. Write notifications and other mutating operations, which require the admin scope. Inspect setup without repairing files and run the server over MCP HTTP with configurable bind address and authentication.
- When to use it
- Use it when you run Unraid and want an assistant to inspect or operate the NAS — checking array status, containers, VMs and storage — from a local MCP client. It suits administrators who already have an Unraid API key and endpoint and are comfortable granting admin scope for lifecycle actions.
- Requirements
- Runs as a local process, installed via the npm launcher package or built from the Rust crate; the README also describes a Python server published separately. Requires UNRAID_API_URL (full Unraid GraphQL endpoint) and UNRAID_API_KEY (sent as the x-api-key header). Optional variables cover TLS verification skipping, MCP host/port, bearer token or OAuth auth mode, and release download overrides.
Installation
In SourceWeft
- Open Unraid RMCP in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Unraid
A monorepo of Unraid tooling: two MCP servers (Python and Rust) and three Unraid OS plugins, plus the Claude/Codex agent integrations that surface them.
Repo name. This repo was renamed
unraid-mcp→unraidon 2026-07-27, and the former standalonerunraidandincus-unraidrepos were merged in here. Some deployed plugin install/update URLs still depend on the old-name redirect; migrating those runtime URLs requires a deliberate release. The PyPI package, the container image, the Claude plugin, and the Unraid.plgare all still namedunraid-mcp— only the repo changed.
Components
Install the agent plugins (one marketplace command, two manifests)
The @unraid-mcp suffix is the marketplace name declared in
.claude-plugin/marketplace.json, not the repo name — it stays unraid-mcp even
though the repo is now dinglebear-ai/unraid.
Both plugins are published from a single repo. Claude reads
.claude-plugin/marketplace.json; Codex reads .agents/plugins/marketplace.json.
meta-ci.yml asserts the two list the same plugin set, so they cannot drift.
marketplace add accepts the owner/repo shorthand (or a full git URL / local
path). After install, Claude Code prompts for the connection settings (the
plugin's userConfig).
Plugin credentials need no manual step
The agent plugins ship no Claude Code hooks, and none are needed: both
.mcp.json files map your plugin settings into the server environment directly
via ${user_config.*}. agents/unraid-rs wires endpoint, TLS, authentication, and tool-selector settings; agents/unraid-py wires UNRAID_API_URL
and UNRAID_API_KEY. Set them in plugin settings and the server picks them up on
next launch.
Optional, for non-plugin installs (systemd, Docker) that want ~/.unraid/.env
written to disk:
unraid-py quickstart (Python MCP server)
The Python server is the flagship. Full documentation — installation, Claude
Code / Codex / Gemini setup, configuration, authentication, guardrails, and the
tool surface — lives in unraid-py/README.md and
unraid-py/docs/. It publishes to PyPI as unraid-mcp (import
package unraid_mcp) and launches with uvx unraid-mcp.
unraid-rs quickstart (Rust MCP server + CLI)
Full list and the OAuth variables: unraid-rs/AGENTS.md.
Not read-only. The Rust server exposes both queries and mutations. Read actions
need the unraid:read scope; mutating actions (VM and Docker lifecycle, array
start/stop, notification writes) need unraid:admin.
Development and documentation
Start with AGENTS.md, the canonical contributor guide.
CLAUDE.md and GEMINI.md are symlinks to it, including within components.
The documentation index links to
development and verification,
architecture, and release procedures.
Rust MCP supports UNRAID_RMCP_PROJECTION=legacy (default), atomic, or both.
All projections share enabled-action policy, scopes, and execution; atomic mode
is not a second backend. See the Rust README for selectors and migration.
Releases
There are two release lanes. release-please manages only unraid-py and
unraid-rs — the Python server keeps unprefixed vX.Y.Z tags (the existing
audience's scheme) and Rust uses unraid-rs-vX.Y.Z. The Incus and Codex plugins
do not use release-please: they are versioned by
.github/scripts/plugin_calver.py with fixed-width YYYYMMDD.NNN versions and
incus-v* / codex-v* tags (Unraid compares plugin versions as raw strings, so the
fixed width is mandatory).
The native MCP plugin is built from the matching unraid-rs-vX.Y.Z tag, and Community Applications reads its rolling manifest from the unraid-plugin-latest release. Plugin .txz payloads ship as GitHub release assets, never tracked in git.
License
MIT — see LICENSE.
Source: README.md at commit 605e484
Tools
0Version history
3- v0.6.3LatestOct 25, 2026
- v0.6.2Oct 20, 2026
- v0.3.0Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Rmcp integrations
RMCP
dev.rmcpOfficial publisher
A remote MCP directory server that lets an assistant search indexed MCP servers and tools, inspect their records and endpoints, and compare options.
YTDL RMCP
ai.dinglebear
A local Rust MCP server that lets an assistant search YouTube, download audio or video with yt-dlp, tag and transfer media, and sync Plex playlists.
Unraid RMCP
ai.dinglebear
Local MCP server and CLI that lets an assistant work with an Unraid server through its GraphQL API: NAS, Docker, VM and storage tasks.
UniFi RMCP
ai.dinglebear
A local MCP server and CLI that lets an assistant read and, with admin scope, change UniFi Network controller data such as clients, devices, WLANs and health.
Tailscale RMCP
ai.dinglebear
Lets an assistant inspect and manage a Tailscale tailnet: list devices, routes, keys, ACL, DNS and users, authorize devices, and optionally delete them.