Skip to main content
Glama
jmagar

Unraid MCP Server

by jmagar

Unraid MCP

PyPI ghcr.io

GraphQL-basierter MCP-Server für Unraid. Stellt ein einheitliches unraid-Tool für Systeminspektion, Verwaltungsaufgaben, Live-Telemetrie und destruktive Aktionen bereit, die durch explizite Bestätigung geschützt sind.

Übersicht

Der Server übersetzt MCP-Tool-Aufrufe in Unraid GraphQL-Abfragen und -Mutationen über HTTP und WebSocket. Alle Operationen nutzen ein einziges unraid-Tool, das über action + subaction gesteuert wird. Live-Telemetrie verwendet WebSocket-Abonnements, die Echtzeitdaten von der Unraid-API streamen.

Related MCP server: Model Control Plane (MCP) Server

Was dieses Repository enthält

  • unraid_mcp/ — Server, GraphQL-Client, WebSocket-Abonnements, Konfiguration und Tool-Handler

  • skills/unraid/ — Dokumentation der Skills für den Client

  • docs/ — Referenzen zu Authentifizierung, destruktiven Aktionen und Veröffentlichung

  • .claude-plugin/, .codex-plugin/, gemini-extension.json — Client-Manifeste

  • docker-compose.yaml, Dockerfile, entrypoint.sh — Container-Bereitstellung

  • tests/ — Unit-, Sicherheits-, Schema-, HTTP-Layer- und Live-Tests

Tools

Tool-Index

Tool

Zweck

unraid

Einheitlicher Action/Subaction-Router für alle Operationen

unraid_help

Gibt diese Referenz als Markdown zurück

diagnose_subscriptions

Vollständiger Diagnose-Dump des WebSocket-Abonnementsystems

test_subscription_query

Testet ein rohes GraphQL-Abonnement für Schema-/Debug-Arbeiten

unraid — Aktionsgruppen

Alle Operationen laufen über ein Tool. Wählen Sie eine action und dann eine subaction innerhalb dieser.

system — 18 Subactions

Serverinformationen, Metriken, Netzwerk und USV.

Subaction

Beschreibung

Erforderliche Parameter

overview

OS, CPU, Speicherlayout, Versionen, Maschinen-ID

array

Array-Status, Kapazität, Zusammenfassung des Festplattenzustands

network

Zugriffs-URLs, HTTP/HTTPS-Ports, LAN/WAN-IPs

registration

Lizenztyp, Schlüsseldatei, Ablaufdatum

variables

Vollständiger Unraid-Variablensatz (Zeitzone, Freigaben, etc.)

metrics

Live-CPU-% und Speicherauslastung

services

Laufende Dienste mit Name, Online-Status, Version

display

Name des aktuellen UI-Themes

config

Konfigurationsgültigkeit und Fehlerstatus

online

Boolesche Erreichbarkeitsprüfung

owner

Benutzername des Eigentümers, Avatar, Profil-URL

settings

Einheitliche Schlüssel/Wert-Karte der Einstellungen

server

Zusammenfassung in einem Aufruf: Hostname, Uptime, Unraid-Version, Array-Status

servers

Alle registrierten Server mit LAN/WAN-IPs und URLs

flash

Hersteller- und Produktinformationen des Flash-Laufwerks

ups_devices

Alle USV-Geräte mit Batterie- und Leistungsmetriken

ups_device

Details eines einzelnen USV-Geräts

device_id

ups_config

Konfiguration des USV-Daemons

health — 4 Subactions

Diagnose der Verbindungs- und Systemgesundheit.

Subaction

Beschreibung

Erforderliche Parameter

check

Umfassender Gesundheitscheck: API-Latenz, Array-Status, Warnungen, Docker-Container-Zusammenfassung

test_connection

Ping an die Unraid-API und Rückgabe der Latenz in ms

diagnose

Status des Abonnementsystems, Fehleranzahl, Verbindungsstatus

setup

Interaktive Einrichtung der Anmeldedaten (unterstützt MCP-Elicitation)

array — 13 Subactions

Paritätsprüfungen und Array-Festplattenoperationen. Destruktive Subactions sind mit * markiert.

Subaction

Beschreibung

Erforderliche Parameter

Destruktiv

parity_status

