Skip to main content
Glama
Unraid MCP Server

Unraid MCP Server

Unraid MCP

PyPI ghcr.io

MCP-сервер на базе GraphQL для Unraid. Предоставляет унифицированный инструмент unraid для проверки системы, операций управления, телеметрии в реальном времени и деструктивных действий, требующих явного подтверждения.

Обзор

Сервер преобразует вызовы инструментов MCP в GraphQL-запросы и мутации Unraid по протоколам HTTP и WebSocket. Все операции используют единый инструмент unraid, маршрутизируемый через action + subaction. Телеметрия в реальном времени использует WebSocket-подписки, которые транслируют данные из API Unraid.

Related MCP server: unraid-mcp-server

Что входит в этот репозиторий

  • unraid_mcp/ — сервер, GraphQL-клиент, WebSocket-подписки, конфигурация и обработчики инструментов

  • skills/unraid/ — документация по навыкам для клиентов

  • docs/ — справочные материалы по аутентификации, деструктивным действиям и публикации

  • .claude-plugin/, .codex-plugin/, gemini-extension.json — манифесты клиентов

  • docker-compose.yaml, Dockerfile, entrypoint.sh — развертывание в контейнере

  • tests/ — модульные, функциональные, схемные, HTTP-уровневые тесты и тесты с реальным сервером

Инструменты

Индекс инструментов

Инструмент

Назначение

unraid

Унифицированный маршрутизатор действий/поддействий для всех операций

unraid_help

Возвращает эту справку в формате Markdown

diagnose_subscriptions

Полный диагностический дамп системы WebSocket-подписок

test_subscription_query

Проверка необработанной GraphQL-подписки для отладки схемы

unraid — группы действий

Все операции выполняются через один инструмент. Выберите action, а затем subaction внутри него.

system — 18 поддействий

Информация о сервере, метрики, сеть и ИБП.

Поддействие

Описание

Обязательные параметры

overview

ОС, CPU, компоновка памяти, версии, ID машины

—

array

Состояние массива, емкость, сводка состояния дисков

—

network

URL доступа, порты HTTP/HTTPS, LAN/WAN IP

—

registration

Тип лицензии, файл ключа, срок действия

—

variables

Полный набор переменных Unraid (часовой пояс, общие ресурсы и т.д.)

—

metrics

Текущая загрузка CPU % и использование памяти

—

services

Запущенные службы: имя, статус, версия

—

display

Имя текущей темы интерфейса

—

config

Валидность конфигурации и состояние ошибок

—

online

Проверка доступности (boolean)

—

owner

Имя владельца, аватар, URL профиля

—

settings

Унифицированная карта настроек ключ/значение

—

server

Сводка одним вызовом: имя хоста, время работы, версия Unraid, состояние массива

—

servers

Все зарегистрированные серверы с LAN/WAN IP и URL

—

flash

Информация о производителе и модели флеш-накопителя

—

ups_devices

Все устройства ИБП с метриками батареи и питания

—

ups_device

Детали одного устройства ИБП

device_id

ups_config

Конфигурация демона ИБП

—

health — 4 поддействия

Диагностика соединения и состояния системы.

Поддействие

Описание

Обязательные параметры

check

Комплексная проверка: задержка API, состояние массива, оповещения, сводка Docker-контейнеров

—

test_connection

Пинг API Unraid и возврат задержки в мс

—

diagnose

Статус системы подписок, счетчики ошибок, состояние переподключения

—

setup

Интерактивная настройка учетных данных (поддерживает вызов MCP)

—

array — 13 поддействий

Проверки четности и операции с дисками массива. Деструктивные поддействия отмечены *.

Поддействие

Описание

Обязательные параметры

Деструктивно

parity_status

Текущий прогресс проверки четности, скорость, ошибки

—

—

parity_history

Результаты прошлых проверок четности

—

—

parity_start

Запуск проверки четности

correct (bool)

—

parity_pause

Приостановка проверки четности

—

—

parity_resume

Возобновление проверки четности

—

—

parity_cancel

Отмена проверки четности

—

—

start_array

Запуск массива Unraid

—

—

stop_array

Остановка массива Unraid

confirm=True

*

add_disk

Добавление диска в массив

disk_id; опционально slot

—

remove_disk

Удаление диска из массива (массив должен быть остановлен)

disk_id, confirm=True

*

mount_disk

Монтирование диска массива

disk_id

—

unmount_disk

Размонтирование диска массива

disk_id

—

clear_disk_stats

Очистка статистики I/O диска (необратимо)

disk_id, confirm=True

*

disk — 6 поддействий

Общие ресурсы, физические диски, файлы журналов и резервное копирование флеш-накопителя. Деструктивные поддействия отмечены *.

Поддействие

Описание

Обязательные параметры

Деструктивно

shares

Все пользовательские ресурсы с размером, настройками размещения, статусом LUKS

—

—

disks

Список физических дисков (ID, устройство, имя)

—

—

disk_details

Один диск: серийный номер, размер, температура

disk_id

—

log_files

Список доступных файлов журналов (имя, путь, размер, дата изменения)

—

—

logs

Чтение содержимого файла журнала с указанием диапазона строк

log_path; опционально tail_lines (по умолчанию 100, макс 10000)

—

flash_backup

Запуск резервного копирования флеш-накопителя через rclone на удаленный ресурс

remote_name, source_path (должен начинаться с /boot), destination_path, confirm=True

*

