Skip to main content
Glama
dinglebear-ai

Unraid MCP Server

Unraid MCP

PyPI ghcr.io

基于 GraphQL 的 Unraid MCP 服务器。提供统一的 unraid 工具,用于系统检查、管理操作、实时遥测以及需要明确确认的破坏性操作。

概述

该服务器将 MCP 工具调用转换为通过 HTTP 和 WebSocket 进行的 Unraid GraphQL 查询和变更。所有操作共享一个由 action + subaction 路由的 unraid 工具。实时遥测使用 WebSocket 订阅,从 Unraid API 流式传输实时数据。

Related MCP server: unraid-code-mode-mcp

本仓库包含内容

  • unraid_mcp/ — 服务器、GraphQL 客户端、WebSocket 订阅、配置和工具处理程序

  • skills/unraid/ — 面向客户端的技能文档

  • docs/ — 身份验证、破坏性操作和发布参考

  • .claude-plugin/, .codex-plugin/, gemini-extension.json — 客户端清单

  • docker-compose.yaml, Dockerfile, entrypoint.sh — 容器部署

  • tests/ — 单元测试、安全性、模式、HTTP 层和实时覆盖测试

工具

工具索引

工具

用途

unraid

所有操作的统一 action/subaction 路由器

unraid_help

以 Markdown 格式返回此参考文档

diagnose_subscriptions

WebSocket 订阅系统的完整诊断转储

test_subscription_query

探测原始 GraphQL 订阅以进行模式/调试工作

unraid — 操作组

所有操作都通过一个工具进行。选择一个 action,然后在其中选择一个 subaction

system — 18 个子操作

服务器信息、指标、网络和 UPS。

子操作

描述

所需参数

overview

操作系统、CPU、内存布局、版本、机器 ID

array

阵列状态、容量、磁盘健康状况摘要

network

访问 URL、HTTP/HTTPS 端口、LAN/WAN IP

registration

许可证类型、密钥文件、过期时间

variables

完整的 Unraid 变量集(时区、共享等)

metrics

实时 CPU % 和内存使用率

services

正在运行的服务(名称、在线状态、版本)

display

当前 UI 主题名称

config

配置有效性和错误状态

online

布尔值可达性检查

owner

所有者用户名、头像、个人资料 URL

settings

统一设置键/值映射

server

单次调用摘要:主机名、运行时间、Unraid 版本、阵列状态

servers

所有已注册服务器(带 LAN/WAN IP 和 URL)

flash

闪存驱动器供应商和产品信息

ups_devices

所有带电池和电源指标的 UPS 设备

ups_device

单个 UPS 设备详情

device_id

ups_config

UPS 守护进程配置

health — 4 个子操作

连接和系统健康诊断。

子操作

描述

所需参数

check

全面健康检查:API 延迟、阵列状态、警报、Docker 容器摘要

test_connection

Ping Unraid API 并返回延迟(毫秒)

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 详情: 调用 Unraid initiateFlashBackup GraphQL 变更,触发从闪存驱动器到已配置 rclone 远程的 rclone 复制。如果远程目标已存在,则会被覆盖。返回 { status, jobId }。恢复方法:使用 rclone 将备份复制回闪存驱动器,或提取单个配置文件。请先通过 rclone/create_remote 配置 rclone 远程。

docker — 7 个子操作

容器生命周期和网络检查。无破坏性子操作。

子操作

描述

所需参数

list

所有容器:ID、名称、镜像、状态、运行状态、自动启动

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 个子操作

云存储远程管理。破坏性子操作标有 *

子操作

描述

所需参数

破坏性

list_remotes

所有已配置的 rclone 远程(带类型和参数)

config_form

提供程序类型的配置表单模式

可选 provider_type

create_remote

创建新的 rclone 远程

name, provider_type, config_data (字符串/数字/布尔值的字典; 最大 50 个键)

delete_remote

删除 rclone 远程配置(不删除远程数据)

name, confirm=True

*

setting — 2 个子操作

系统设置。破坏性子操作标有 *

子操作

描述

所需参数

破坏性

update

更新系统设置(JSON 键/值输入)

settings_input (字典; 最大 100 个键,仅限标量值)

configure_ups

覆盖 UPS 监控配置

ups_config (字典), confirm=True

*

customization — 5 个子操作

UI 主题和 SSO 状态。

子操作

描述

所需参数

theme

完整主题、合作伙伴信息和激活码

public_theme

面向公众的主题和合作伙伴信息(未认证视图)

is_initial_setup

是否已完成初始设置向导

sso_enabled

是否启用了 SSO

set_theme

设置活动 UI 主题

theme_name

oidc — 5 个子操作

OpenID Connect / SSO 提供程序管理。

子操作

描述

所需参数

providers

所有带客户端 ID、作用域、身份验证规则的 OIDC 提供程序

provider

单个提供程序详情

provider_id

configuration

带默认允许来源的 OIDC 配置

public_providers

公共提供程序列表(按钮文本、图标、样式)

validate_session

验证 OIDC 会话令牌

token

user — 1 个子操作

子操作

描述

所需参数

me

已认证用户:ID、名称、描述、角色

live — 11 个子操作(WebSocket 订阅)

live 操作组从 Unraid GraphQL API 的活动 WebSocket 订阅中读取数据。它不发出 HTTP 查询,而是打开一个 graphql-transport-ws 连接,并等待一个快照或在一段时间内收集事件。

两种交付模式:

  • 快照 (SNAPSHOT_ACTIONS):打开订阅并返回在 timeout 秒内收

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides read-only server monitoring and diagnostic tools for AI assistants to manage Linux and Unraid systems via SSH. It enables natural language interactions for container management, storage health checks, and system log analysis while keeping credentials secure.
    17
    ISC
  • A
    license
    A
    quality
    D
    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.
    2
    MIT