
Unraid MCP
ai.dinglebearPublished by dinglebear.aiv2.10.3Updated Oct 24, 2026
MCP server for Unraid API — provides tools to interact with an Unraid server's GraphQL API.
The publisher's own server: Tailscale RMCP
Overview
Python MCP server that lets an assistant query and manage an Unraid server through its GraphQL API.
- What you can do
- Query Unraid server state through the Unraid GraphQL API
- Read array status and other server information
- Perform mutating actions such as VM and Docker lifecycle, array start/stop and notification writes (per the Rust sibling server's documented scope model)
- Run locally over stdio, launched with uvx from the unraid-mcp PyPI package
- When to use it
- Useful when you run an Unraid NAS and want an assistant to inspect or operate it from a local MCP client, for example checking array state or managing containers and VMs, instead of clicking through the Unraid web UI.
- Requirements
- Runs as a local process over stdio, launched with uvx from the PyPI package unraid-mcp (Python toolchain). Requires the environment variables UNRAID_API_URL (base URL of your Unraid server) and UNRAID_API_KEY (API key). Network access to the Unraid server is needed. Desktop only; no web execution.
Installation
In SourceWeft
- Open Unraid MCP 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- v2.10.3LatestOct 20, 2026
- v2.10.2Sep 29, 2026
- v2.10.1Sep 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 Dinglebear integrations
Tailscale RMCP
ai.dinglebearOfficial publisher
Bridges a Tailscale tailnet to an assistant: list devices, inspect routes, DNS, ACLs, keys and users, and authorize or delete devices.
Yarr MCP
ai.dinglebear
MCP and CLI server that lets an assistant query and control a self-hosted media stack such as Sonarr, Radarr, Prowlarr, Plex and Jellyfin.
Yarr MCP
ai.dinglebear
MCP server and CLI that gives an assistant one consistent tool surface to query and control a self-hosted media fleet such as Sonarr, Radarr and Plex.
Soma
ai.dinglebear
Soma is a local Rust runtime that exposes one compact MCP tool, letting an assistant call built-in actions and dropped-in provider tools over stdio or HTTP.
Labby
ai.dinglebear
Labby is a local Rust-based MCP gateway with a Code Mode, authentication, setup, logs, CLI, HTTP API and operator web UI, run via npx.