Aktueller Fortschritt der Paritätsprüfung, Geschwindigkeit, Fehler

parity_history

Ergebnisse vergangener Paritätsprüfungen

parity_start

Startet eine Paritätsprüfung

correct (bool)

parity_pause

Pausiert eine laufende Paritätsprüfung

parity_resume

Setzt eine pausierte Paritätsprüfung fort

parity_cancel

Bricht eine laufende Paritätsprüfung ab

start_array

Startet das Unraid-Array

stop_array

Stoppt das Unraid-Array

confirm=True

*

add_disk

Fügt eine Festplatte zum Array hinzu

disk_id; optional slot

remove_disk

Entfernt eine Festplatte aus dem Array (Array muss gestoppt sein)

disk_id, confirm=True

*

mount_disk

Mountet eine Array-Festplatte

disk_id

unmount_disk

Unmountet eine Array-Festplatte

disk_id

clear_disk_stats

Löscht I/O-Statistiken für eine Festplatte (irreversibel)

disk_id, confirm=True

*

disk — 6 Subactions

Freigaben, physische Festplatten, Protokolldateien und Flash-Backup. Destruktive Subactions sind mit * markiert.

Subaction

Beschreibung

Erforderliche Parameter

Destruktiv

shares

Alle Benutzerfreigaben mit Größe, Zuweisungseinstellungen, LUKS-Status

disks

Liste der physischen Festplatten (ID, Gerät, Name)

disk_details

Einzelne Festplatte: Seriennummer, Größe, Temperatur

disk_id

log_files

Liste der verfügbaren Protokolldateien (Name, Pfad, Größe, geändert)

logs

Liest den Inhalt einer Protokolldatei mit Zeilenbereich

log_path; optional tail_lines (Standard 100, max 10000)

flash_backup

Initiiert rclone-Backup des Flash-Laufwerks auf ein Remote

remote_name, source_path (muss mit /boot beginnen), destination_path, confirm=True

*

Details zu flash_backup: Ruft die Unraid initiateFlashBackup GraphQL-Mutation auf, die einen rclone-Kopiervorgang vom Flash-Laufwerk auf ein konfiguriertes rclone-Remote auslöst. Das Ziel auf dem Remote wird überschrieben, falls es existiert. Gibt { status, jobId } zurück. Zur Wiederherstellung: Verwenden Sie rclone, um das Backup zurück auf das Flash-Laufwerk zu kopieren, oder extrahieren Sie einzelne Konfigurationsdateien. Konfigurieren Sie das rclone-Remote zuerst über rclone/create_remote.

docker — 7 Subactions

Container-Lebenszyklus und Netzwerk-Inspektion. Keine destruktiven Subactions.

Subaction

Beschreibung

Erforderliche Parameter

list

Alle Container: ID, Namen, Image, Zustand, Status, autoStart

details

Vollständige Container-Details: Ports, Mounts, Labels, Netzwerkeinstellungen

container_id

start

Startet einen Container

container_id

stop

Stoppt einen Container

container_id

restart

Stoppt und startet einen Container (Stopp + Start nacheinander)

container_id

networks

Alle Docker-Netzwerke: ID, Name, Treiber, Scope

network_details

Einzelnes Netzwerk mit IPv6, Containern, Optionen, Labels

network_id

Container-Identifikatoren akzeptieren die vollständige ID, ein kurzes ID-Präfix, den exakten Namen oder ein eindeutiges Namenspräfix. Mutationen (start, stop, restart) erfordern einen exakten Namen oder die vollständige ID.

vm — 9 Subactions

Lebenszyklus virtueller Maschinen. Destruktive Subactions sind mit * markiert.

Subaction

Beschreibung

Erforderliche Parameter

Destruktiv

list

Alle VMs: ID, Name, Zustand, UUID

details

Details einer einzelnen VM

vm_id

start

Startet eine VM

vm_id

stop

Stoppt eine VM ordnungsgemäß

vm_id

pause

Pausiert eine laufende VM

vm_id

resume

Setzt eine pausierte VM fort

vm_id

reboot

Startet eine VM neu

vm_id

force_stop

Hartes Ausschalten einer VM (Datenverlust möglich)

vm_id, confirm=True

*

reset

