Unraid

July 28, 2026 · View on GitHub

PyPI ghcr.io

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.

Components

PathWhat it isToolchainBuild / test
unraid-py/unraid-mcp — Python MCP server (GraphQL), the flagship. Published to PyPI as unraid-mcp.Python / uv / hatchlingcd unraid-py && uv run pytest && uv build --wheel
unraid-rs/runraid — Rust MCP server + CLI (single static binary), unraid-rmcp on npm.Rust / cargocd unraid-rs && cargo fmt --check && cargo clippy --all-targets -- -D warnings && cargo test
plugins/mcp/Unraid OS plugin that ships the Python MCP server onto an Unraid box.shell .plg + Pythonbash plugins/mcp/scripts/build-txz.sh <ver> <wheel>
plugins/incus/Unraid OS plugin running Incus system containers ("dev containers") firewalled off the LAN. Includes a NestJS/GraphQL unraid-api backend.shell .plg + NestJS/Vuecd plugins/incus && ./scripts/verify-classic-package.sh && ./tests/classic-contract.sh
plugins/codex/Unraid OS plugin embedding a Codex chathead app-server.shell .plg + Reactcd plugins/codex && ./tests/contract.sh
agents/unraid-py/Claude Code / Codex plugin (name: unraid-mcp) for the Python server.
agents/unraid-rs/Claude Code / Codex plugin (name: runraid) for the Rust server.

Install the agent plugins (one marketplace command, two manifests)

/plugin marketplace add dinglebear-ai/unraid
/plugin install unraid-mcp@unraid-mcp   # Python server
/plugin install runraid@unraid-mcp      # Rust server

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) and persists them to ~/.unraid-mcp/.env.

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.

Releases

Versioning is driven by release-please across all four release units. The Python server keeps unprefixed vX.Y.Z tags (the existing audience's scheme); the other components use prefixed tags: unraid-rs-vX.Y.Z, incus-vX.Y.Z, codex-vX.Y.Z. Plugin .txz payloads ship as GitHub release assets, not tracked in git.

License

MIT — see LICENSE.