devops-infra MCP Server
Query, monitor, and manage Unraid servers via GraphQL API through MCP tools. Supports system info, Docker, VMs, array/parity, notifications, plugins, rclone, and live telemetry.
Discovered via github-topic:mcp-server and last synced 2d ago.
1. Install the package
uvx unraid-mcp
2. Add to claude_desktop_config.json
{
"mcpServers": {
"unraid-mcp": {
"command": "uvx",
"args": [
"unraid-mcp"
]
}
}
}Config file location: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) / %APPDATA%\Claude\claude_desktop_config.json (Windows)
`x-api-key` for the Unraid API (required)
`true`
`readonly`
`tower.local`
`443`
No
Required
`false`
Probe a raw GraphQL subscription for schema/debug work
`system/display_details` (safe direct root)
Unread and archive counts by importance (INFO/WARNING/ALERT)
Pause a running parity check
Clear I/O statistics for a disk (irreversible)
All installed plugins with version and module flags
Move all archived notifications back to unread
Add a role to an existing key
Full Unraid variable set (timezone, shares, etc.)
Report credential status and print plugin/`.env` setup instructions
Stop the Unraid array
Single disk: serial, size, temperature
Resume onboarding
Move an archived notification back to unread
Install plugins by name
Overwrite UPS monitoring configuration
Single provider details
Snapshot
`system/array`, `array/*`
Comprehensive health: API latency, array state, alerts, Docker container summary
Resume a paused parity check
Direct `customization` root onboarding/language details; activation-code values omitted
Delete an API key (immediately revokes access)
Remove a role from an existing key
Delete a rclone remote config (does not delete remote data)
Snapshot (event-driven)
`delete_archived`
str
str
str (INFO/WARNING/ALERT)
list[str]
str
No
Used by
`system/network_access_urls` (safe direct root)
Ping the Unraid API and return latency in ms
Cancel a running parity check
`disk/shares`
Start a VM
Create an API key
Permanently delete all archived notifications
Snapshot
Collect
bool (default `False`)
str
str (UNREAD/ARCHIVE, default UNREAD)
list[str]
str
No
`system/overview`, `system/display`, health check
`customization/details` (safe direct root; activation-code values omitted), `customization/*`
Start a parity check
Unmount an array disk
Config validity and error state
Unarchive specific notifications by ID
Purpose
`system/server_details` (safe direct root; API key omitted)
Full diagnostic dump: auto-start status, reconnect config, per-subscription state (active, last error, data received), error counts, and troubleshooting recommendations
Start the Unraid array
Physical disk list (ID, device, name)
Gracefully stop a VM
Pause a running VM
Archive a single notification
Returns this reference as Markdown
`system/metrics`
`system/flash`
Add a disk to the array
List available log files (name, path, size, modified)
All Docker networks: ID, name, driver, scope
Reboot a VM
Recalculate the overview counts
Single API key details
Uninstall plugins by name (irreversible without re-install)
OIDC configuration with default allowed origins
Snapshot
`flash_backup`
bool
str
str (≤2000)
bool (default `True`)
float (default `5.0`)
No
`array/parity_history`
Core agents, commands, skills, and setup/health workflows for homelab management.
Full diagnostic dump of the WebSocket subscription system
Current parity check progress, speed, errors
Remove a disk from the array (array must be stopped)
Not available via the Unraid GraphQL API — returns guidance to use `docker logs` on the host
Single network with IPv6, containers, options, labels
Hard power-off a VM (data loss possible)
Archive all unread notifications
Description
Full theme, partner info, and activation code
Public provider list (button text, icon, style)
Snapshot (event-driven)
`update_system_time`
int
str
int (default 0)
str
float (default `10.0`)
No
Past parity check results
Mount an array disk
Initiate rclone backup of the flash drive to a remote
Reset onboarding/setup state
Archive specific notifications by ID
Update system settings (JSON key/value input)
All configured rclone remotes with type and parameters
Public-facing theme (also the server's current theme)
Validate an OIDC session token
Snapshot (event-driven)
`install` / `install_language`
str
str
int (default 20)
dict
No
`system/servers`, `system/network`
`vm/*`
Receive, index, and search syslog streams from all homelab hosts via SQLite FTS5.
Config form schema for a provider type
Whether this is a fresh install (`isFreshInstall`)
Snapshot (event-driven)
`reset`
Type
int (default 100, max 10000)
list[str]
str
dict
Unraid GraphQL endpoint (required)
No
`notification/*`
Send and manage push notifications via a self-hosted Gotify server.
Create a new rclone remote
Whether SSO is enabled
`user/me`
str
str
str
dict
Effect
`system/online`, `health/test_connection`
`plugin/list`
All OIDC providers with client ID, scopes, auth rules
Snapshot
Collect
`rclone/*`
str
dict
str (≤200)
list[str]
str
No
Subaction
`delete`
str
str
str (≤500)
bool (default `False`)
str
Conditional
`system/network`, `system/variables`
`system/ups_config`
Category
Scaffold, review, align, and deploy homelab MCP plugins with agents and canonical templates.
`system/services`
Search movies and TV shows, submit requests, and monitor failed requests via Overseerr.
`system/owner`
No
Conditional
No
No
Conditional
No
Conditional
Conditional
No
No
Conditional
Conditional
No
Conditional
No
No
No
No
No
No
No
No
No
No
No
No
No
No
Unified action/subaction router for all operations (including `help` and `subscriptions` diagnostics)
`system/registration`
Direct `display` root metadata: case, theme, temperature display settings, thresholds, locale
`system/settings`
Direct `server` root details with owner and URLs; API key omitted
Direct `network.accessUrls` entries with type, name, IPv4, and IPv6
All UPS devices with battery and power metrics
Single UPS device details
Current server time, time zone, and NTP config
Available IANA time-zone options (capped)
Extended network interface list with IPv4/IPv6 address details
Physical disks not yet in the array (pairs with `add_disk`)
All host port bindings across running containers, sorted by `(host_port, protocol)`.
Unpause a paused container
Remove a container (optionally its image via `with_image`)
Apply a pending image update to one container
Apply image updates to several containers
Apply all pending container image updates
Set container autostart config
Refresh image digests (recheck for updates)
Update organizer view preferences
All assignable roles
Update timezone / NTP / manual time — can invalidate TLS certs
Toggle dynamic remote access
Bypass onboarding
Snapshot
list[str]
list[dict]
Sync Docker template paths
All grantable resource/action permissions
Update server name, comment, and model
Snapshot
bool (default `False`)
Reset template path mappings to defaults
Permissions implied by given roles
Set an onboarding override
Snapshot
list[dict]
dict
str
Create an organizer folder
Effective permissions for roles and/or permissions
Raw installed `.plg` filenames
Current remote-access settings (type, forward, port)
Clear the onboarding override
`create_internal_boot_pool`
dict
str
Create a folder containing items
All available auth actions
List async plugin-install operations
Unraid Connect / cloud status (relay, minigraph, key validity)
Recompute the internal boot context
str
str
Rename a folder
JSON-schema form for key creation
Status of one install operation
Direct `connect` root status: dynamic remote access and settings schema; settings values omitted
Internal boot / first-boot context
Create an internal boot pool — FORMATS devices, may REBOOT
Collect
`connect/status` (safe direct root; settings values omitted), `connect/*`
str
dict
Set a folder's children
Update Connect API settings (affects internet reachability)
Set the active UI theme
Mark onboarding complete
Snapshot (event-driven)
bool (default `False`)
dict
Delete organizer entries
Create a notification only if an identical one does not already exist
Sign the server in to Unraid Connect — registers with the cloud
Set the UI locale
Open the onboarding flow
`delete_entries`
str
Move entries into a folder
Async-install a `.plg` URL — runs code as root (poll via `install_operation`)
Update SSH daemon settings (can cut off shell access)
Sign the server out of Unraid Connect
Close the onboarding flow
Send a raw GraphQL subscription string directly over WebSocket to debug schema/field issues
str (UNREAD/ARCHIVE)
str
Move items to a position
Async-install a language pack — runs code as root
Update temperature sensor configuration
Configure remote access — can expose the server to the internet
Static bearer token for `/mcp`
`bearer` (default) or `oauth`
What it is
Accept a self-signed Unraid cert (default `false`)
Reduce container attack surface by building application images on Google distroless base images that contain only the application runtime with no shell, package manager, or unnecessary OS utilities.
Investigate compromised Docker containers by analyzing images, layers, volumes, logs, and runtime artifacts to identify malicious activity and evidence.
Harden the Docker daemon by configuring daemon.json with user namespace remapping, TLS authentication, rootless mode, and CIS benchmark controls.
Container escape is a critical attack technique where an adversary breaks out of container isolation to access the host system or other containers. Detection involves monitoring for escape indicators
AI Agent Assistant & development framework that integrates lots of IM platforms, LLMs, plugins and AI feature, and can be your openclaw alternative. ✨
ToolJet is the open-source foundation of ToolJet AI - the enterprise app generation platform for building internal tools, dashboard, business applications, workflows and AI agents 🚀
Turn your PC, Mac, or Linux box into an AI server. LLM inference, chat UI, voice, agents, workflows, RAG, and image generation.
Turn your PC, Mac, or Linux box into an AI server. LLM inference, chat UI, voice, agents, workflows, RAG, and image generation.
Learn how to use the Redis Manager Claude skill. Complete guide with installation instructions and examples.
Learn how to use the Privacy Search Claude skill. Complete guide with installation instructions and examples.
Learn how to use the Clawboard Claude skill. Complete guide with installation instructions and examples.