Skip to main content
Glama
Unraid MCP Server

Unraid MCP Server

Unraid MCP

PyPI ghcr.io

Servidor MCP respaldado por GraphQL para Unraid. Expone una herramienta unificada unraid para la inspección del sistema, operaciones de gestión, telemetría en vivo y acciones destructivas protegidas por confirmación explícita.

Descripción general

El servidor traduce las llamadas a herramientas MCP en consultas y mutaciones de GraphQL de Unraid a través de HTTP y WebSocket. Todas las operaciones comparten una única herramienta unraid enrutada por action + subaction. La telemetría en vivo utiliza suscripciones WebSocket que transmiten datos en tiempo real desde la API de Unraid.

Related MCP server: unraid-mcp-server

Qué incluye este repositorio

  • unraid_mcp/ — servidor, cliente GraphQL, suscripciones WebSocket, configuración y manejadores de herramientas

  • skills/unraid/ — documentación de habilidades orientada al cliente

  • docs/ — referencias de autenticación, acciones destructivas y publicación

  • .claude-plugin/, .codex-plugin/, gemini-extension.json — manifiestos de cliente

  • docker-compose.yaml, Dockerfile, entrypoint.sh — despliegue en contenedor

  • tests/ — pruebas unitarias, de seguridad, de esquema, de capa HTTP y de cobertura en vivo

Herramientas

Índice de herramientas

Herramienta

Propósito

unraid

Enrutador unificado de acción/subacción para todas las operaciones

unraid_help

Devuelve esta referencia como Markdown

diagnose_subscriptions

Volcado de diagnóstico completo del sistema de suscripción WebSocket

test_subscription_query

Prueba una suscripción GraphQL sin procesar para trabajos de esquema/depuración

unraid — grupos de acción

Todas las operaciones pasan por una sola herramienta. Elija una action y luego una subaction dentro de ella.

system — 18 subacciones

Información del servidor, métricas, red y SAI (UPS).

Subacción

Descripción

Parámetros requeridos

overview

SO, CPU, diseño de memoria, versiones, ID de máquina

—

array

Estado de la matriz, capacidad, resumen de salud del disco

—

network

URLs de acceso, puertos HTTP/HTTPS, IPs LAN/WAN

—

registration

Tipo de licencia, archivo de clave, expiración

—

variables

Conjunto completo de variables de Unraid (zona horaria, recursos compartidos, etc.)

—

metrics

% de CPU en vivo y uso de memoria

—

services

Servicios en ejecución con nombre, estado en línea, versión

—

display

Nombre del tema de la interfaz de usuario actual

—

config

Validez de la configuración y estado de error

—

online

Verificación de accesibilidad booleana

—

owner

Nombre de usuario del propietario, avatar, URL del perfil

—

settings

Mapa de clave/valor de configuración unificada

—

server

Resumen de llamada única: nombre de host, tiempo de actividad, versión de Unraid, estado de la matriz

—

servers

Todos los servidores registrados con IPs LAN/WAN y URLs

—

flash

Información del proveedor y producto de la unidad flash

—

ups_devices

Todos los dispositivos SAI con métricas de batería y energía

—

ups_device

Detalles de un solo dispositivo SAI

device_id

ups_config

Configuración del demonio SAI

—

health — 4 subacciones

Diagnóstico de conexión y salud del sistema.

Subacción

Descripción

Parámetros requeridos

check

Salud integral: latencia de API, estado de la matriz, alertas, resumen de contenedores Docker

—

test_connection

Hacer ping a la API de Unraid y devolver la latencia en ms

—

diagnose

Estado del sistema de suscripción, conteo de errores, estado de reconexión

—

setup

Configuración interactiva de credenciales (admite elicitación MCP)

—

array — 13 subacciones

Verificaciones de paridad y operaciones de disco de la matriz. Las subacciones destructivas están marcadas con *.

Subacción

Descripción

Parámetros requeridos

Destructiva

parity_status

Progreso actual de la verificación de paridad, velocidad, errores

—

—

parity_history

Resultados de verificaciones de paridad pasadas

—

—

parity_start

