Reported issues for Unraid MCP
Pod holds 19 of 20 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to Unraid MCP.
Most discussed
Feature request: OAuth 2.1 support for claude.ai connector
Hey, love the project. Running it on my Unraid 7.3 box and it works great with Claude Code and Claude Desktop via Bearer token.
The problem is claude.ai's custom connector UI forces OAuth 2.1 with dynamic client registration — there's no way to provide a static Bearer token. So it's completely unusable from the web UI right now.
Home Assistant's MCP server is a good reference — they use HA's existing auth system as the OAuth provider and it works perfectly with claude.ai. Something simila
Read the thread · 2026-07-20 · closed · external user · 1 comment
Schema drift detection mechanism
digging into mcp servers for my own home-lab stuff, curious how the schema drift detection actually works. scheduled diff against the live graphql schema? the workflow file names don't say.
Read the thread · 2026-07-16 · closed · external user · 3 comments
Unraid GraphQL schema drift detected
The vendored docs/unraid/UNRAID-SCHEMA.graphql no longer matches
Unraid's published SDL at unraid/api@main.
Re-vendor the schema, then run the schema and dispatch contract tests to surface which queries, mutations, and mock responses need updates.
The complete schema.diff, schema-summary.md, and
upstream-schema.graphql are attached to this workflow run as
the `unraid-schema-drift-285017
Read the thread · 2026-06-30 · closed · outside contributor · 2 comments
Codex plugin manifest overrides UNRAID_VERIFY_SSL CA bundle path for self-signed certs
Summary
When using the Codex plugin with an Unraid API endpoint that uses a self-signed certificate, setting UNRAID_VERIFY_SSL to a CA-bundle path in ~/.unraid-mcp/.env is not sufficient. The installed Codex plugin manifest also sets UNRAID_VERIFY_SSL, and that manifest-provided environment value is passed directly to the MCP process.
Because the manifest currently hard-codes:
"UNRAID_VERIFY_SSL": "true"
it overrides the .env value. The MCP server then falls back to Py
Read the thread · 2026-06-29 · closed · external user · 1 comment
Unraid GraphQL schema drift detected
The vendored docs/unraid/UNRAID-SCHEMA.graphql no longer matches
Unraid's published SDL at unraid/api@main.
Re-vendor the schema, then run the schema and dispatch contract tests to surface which queries, mutations, and mock responses need updates.
The complete schema.diff, schema-summary.md, and
upstream-schema.graphql are attached to this workflow run as
the `unraid-schema-drift-283152
Read the thread · 2026-06-24 · closed · outside contributor · 31 comments
Unraid 7.2 GraphQL Schema Compatibility Issue
Unraid 7.2 GraphQL Schema Compatibility Issue
Summary
On Unraid 7.2 (kernel 6.12.54-Unraid), multiple MCP tools fail due to GraphQL schema mismatches in get_system_info and health_check queries.
Primary failures observed:
health_checkreturned GraphQL validation errors.get_system_inforeturned GraphQL validation errors.- Other tools like
get_array_statusandlist_docker_containersworked.
After narrowing/removing schema-volatile fields in those two queries, both t
Read the thread · 2026-02-14 · closed · external user · 3 comments
Alternate desktop config json
The most recent version of Claude Desktop seems to throw an error with this syntax (running in docker):
{
"mcp_servers": {
"unraid": {
"url": "http://<SERVER>:6970/mcp",
"disabled": false,
"timeout": 60,
"transport": "streamable-http"
}
// ... other server configurations
}
}
Instead I proxied it locally with the mcp-remote package and now it's working (I'm running Claude Desktop in Windows, hence the "wsl" command.
"unraid": {
"
[Read the thread](https://github.com/dinglebear-ai/unraid/issues/2) · 2025-07-03 · closed · external user · 1 comment
### fastmcp>=0.4.0 requires python>=3.10. Error in python import
I got errors trying to build the Docker image.
Changing this in the Dockerfile fixed it:
FROM python:3.12-slim
Also when running the image I got errors that ToolError can't be imported from fastmcp. I think it's supposed to be imported from the fastmcp.exceptions library.
from fastmcp import FastMCP from fastmcp.exceptions import ToolError
[Read the thread](https://github.com/dinglebear-ai/unraid/issues/1) · 2025-07-03 · closed · external user · 1 comment
## Most recent
### Unraid GraphQL schema drift detected (unraid-rs)
The vendored `unraid-rs/schema/unraid-schema.graphql` no longer matches
Unraid's published SDL (`unraid/api@main`).
Re-vendor it (copy the upstream file, re-add the provenance header),
then let the cargo schema-contract test surface which queries/fixtures
need updating.
<details><summary>diff</summary>
```diff
--- vendored-body.graphql 2026-08-30 11:35:02.118720548 +0000
+++ ../unraid-py/upstream-schema.graphql 2026-08-30 11:34:54.604709675 +0000
@@ -1192,11 +1192,6 @@
"""Add new disk to a
[Read the thread](https://github.com/dinglebear-ai/unraid/issues/382) · 2026-08-29 · open · outside contributor · 0 comments
### Unraid GraphQL schema drift detected
<!-- upstream-schema-sha256: dd453b0652ac5261385a0ae49c3d4dcf8f53a40052c1fa4f1c555359c9f6ff23 -->
The vendored `docs/unraid/UNRAID-SCHEMA.graphql` no longer matches
Unraid's published SDL at `unraid/api@main`.
The compared blob was fetched from immutable commit
`97f639fc1dc7484d9f7c4ed0dd2f9e0cd345d38f`.
Re-vendor the schema, then run the schema and dispatch contract tests
to surface which queries, mutations, and mock responses need updates.
The complete `schema.diff`, `schema-summary.md`, an
[Read the thread](https://github.com/dinglebear-ai/unraid/issues/381) · 2026-08-29 · open · outside contributor · 0 comments
### Service fails to start on Unraid "exclusive share" setups: FATAL refusing symlinked appdata path /mnt/user/appdata
### Summary
`rc.unraid-mcp` refuses to start with:
`service start failed: rc.unraid-mcp: FATAL: refusing symlinked appdata path /mnt/user/appdata`
The symlink check in `prepare_appdata()` fires on a **legitimate, Unraid-created symlink** produced by the **exclusive share** feature (Primary storage = pool, Secondary storage = none). This is a standard, documented Unraid configuration, so the plugin currently cannot run on such systems at all.
### Environment
- Unraid version: 7.3.1 (exclusiv
[Read the thread](https://github.com/dinglebear-ai/unraid/issues/370) · 2026-08-12 · closed · external user · 0 comments
### GraphQL validation errors on Unraid 7.3.2 — logs, check_updates, info overview broken
# GraphQL validation errors on Unraid 7.x — several tools broken (logs, check_updates, info overview)
**Version:** `ghcr.io/jmagar/unraid-mcp:latest` — image version `2.4.0`, revision `359ba7dddce9e324b4c1fdc2a816699ee8da069e`, built 2026-07-16
**Unraid version:** 7.3.2
**Deployment:** Docker on Unraid, bridge network, port 6970
## Summary
Several `unraid_docker` and `unraid_info` actions fail with `GRAPHQL_VALIDATION_FAILED` on Unraid 7.3.2. The queries appear to be written against an older
[Read the thread](https://github.com/dinglebear-ai/unraid/issues/312) · 2026-07-30 · closed · external user · 0 comments
### Duplicate hooks entry: manifest.hooks lists hooks/hooks.json which Claude Code auto-loads, breaking hook loading
### Summary
The plugin manifest redundantly declares `hooks/hooks.json`, which Claude Code already loads automatically. The duplicate causes hook loading to fail on every load.
### Error
Hook load failed: Duplicate hooks file detected: ./hooks/hooks.json resolves to already-loaded file /path/to/plugins/cache/unraid-mcp/unraid-mcp/2.3.5/hooks/hooks.json. The standard hooks/hooks.json is loaded automatically, so manifest.hooks should only reference additional hook files.
Surfaces as `1
[Read the thread](https://github.com/dinglebear-ai/unraid/issues/173) · 2026-07-15 · closed · external user · 0 comments
### Plugin manifest has no way to configure TLS for self-signed certs (stock Unraid install fails with FATAL)
### Summary
The plugin manifest provides no way to configure TLS behaviour, so the plugin cannot be used against a stock Unraid server (which ships a self-signed cert by default) without hand-editing files outside the plugin.
### Detail
In v2.3.5, `plugins/unraid/.mcp.json` passes only:
```json
"env": {
"UNRAID_MCP_TRANSPORT": "stdio",
"UNRAID_API_URL": "${CLAUDE_PLUGIN_OPTION_UNRAID_API_URL}",
"UNRAID_API_KEY": "${CLAUDE_PLUGIN_OPTION_UNRAID_API_KEY}"
}
and `plugins/unraid/.claud
Read the thread · 2026-07-15 · closed · external user · 0 comments
Docker: Python version mismatch between builder (3.12) and runtime (3.14) breaks container
Bug description
The runtime stage in the Dockerfile uses a digest-pinned python base image that Dependabot recently bumped from Python 3.12 to Python 3.14. The builder stage correctly uses Python 3.12 (uv:python3.12-bookworm-slim), so the virtual environment is built for 3.12.
When the runtime container starts with Python 3.14, it cannot find any packages because:
- Site-packages are at
/app/.venv/lib/python3.12/site-packages/ - Python 3.14 looks in `/app/.venv/lib/python3.14/site-pac
Read the thread · 2026-06-23 · closed · external user · 0 comments
Docker healthcheck fails because /health only handles GET while wget --spider sends HEAD
Summary
The Docker image reports unhealthy even though the MCP server is running and GET /health returns 200.
The image-defined Docker healthcheck uses wget --spider, which sends a HEAD /health request. The application health middleware only handles GET /health, so the request falls through to bearer auth and returns 401 Unauthorized when UNRAID_MCP_BEARER_TOKEN is configured.
Environment
- Image:
ghcr.io/jmagar/unraid-mcp:latest - Image revision label: `454f346036af5
Read the thread · 2026-06-09 · closed · external user · 0 comments
disk shares crashes: "Cannot return null for non-nullable field Share.id" on auto-created shares
Summary
unraid action=disk subaction=shares fails outright with:
GraphQL API error: Cannot return null for non-nullable field Share.id
whenever the Unraid array contains auto-discovered user shares (top-level folders created by containers/mkdir that have no /boot/config/shares/<name>.cfg). These auto-shares return a null id from the Unraid API, which the non-nullable Share.id selection rejects — making it impossible to enumerate shares as long as any auto-share exists.
Read the thread · 2026-05-29 · closed · external user · 0 comments
Empty UNRAID_API_URL/UNRAID_API_KEY in .mcp.json shadow ~/.unraid-mcp/.env (credentials never load)
Summary
The bundled .mcp.json sets UNRAID_API_URL="" and UNRAID_API_KEY="" in the server's env block. Because unraid_mcp/config/settings.py calls load_dotenv() with the default override=False, these empty strings (now present in the process environment) take precedence over every .env file on the search path — including the canonical ~/.unraid-mcp/.env. Result: credentials silently never load and the server reports CredentialsNotConfiguredError, defeating the documente
Read the thread · 2026-05-29 · closed · external user · 0 comments
Feature: log subcriptions
https://github.com/jmagar/unraid-mcp?tab=readme-ov-file#live--11-subactions-websocket-subscriptions
I miss an option that can filter out the logs. Like send only logs with warning, wan, error, etc.. and the 2 o 3 previous and later log events for context, so you don't expend much tokens analyzing errors with AI.
Read the thread · 2026-04-16 · closed · external user · 0 comments
The remaining reports are on the project's issue tracker.