selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
Unraid logo

Self-host Unraid

unraid-rs-v0.6.3

GraphQL-backed MCP servers for Unraid NAS management

ReleaseOpen SourceMIT
Updated10 hours ago
LanguagePython
Setup difficultyModerate
Stars
147
Ports
6970 (Python MCP server HTTP transport (streamable-http, SSE)), 40010 (Rust MCP server HTTP transport (streamable-http))
Install with Docker Compose

What is Unraid?

Unraid is a monorepo containing two Model Context Protocol (MCP) servers — a Python flagship (unraid-mcp) and a Rust CLI/server (runraid) — plus three Unraid OS plugins and agent integrations for Claude Code, Codex, and Gemini. The servers connect to an Unraid NAS via its GraphQL API using an API key, exposing over 100 actions across system inspection, Docker and VM lifecycle management, array/parity operations, notifications, rclone remotes, plugins, and live WebSocket telemetry. Destructive actions require explicit confirmation. The Python server runs on port 6970 (streamable HTTP, stdio, or legacy SSE) with Bearer token or Google OAuth auth; the Rust server defaults to port 40010 with similar auth options. Both are installable via Docker Compose, uvx/cargo/CRGX, or as Unraid OS plugins. The project is MIT-licensed and actively maintained.

Should you self-host Unraid?

Unraid scores 49/100 on selfhost.directory (how scoring works) and ranks #82 of 166 in Developer Tools. It has 147 GitHub stars.

It shipped 10 stable releases in the past year. The latest, v2.10.3, came out on 24 October 2026.

Setup is moderate: expect some configuration beyond a single command. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is openhands (87/100, 92 086 stars). It scores higher overall, so compare the two before you pick. See Unraid vs openhands side by side.

Features

  • API Key Management
  • Array and parity management
  • Destructive action confirmation
  • GraphQL-backed MCP server
  • Live telemetry via WebSocket subscriptions
  • Multiple transport modes
  • Notification management
  • OIDC/SSO provider management
  • Plugin Management
  • Rclone remote management
  • System inspection
  • System settings management
  • Unraid Connect / remote access
  • Virtual Machine Management

Unraid README

How to install Unraid

Install Unraid with Docker Compose

Environment variables
UNRAID_API_URL, UNRAID_API_KEY, UNRAID_MCP_PORT, UNRAID_MCP_BEARER_TOKEN, etc.

docker compose up -d

Reads .env and exposes container port 6970 (Python) or 40010 (Rust)

How to configure Unraid

  • UNRAID_API_CA_BUNDLEPath to a PEM CA bundle to trust

    Path to a PEM CA bundle to trust

  • UNRAID_API_KEYUnraid API key for x-api-key header

    Unraid API key for x-api-key header

  • UNRAID_API_SKIP_TLS_VERIFYfalseSkip TLS certificate verification for self-signed endpoints

    Skip TLS certificate verification for self-signed endpoints

    values: true, false

  • UNRAID_API_URLGraphQL endpoint URL, e.g. https://tower.local/graphql

    GraphQL endpoint URL, e.g. https://tower.local/graphql

  • UNRAID_MCP_BEARER_TOKENStatic Bearer token for HTTP transports; auto-generated on first start if unset

    Static Bearer token for HTTP transports; auto-generated on first start if unset

  • UNRAID_MCP_DISABLE_HTTP_AUTHfalseSet true to skip Bearer auth (use behind a reverse proxy that handles auth)

    Set true to skip Bearer auth (use behind a reverse proxy that handles auth)

    values: true, false

  • UNRAID_MCP_GOOGLE_CLIENT_IDGoogle OAuth client ID

    Google OAuth client ID

  • UNRAID_MCP_GOOGLE_CLIENT_SECRETGoogle OAuth client secret

    Google OAuth client secret

  • UNRAID_MCP_HOST127.0.0.1 bare metal; Docker sets 0.0.0.0Bind address for HTTP transports

    Bind address for HTTP transports

  • UNRAID_MCP_PORT6970Listen port for HTTP transports

    Listen port for HTTP transports

  • UNRAID_MCP_TRANSPORTstreamable-httpTransport: streamable-http, stdio, or legacy sse (deprecated)

    Transport: streamable-http, stdio, or legacy sse (deprecated)

    values: streamable-http, stdio, sse

  • UNRAID_RMCP_AUTH_MODEbearerAuth mode: bearer or oauth

    Auth mode: bearer or oauth

    values: bearer, oauth

  • UNRAID_RMCP_GOOGLE_CLIENT_IDGoogle OAuth client ID

    Google OAuth client ID

  • UNRAID_RMCP_GOOGLE_CLIENT_SECRETGoogle OAuth client secret

    Google OAuth client secret

  • UNRAID_RMCP_HOST0.0.0.0HTTP bind host

    HTTP bind host

  • UNRAID_RMCP_PORT40010HTTP bind port

    HTTP bind port

  • UNRAID_RMCP_PROJECTIONlegacyMCP tool projection: legacy, atomic, or both

    MCP tool projection: legacy, atomic, or both

    values: legacy, atomic, both

  • UNRAID_RMCP_TOKENStatic bearer token for /mcp

    Static bearer token for /mcp

  • UNRAID_VERIFY_SSLtrueUpstream Unraid API TLS verification; may also be a CA-bundle path

    Upstream Unraid API TLS verification; may also be a CA-bundle path

    values: true, false, <path>

Unraid releases & version history

More in Infrastructure Monitoring

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…