Iniciar una verificación de paridad

correct (bool)

—

parity_pause

Pausar una verificación de paridad en ejecución

—

—

parity_resume

Reanudar una verificación de paridad pausada

—

—

parity_cancel

Cancelar una verificación de paridad en ejecución

—

—

start_array

Iniciar la matriz de Unraid

—

—

stop_array

Detener la matriz de Unraid

confirm=True

*

add_disk

Agregar un disco a la matriz

disk_id; opcional slot

—

remove_disk

Eliminar un disco de la matriz (la matriz debe estar detenida)

disk_id, confirm=True

*

mount_disk

Montar un disco de la matriz

disk_id

—

unmount_disk

Desmontar un disco de la matriz

disk_id

—

clear_disk_stats

Borrar estadísticas de E/S de un disco (irreversible)

disk_id, confirm=True

*

disk — 6 subacciones

Recursos compartidos, discos físicos, archivos de registro y copia de seguridad flash. Las subacciones destructivas están marcadas con *.

Subacción

Descripción

Parámetros requeridos

Destructiva

shares

Todos los recursos compartidos de usuario con tamaño, configuración de asignación, estado LUKS

—

—

disks

Lista de discos físicos (ID, dispositivo, nombre)

—

—

disk_details

Disco único: serie, tamaño, temperatura

disk_id

—

log_files

Listar archivos de registro disponibles (nombre, ruta, tamaño, modificado)

—

—

logs

Leer contenido del archivo de registro con rango de líneas

log_path; opcional tail_lines (predeterminado 100, máx 10000)

—

flash_backup

Iniciar copia de seguridad rclone de la unidad flash a un remoto

remote_name, source_path (debe comenzar con /boot), destination_path, confirm=True

*

Detalles de flash_backup: Llama a la mutación GraphQL initiateFlashBackup de Unraid, que activa una copia rclone desde la unidad flash a un remoto rclone configurado. El destino en el remoto se sobrescribe si existe. Devuelve { status, jobId }. Para restaurar: use rclone para copiar la copia de seguridad de vuelta a la unidad flash, o extraiga archivos de configuración individuales. Configure el remoto rclone primero a través de rclone/create_remote.

docker — 7 subacciones

Ciclo de vida del contenedor e inspección de red. Sin subacciones destructivas.

Subacción

Descripción

Parámetros requeridos

list

Todos los contenedores: ID, nombres, imagen, estado, estatus, autoStart

—

details

Detalle completo del contenedor: puertos, montajes, etiquetas, configuración de red

container_id

start

Iniciar un contenedor

container_id

stop

Detener un contenedor

container_id

restart

Detener y luego iniciar un contenedor (detener + iniciar en secuencia)

container_id

networks

Todas las redes Docker: ID, nombre, controlador, alcance

—

network_details

Red única con IPv6, contenedores, opciones, etiquetas

network_id

Los identificadores de contenedor aceptan ID completo, prefijo de ID corto, nombre exacto o prefijo de nombre inequívoco. Las mutaciones (start, stop, restart) requieren un nombre exacto o ID completo.

vm — 9 subacciones

Ciclo de vida de la máquina virtual. Las subacciones destructivas están marcadas con *.

Subacción

Descripción

Parámetros requeridos

Destructiva

list

Todas las VM: ID, nombre, estado, UUID

—

—

details

Detalles de una sola VM

vm_id

—

start

Iniciar una VM

vm_id

—

stop

Detener suavemente una VM

vm_id

—

pause

Pausar una VM en ejecución

vm_id

—

resume

Reanudar una VM pausada

vm_id

—

reboot

Reiniciar una VM

vm_id

—

force_stop

Apagado forzado de una VM (posible pérdida de datos)

vm_id, confirm=True

*

reset

Reinicio forzado de una VM sin apagado suave

vm_id, confirm=True

*

vm_id acepta UUID, ID con prefijo o nombre de VM.

notification — 12 subacciones

CRUD de notificaciones del sistema. Las subacciones destructivas están marcadas con *.

Subacción

Descripción

Parámetros requeridos

Destructiva

overview

