Skip to main content
Glama
jmagar

Unraid MCP Server

by jmagar

Unraid MCP

PyPI ghcr.io

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

Обзор

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

Related MCP server: Model Control Plane (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 поддействий

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

-
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