Hartes Zurücksetzen einer VM ohne ordnungsgemäßes Herunterfahren

vm_id, confirm=True

*

vm_id akzeptiert UUID, präfixierte ID oder VM-Namen.

notification — 12 Subactions

CRUD für Systembenachrichtigungen. Destruktive Subactions sind mit * markiert.

Subaction

Beschreibung

Erforderliche Parameter

Destruktiv

overview

Anzahl der ungelesenen und archivierten Benachrichtigungen nach Wichtigkeit (INFO/WARNING/ALERT)

list

Paginierte Liste der Benachrichtigungen

list_type (UNREAD oder ARCHIVE, Standard UNREAD); optional importance, offset, limit

create

Erstellt eine Benachrichtigung

title (≤200), subject (≤500), description (≤2000), importance (INFO/WARNING/ALERT)

archive

Archiviert eine einzelne Benachrichtigung

notification_id

mark_unread

Verschiebt eine archivierte Benachrichtigung zurück zu ungelesen

notification_id

recalculate

Berechnet die Übersichtszahlen neu

archive_all

Archiviert alle ungelesenen Benachrichtigungen

optional importance zum Filtern

archive_many

Archiviert spezifische Benachrichtigungen nach ID

notification_ids (Liste)

unarchive_many

De-archiviert spezifische Benachrichtigungen nach ID

notification_ids (Liste)

unarchive_all

Verschiebt alle archivierten Benachrichtigungen zurück zu ungelesen

optional importance zum Filtern

delete

Löscht eine einzelne Benachrichtigung dauerhaft

notification_id, notification_type, confirm=True

*

delete_archived

Löscht alle archivierten Benachrichtigungen dauerhaft

confirm=True

*

key — 7 Subactions

API-Schlüsselverwaltung. Destruktive Subactions sind mit * markiert.

Subaction

Beschreibung

Erforderliche Parameter

Destruktiv

list

Alle API-Schlüssel mit Rollen und Berechtigungen

get

Details eines einzelnen API-Schlüssels

key_id

create

Erstellt einen API-Schlüssel

name; optional roles, permissions

update

Aktualisiert Name, Rollen oder Berechtigungen

key_id; optional name, roles, permissions

delete

Löscht einen API-Schlüssel (widerruft sofort den Zugriff)

key_id, confirm=True

*

add_role

Fügt einem bestehenden Schlüssel eine Rolle hinzu

key_id, roles (erstes Element wird verwendet)

remove_role

Entfernt eine Rolle von einem bestehenden Schlüssel

key_id, roles (erstes Element wird verwendet)

plugin — 3 Subactions

Unraid-Plugin-Verwaltung. Destruktive Subactions sind mit * markiert.

Subaction

Beschreibung

Erforderliche Parameter

Destruktiv

list

Alle installierten Plugins mit Version und Modul-Flags

add

Installiert Plugins nach Namen

names (Liste); optional bundled, restart

remove

Deinstalliert Plugins nach Namen (irreversibel ohne Neuinstallation)

names (Liste), confirm=True

*

rclone — 4 Subactions

Verwaltung von Cloud-Speicher-Remotes. Destruktive Subactions sind mit * markiert.

Subaction

Beschreibung

Erforderliche Parameter

Destruktiv

list_remotes

Alle konfigurierten rclone-Remotes mit Typ und Parametern

config_form

Konfigurationsformular-Schema für einen Anbietertyp

optional provider_type

create_remote

Erstellt ein neues rclone-Remote

name, provider_type, config_data (dict von string/number/bool; max 50 Schlüssel)

delete_remote

Löscht eine rclone-Remote-Konfiguration (löscht keine Remote-Daten)

name, confirm=True

*

setting — 2 Subactions

Systemeinstellungen. Destruktive Subactions sind mit * markiert.

Subaction

Beschreibung

Erforderliche Parameter

Destruktiv

update

Aktualisiert Systemeinstellungen (JSON-Schlüssel/Wert-Eingabe)

settings_input (dict; max 100 Schlüssel, nur skalare Werte)

configure_ups

Überschreibt die USV-Überwachungskonfiguration

ups_config (dict), confirm=True

*

customization — 5 Subactions

UI-Theme und SSO-Status.

| Subaction | Beschreibung | Erforder

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jmagar/unraid-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server