Unraid MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | HTTP bind hostname; containers normally use 0.0.0.0. | 127.0.0.1 |
| MCP_PORT | No | HTTP listening port. | 3000 |
| UNRAID_URL | Yes | WebGUI origin or exact GraphQL endpoint. Required. | |
| MCP_TRANSPORT | No | MCP transport: stdio or http. | stdio |
| MCP_AUTH_TOKEN | No | HTTP bearer token, at least 32 bytes; generated and logged when absent. | Generated |
| MCP_FILE_ROOTS | No | JSON object mapping short aliases to absolute container-mounted directories; enables mapped-file read tools. | None |
| UNRAID_API_KEY | Yes | Unraid API key sent only in the x-api-key request header. Required. | |
| UNRAID_CA_CERT | No | PEM CA certificate supplied inline; escaped \n is accepted. Use either this or UNRAID_CA_CERT_PATH, not both. | |
| MCP_ALLOWED_HOSTS | No | Comma-separated HTTP Host allowlist; required for wildcard binds. | localhost |
| MCP_MAX_FILE_BYTES | No | Maximum mapped text-file read or write, from 1 KiB to 1 MiB. | 262144 |
| MCP_ALLOWED_ORIGINS | No | Comma-separated browser Origin hostname allowlist. | None |
| UNRAID_CA_CERT_PATH | No | Absolute path to a PEM CA certificate or bundle. Use either this or UNRAID_CA_CERT, not both. | |
| MCP_ALLOW_FILE_WRITES | No | Register mapped-file overwrite support; requires MCP_WRITABLE_FILE_ROOTS. | false |
| MCP_MAX_REQUEST_BYTES | No | Maximum HTTP MCP request body, up to 4 MiB. | 1048576 |
| MCP_AUTH_FAILURE_LIMIT | No | Failed bearer attempts allowed per client and rate-limit window. | 10 |
| UNRAID_ALLOW_MUTATIONS | No | Register routine lifecycle, notification, and v4.37.1 mutation tools. | false |
| UNRAID_TLS_SKIP_VERIFY | No | Disable TLS identity verification for this Unraid client only. | false |
| MCP_WRITABLE_FILE_ROOTS | No | Comma-separated aliases from MCP_FILE_ROOTS that may be overwritten. Conditional on file-write support. | |
| MCP_MAX_DIRECTORY_ENTRIES | No | Maximum mapped directory entries per request, from 1 to 5000. | 500 |
| UNRAID_MAX_RESPONSE_BYTES | No | Maximum GraphQL response, from 1 KiB to 50 MiB. | 5242880 |
| UNRAID_REQUEST_TIMEOUT_MS | No | Absolute per-request timeout, from 100 to 120000 ms. | 15000 |
| MCP_AUTH_FAILURE_WINDOW_MS | No | Authentication failure window. | 60000 |
| MCP_HTTP_REQUEST_TIMEOUT_MS | No | HTTP request timeout, from 1 to 120 seconds. | 30000 |
| UNRAID_ALLOW_DESTRUCTIVE_MUTATIONS | No | Register destructive, credential, security, and other sensitive mutation tools; requires UNRAID_ALLOW_MUTATIONS=true. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| unraid_get_system_infoA | Get Unraid/API versions, host OS, hardware summary, memory modules, and network interfaces. |
| unraid_get_metricsB | Get current CPU, memory, network, swap, and temperature metrics from Unraid. |
| unraid_get_arrayA | Get array state, capacity, parity status, and boot, parity, data, and cache disks. |
| unraid_list_disksA | List detected and assignable physical disks with identity, SMART summary, temperature, and partitions. |
| unraid_list_sharesB | List user shares, capacity, allocation, cache, disk inclusion, and LUKS status. |
| unraid_list_docker_containersA | List Docker container state, image, ports, autostart, resource sizes, and port conflicts. |
| unraid_get_docker_logsA | Get timestamped logs for one Unraid Docker container. Use the returned cursor as since for the next page. |
| unraid_list_vmsA | List Unraid VM IDs, names, and lifecycle states. |
| unraid_get_upsA | Get connected UPS status, battery, load, voltage, runtime, power, and UPS configuration. |
| unraid_list_notificationsB | List unread or archived Unraid notifications and include overview counts and active warnings/alerts. |
| unraid_list_system_logsB | List system log files available through the Unraid API. |
| unraid_read_system_logA | Read a bounded section of a system log. First obtain its API-provided path with unraid_list_system_logs. |
| unraid_v4371_query_api_keysA | List API key metadata and grants without returning key material. |
| unraid_v4371_query_api_keyA | Get one API key's metadata and grants without returning key material. |
| unraid_v4371_query_api_key_possible_rolesA | List roles accepted by API key operations. |
| unraid_v4371_query_api_key_possible_permissionsA | List explicit permissions accepted by API key operations. |
| unraid_v4371_query_permissions_for_rolesB | Resolve the permissions granted by a set of roles. |
| unraid_v4371_query_preview_effective_permissionsB | Preview effective role and explicit permission grants. |
| unraid_v4371_query_available_auth_actionsA | List authentication actions supported by the API. |
| unraid_v4371_query_api_key_creation_form_schemaA | Get the API-key form schemas; current form values are deliberately excluded. |
| unraid_v4371_query_configA | Get core configuration validity and its current error. |
| unraid_v4371_query_displayB | Get display preferences without returning the base64 case image. |
| unraid_v4371_query_flashA | Get boot flash identity and hardware identifiers. |
| unraid_v4371_query_meA | Get the authenticated account and its authorization grants. |
| unraid_v4371_query_notificationsB | Get notification counts, a bounded filtered page, and current warnings and alerts. |
| unraid_v4371_query_onlineA | Check whether the Unraid API reports itself online. |
| unraid_v4371_query_ownerB | Get the connected Unraid account profile. |
| unraid_v4371_query_internal_boot_contextA | Get internal-boot eligibility, names, disks, and destructive-operation warnings. |
| unraid_v4371_query_registrationA | Get registration state without returning license-key file location or contents. |
| unraid_v4371_query_serverA | Get the current connected-server record without returning its API key. |
| unraid_v4371_query_serversA | List connected-server records without returning their API keys. |
| unraid_v4371_query_servicesA | List service status, uptime, and version information. |
| unraid_v4371_query_sharesB | List share capacity, placement, and filesystem settings. |
| unraid_v4371_query_varsA | Get a safe operational projection of Unraid vars; credentials and unique device IDs are excluded. |
| unraid_v4371_query_vmsA | List virtual machines and their states. |
| unraid_v4371_query_parity_historyA | List parity-check history and outcomes. |
| unraid_v4371_query_arrayA | Get array state, capacity, parity status, and member disks. |
| unraid_v4371_query_customizationA | Get safe customization and onboarding metadata without activation codes or embedded images. |
| unraid_v4371_query_is_fresh_installA | Check whether the server has no license key. |
| unraid_v4371_query_public_themeA | Get the public WebGUI theme. |
| unraid_v4371_query_infoB | Get detailed system inventory while excluding machine, hardware, OS, and DIMM serial identifiers. |
| unraid_v4371_query_network_interfacesA | List network interfaces, addresses, routes, and link state. |
| unraid_v4371_query_dockerA | Get Docker inventory, safe network metadata, port conflicts, organization, and update status. |
| unraid_v4371_query_disksA | List attached disks without returning serial numbers or geometry details. |
| unraid_v4371_query_assignable_disksA | List disks eligible for assignment without returning serial numbers or geometry details. |
| unraid_v4371_query_diskA | Get one disk without returning its serial number or detailed geometry. |
| unraid_v4371_query_log_filesA | List readable system log files and metadata. |
| unraid_v4371_query_log_fileC | Read a bounded section of a server log file. |
| unraid_v4371_query_settingsA | Get a safe settings projection without unified values, schemas, or OIDC client secrets. |
| unraid_v4371_query_is_sso_enabledA | Check whether SSO is enabled. |
| unraid_v4371_query_public_oidc_providersA | List public OIDC login-button metadata. |
| unraid_v4371_query_oidc_providersA | List OIDC provider configuration without client secrets. |
| unraid_v4371_query_oidc_providerA | Get one OIDC provider configuration without its client secret. |
| unraid_v4371_query_oidc_configurationA | Get safe OIDC configuration and redirect origins without client secrets. |
| unraid_v4371_query_metricsB | Get CPU, memory, temperature, and network metrics without unbounded temperature history. |
| unraid_v4371_query_system_timeA | Get system time, timezone, and configured NTP servers. |
| unraid_v4371_query_time_zone_optionsA | List selectable system timezones. |
| unraid_v4371_query_ups_devicesA | List UPS state, battery health, runtime, voltage, load, and power. |
| unraid_v4371_query_ups_device_by_idA | Get one UPS device by its schema-defined string ID. |
| unraid_v4371_query_ups_configurationA | Get UPS service, connection, network, and shutdown configuration. |
| unraid_v4371_query_plugin_install_operationA | Get one tracked plugin installation including its capped output. |
| unraid_v4371_query_plugin_install_operationsA | List tracked plugin installations without command output. |
| unraid_v4371_query_installed_unraid_pluginsA | List installed Unraid OS plugin filenames. |
| unraid_v4371_query_pluginsA | List loaded API plugins and module capabilities. |
| unraid_v4371_query_remote_accessA | Get remote-access exposure and port-forwarding configuration. |
| unraid_v4371_query_connectA | Get Unraid Connect status and safe settings values without form schemas. |
| unraid_v4371_query_networkA | Get configured LAN, WAN, WireGuard, mDNS, and other access URLs. |
| unraid_v4371_query_cloudA | Get cloud connectivity and API-key validity without returning the key. |
| unraid_v4371_query_docker_containerA | Get one Docker container with a safe, non-JSON projection. |
| unraid_v4371_query_docker_logsB | Read bounded timestamped logs from one Docker container. |
| unraid_v4371_query_docker_tailscale_statusA | Get Tailscale status for one container without returning its authentication URL. |
| unraid_v4371_next_display_subscriptionA | Wait for the next event from this fixed GraphQL subscription, return one bounded payload, then disconnect. |
| unraid_v4371_next_notification_addedA | Wait for the next event from this fixed GraphQL subscription, return one bounded payload, then disconnect. |
| unraid_v4371_next_notifications_overviewA | Wait for the next event from this fixed GraphQL subscription, return one bounded payload, then disconnect. |
| unraid_v4371_next_notifications_warnings_and_alertsA | Wait for the next event from this fixed GraphQL subscription, return one bounded payload, then disconnect. |
| unraid_v4371_next_owner_subscriptionA | Wait for the next event from this fixed GraphQL subscription, return one bounded payload, then disconnect. |
| unraid_v4371_next_servers_subscriptionA | Wait for the next event from this fixed GraphQL subscription, return one bounded payload, then disconnect. |
| unraid_v4371_next_parity_history_subscriptionA | Wait for the next event from this fixed GraphQL subscription, return one bounded payload, then disconnect. |
| unraid_v4371_next_array_subscriptionA | Wait for the next event from this fixed GraphQL subscription, return one bounded payload, then disconnect. |
| unraid_v4371_next_docker_container_statsA | Wait for the next event from this fixed GraphQL subscription, return one bounded payload, then disconnect. |
| unraid_v4371_next_log_fileB | Wait for the next event from this fixed GraphQL subscription, return one bounded payload, then disconnect. |
| unraid_v4371_next_system_metrics_cpuA | Wait for the next event from this fixed GraphQL subscription, return one bounded payload, then disconnect. |
| unraid_v4371_next_system_metrics_cpu_telemetryA | Wait for the next event from this fixed GraphQL subscription, return one bounded payload, then disconnect. |
| unraid_v4371_next_system_metrics_memoryA | Wait for the next event from this fixed GraphQL subscription, return one bounded payload, then disconnect. |
| unraid_v4371_next_system_metrics_networkA | Wait for the next event from this fixed GraphQL subscription, return one bounded payload, then disconnect. |
| unraid_v4371_next_system_metrics_temperatureA | Wait for the next event from this fixed GraphQL subscription, return one bounded payload, then disconnect. |
| unraid_v4371_next_ups_updatesA | Wait for the next event from this fixed GraphQL subscription, return one bounded payload, then disconnect. |
| unraid_v4371_next_plugin_install_updatesB | Wait for the next event from this fixed GraphQL subscription, return one bounded payload, then disconnect. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/lemanjo/unraid-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server