Детали flash_backup: Вызывает мутацию GraphQL initiateFlashBackup, которая запускает копирование rclone с флеш-накопителя на настроенный удаленный ресурс rclone. Если целевой файл существует, он будет перезаписан. Возвращает { status, jobId }. Для восстановления: используйте rclone для копирования резервной копии обратно на флеш-накопитель или извлеките отдельные файлы конфигурации. Сначала настройте удаленный ресурс rclone через rclone/create_remote.

docker — 7 поддействий

Жизненный цикл контейнеров и проверка сети. Деструктивных поддействий нет.

Поддействие

Описание

Обязательные параметры

list

Все контейнеры: ID, имена, образ, состояние, статус, autoStart

—

details

Полные детали контейнера: порты, монтирования, метки, настройки сети

container_id

start

Запуск контейнера

container_id

stop

Остановка контейнера

container_id

restart

Перезапуск контейнера (остановка + запуск)

container_id

networks

Все сети Docker: ID, имя, драйвер, область действия

—

network_details

Одна сеть с IPv6, контейнерами, опциями, метками

network_id

Идентификаторы контейнеров принимают полный ID, короткий префикс ID, точное имя или однозначный префикс имени. Мутации (start, stop, restart) требуют точного имени или полного ID.

vm — 9 поддействий

Жизненный цикл виртуальных машин. Деструктивные поддействия отмечены *.

Поддействие

Описание

Обязательные параметры

Деструктивно

list

Все ВМ: ID, имя, состояние, UUID

—

—

details

Детали одной ВМ

vm_id

—

start

Запуск ВМ

vm_id

—

stop

Корректная остановка ВМ

vm_id

—

pause

Приостановка работающей ВМ

vm_id

—

resume

Возобновление приостановленной ВМ

vm_id

—

reboot

Перезагрузка ВМ

vm_id

—

force_stop

Принудительное выключение ВМ (возможна потеря данных)

vm_id, confirm=True

*

reset

Жесткая перезагрузка ВМ без корректного завершения

vm_id, confirm=True

*

vm_id принимает UUID, префикс ID или имя ВМ.

notification — 12 поддействий

CRUD системных уведомлений. Деструктивные поддействия отмечены *.

Поддействие

Описание

Обязательные параметры

Деструктивно

overview

Количество непрочитанных и архивных уведомлений по важности (INFO/WARNING/ALERT)

—

—

list

Пагинированный список уведомлений

list_type (UNREAD или ARCHIVE, по умолчанию UNREAD); опционально importance, offset, limit

—

create

Создание уведомления

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

—

archive

Архивация одного уведомления

notification_id

—

mark_unread

Перемещение архивного уведомления обратно в непрочитанные

notification_id

—

recalculate

Пересчет количества уведомлений

—

—

archive_all

Архивация всех непрочитанных уведомлений

опционально importance для фильтрации

—

archive_many

Архивация нескольких уведомлений по ID

notification_ids (список)

—

unarchive_many

Разархивация нескольких уведомлений по ID

notification_ids (список)

—

unarchive_all

Перемещение всех архивных уведомлений обратно в непрочитанные

опционально importance для фильтрации

—

delete

Безвозвратное удаление одного уведомления

notification_id, notification_type, confirm=True

*

delete_archived

Безвозвратное удаление всех архивных уведомлений

confirm=True

*

key — 7 поддействий

Управление ключами API. Деструктивные поддействия отмечены *.

Поддействие

Описание

Обязательные параметры

Деструктивно

list

Все ключи API с ролями и разрешениями

—

—

get

Детали одного ключа API

key_id

—

create

Создание ключа API

name; опционально roles, permissions

—

update

Обновление имени, ролей или разрешений

key_id; опционально name, roles, permissions

—

delete

Удаление ключа API (немедленно отзывает доступ)

key_id, confirm=True

*

add_role

Добавление роли к существующему ключу

key_id, roles (используется первый элемент)

—

remove_role

Удаление роли из существующего ключа

key_id, roles (используется первый элемент)

—

plugin — 3 поддействия

Управление плагинами Unraid. Деструктивные поддействия отмечены *.

Поддействие

Описание

Обязательные параметры

Деструктивно

list

Все установленные плагины с версией и флагами модулей

—

—

add

Установка плагинов по имени

names (список); опционально bundled, restart

—

remove

Удаление плагинов по имени (необратимо без переустановки)

names (список), confirm=True

*

rclone — 4 поддействия

Управление удаленными хранилищами rclone. Деструктивные поддействия отмечены *.

Поддействие

Описание

Обязательные параметры

Деструктивно

list_remotes

Все настроенные удаленные ресурсы rclone с типом и параметрами

—

—

config_form

Схема формы конфигурации для типа провайдера

опционально provider_type

—

create_remote

Создание нового удаленного ресурса rclone

name, provider_type, config_data (словарь строк/чисел/bool; макс 50 ключей)

—

delete_remote

Удаление конфигурации удаленного ресурса rclone (не удаляет данные на удаленном ресурсе)

name, confirm=True

*

setting — 2 поддействия

Системные настройки. Деструктивные поддействия отмечены *.

Поддействие

Описание

Обязательные параметры

Деструктивно

update

Обновление системных настроек (ввод JSON ключ/значение)

settings_input (словарь; макс 100 ключей, только скалярные значения)

—

configure_ups

Перезапись конфигурации мониторинга ИБП

ups_config (словарь), confirm=True

*

customization — 5 поддействий

Тема интерфейса

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