# Unraid RMCP

Connects AI assistants to your Unraid GraphQL endpoint. Manages storage arrays, monitors Docker containers, and handles virtual machines directly from the chat.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 143
- Author: dinglebear-ai
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/dinglebear-ai/unraid
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/unraid-rmcp

## What it does

Built in Rust, this MCP server compiles to the `runraid` binary and can be launched on demand using the `@dinglebear/unraid` npm package. It translates assistant tool calls into Unraid GraphQL operations, granting visibility into storage drives, system services, and background notifications.

The server handles both read queries and mutating actions. Altering Docker states or stopping array disks modifies server behavior directly. Because of this, write operations demand the `unraid:admin` permission scope. Basic queries require only `unraid:read`.

Without valid `UNRAID_API_URL` and `UNRAID_API_KEY` values, calls will fail immediately. Servers relying on self-signed TLS certificates also require setting `UNRAID_API_SKIP_TLS_VERIFY` to bypass validation.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `UNRAID_API_URL`, `UNRAID_API_KEY`, `UNRAID_RMCP_VERSION`, `UNRAID_RMCP_REPO`, `UNRAID_RMCP_RELEASE_BASE_URL`, `RUST_LOG` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env UNRAID_API_URL=<UNRAID_API_URL> --env UNRAID_API_KEY=<UNRAID_API_KEY> --env UNRAID_RMCP_VERSION=<UNRAID_RMCP_VERSION> --env UNRAID_RMCP_REPO=<UNRAID_RMCP_REPO> --env UNRAID_RMCP_RELEASE_BASE_URL=<UNRAID_RMCP_RELEASE_BASE_URL> --transport stdio unraid-rmcp -- npx -y @dinglebear/unraid
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Codex

**Platform CLI**
```bash
codex mcp add unraid-rmcp --env UNRAID_API_URL=<UNRAID_API_URL> --env UNRAID_API_KEY=<UNRAID_API_KEY> --env UNRAID_RMCP_VERSION=<UNRAID_RMCP_VERSION> --env UNRAID_RMCP_REPO=<UNRAID_RMCP_REPO> --env UNRAID_RMCP_RELEASE_BASE_URL=<UNRAID_RMCP_RELEASE_BASE_URL> -- npx -y @dinglebear/unraid
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "unraid-rmcp": {
            "command": "npx",
            "args": [
                "-y",
                "@dinglebear/unraid"
            ],
            "env": {
                "UNRAID_API_URL": "<UNRAID_API_URL>",
                "UNRAID_API_KEY": "<UNRAID_API_KEY>",
                "UNRAID_RMCP_VERSION": "<UNRAID_RMCP_VERSION>",
                "UNRAID_RMCP_REPO": "<UNRAID_RMCP_REPO>",
                "UNRAID_RMCP_RELEASE_BASE_URL": "<UNRAID_RMCP_RELEASE_BASE_URL>"
            }
        }
    }
}
```
Replace <…> with your own values. 1 more environment variable is in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "unraid-rmcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@dinglebear/unraid"
            ],
            "env": {
                "UNRAID_API_URL": "<UNRAID_API_URL>",
                "UNRAID_API_KEY": "<UNRAID_API_KEY>",
                "UNRAID_RMCP_VERSION": "<UNRAID_RMCP_VERSION>",
                "UNRAID_RMCP_REPO": "<UNRAID_RMCP_REPO>",
                "UNRAID_RMCP_RELEASE_BASE_URL": "<UNRAID_RMCP_RELEASE_BASE_URL>"
            }
        }
    }
}
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e UNRAID_API_URL=<UNRAID_API_URL> -e UNRAID_API_KEY=<UNRAID_API_KEY> -e UNRAID_RMCP_VERSION=<UNRAID_RMCP_VERSION> -e UNRAID_RMCP_REPO=<UNRAID_RMCP_REPO> -e UNRAID_RMCP_RELEASE_BASE_URL=<UNRAID_RMCP_RELEASE_BASE_URL> unraid-rmcp npx -y @dinglebear/unraid
```
Replace <…> with your own values. 1 more environment variable is in the server README

## When to use it
- check disk array health and storage utilization
- start, stop, or restart selected Docker containers
- control virtual machine lifecycles on the host
- read system notifications and hardware alerts

## Example prompts
- Inspect the Unraid disk array status and list any failed drives.
- Restart the plex docker container and verify memory usage.
- Shut down the ubuntu-dev virtual machine via Unraid.

## Similar
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [Oh My Posh Validator](https://affpapa.org/en/nevibecode/mcp/oh-my-posh-validator.md) — MCP server · ★ 23643
- [Keploy](https://affpapa.org/en/nevibecode/mcp/keploy.md) — MCP server · ★ 18727
- [Coder](https://affpapa.org/en/nevibecode/mcp/coder.md) — MCP server · ★ 17160
- [mcp](https://affpapa.org/en/nevibecode/mcp/kubeshark-mcp.md) — MCP server · ★ 12109

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