Conteos de no leídos y archivados por importancia (INFO/WARNING/ALERT)

—

—

list

Lista de notificaciones paginada

list_type (UNREAD o ARCHIVE, predeterminado UNREAD); opcional importance, offset, limit

—

create

Crear una notificación

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

—

archive

Archivar una sola notificación

notification_id

—

mark_unread

Mover una notificación archivada de vuelta a no leída

notification_id

—

recalculate

Recalcular los conteos de la vista general

—

—

archive_all

Archivar todas las notificaciones no leídas

opcional importance para filtrar

—

archive_many

Archivar notificaciones específicas por ID

notification_ids (lista)

—

unarchive_many

Desarchivar notificaciones específicas por ID

notification_ids (lista)

—

unarchive_all

Mover todas las notificaciones archivadas de vuelta a no leídas

opcional importance para filtrar

—

delete

Eliminar permanentemente una sola notificación

notification_id, notification_type, confirm=True

*

delete_archived

Eliminar permanentemente todas las notificaciones archivadas

confirm=True

*

key — 7 subacciones

Gestión de claves API. Las subacciones destructivas están marcadas con *.

Subacción

Descripción

Parámetros requeridos

Destructiva

list

Todas las claves API con roles y permisos

—

—

get

Detalles de una sola clave API

key_id

—

create

Crear una clave API

name; opcional roles, permissions

—

update

Actualizar nombre, roles o permisos

key_id; opcional name, roles, permissions

—

delete

Eliminar una clave API (revoca el acceso inmediatamente)

key_id, confirm=True

*

add_role

Agregar un rol a una clave existente

key_id, roles (se usa el primer elemento)

—

remove_role

Eliminar un rol de una clave existente

key_id, roles (se usa el primer elemento)

—

plugin — 3 subacciones

Gestión de complementos de Unraid. Las subacciones destructivas están marcadas con *.

Subacción

Descripción

Parámetros requeridos

Destructiva

list

Todos los complementos instalados con versión y banderas de módulo

—

—

add

Instalar complementos por nombre

names (lista); opcional bundled, restart

—

remove

Desinstalar complementos por nombre (irreversible sin reinstalar)

names (lista), confirm=True

*

rclone — 4 subacciones

Gestión remota de almacenamiento en la nube. Las subacciones destructivas están marcadas con *.

Subacción

Descripción

Parámetros requeridos

Destructiva

list_remotes

Todos los remotos rclone configurados con tipo y parámetros

—

—

config_form

Esquema de formulario de configuración para un tipo de proveedor

opcional provider_type

—

create_remote

Crear un nuevo remoto rclone

name, provider_type, config_data (dict de string/number/bool; máx 50 claves)

—

delete_remote

Eliminar una configuración remota rclone (no elimina datos remotos)

name, confirm=True

*

setting — 2 subacciones

Configuración del sistema. Las subacciones destructivas están marcadas con *.

Subacción

Descripción

Parámetros requeridos

Destructiva

update

Actualizar la configuración del sistema (entrada JSON clave/valor)

settings_input (dict; máx 100 claves, solo valores escalares)

—

configure_ups

Sobrescribir la configuración de monitoreo SAI

ups_config (dict), confirm=True

*

customization — 5 subacciones

Tema de la interfaz de usuario y estado SSO.

Subacción

Descripción

Parámetros requeridos

theme

Tema completo, información del socio y código de activación

—

public_theme

Tema público e información del socio (vista no autenticada)

—

is_initial_setup

Si se ha completado el asistente de configuración inicial

—

sso_enabled

Si SSO está habilitado

—

set_theme

Establecer el tema de la interfaz de

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    A code-mode MCP server for the Unraid 7.2+ GraphQL API that exposes search and execute tools, allowing LLM agents to introspect and call any GraphQL field via sandboxed JavaScript.
    2
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables AI assistants like Claude to manage Unraid servers through natural language. Install it from Community Applications and control your homelab from any MCP-compatible AI client.
    3
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    A Model Context Protocol server that enables AI clients to inspect and manage an Unraid server via its GraphQL API, with read-only defaults and optional enabled mutations.
    88
    MIT