coldpass

dinglebear-ai/unraid

GitHub ↗ · How this check works

Per-setup public labels: Linux / Haiku: Works

Static status badge · SVG · read-only JSON. Embed with ![Coldpass status](https://coldpass.dev/badge/dinglebear-ai--unraid.svg).

aifastmcpllmmcp-servermodel-context-protocolpython

Works

Only older checks are saved; no current product test.

Answers apply to each recorded setup, revision and operation. Earlier observations remain in Run details.

Tested on Linux
PlatformHaikuLuna
Linuxyes

Linux / Haiku 5.5: yes · Oct 18, 2026 · 6d00e73cd7dd · claude-code / 2.1.300 (Claude Code)
Recorded operation: <host-path> · local stdio MCP start + initialize + tools/list

MCP
yes, local
Yes, runs locally
Needs keys or browser
None seen
Issue
none found in recorded check

Safety: no observations were recorded for the selected revision. Functional results do not establish a safety result.

Run details

Haiku 5.5

Native agent · Checked operation passed

Checked operation <host-path> · local stdio MCP start + initialize + tools/list

Agent-reported scope: Start the unraid-py MCP server over stdio (README: 'uv run unraid-mcp-server') and list tools; server returns single 'unraid' tool (initialize + tools/list).

MCP server returned: Unraid MCP Server · version 2.10.2.

MCP tools returned: unraid. Tool listing does not establish authenticated tool-call success.

Run details
run
dinglebear-ai--unraid-claude-haiku-5-5-1792348572099609114
date
Oct 18, 2026
time to working
not recorded
product hosting / execution
Local stdio MCP server in the guest
recorded operation scope
product operation
model
claude-haiku-5-5
agent / version
claude-code / 2.1.300 (Claude Code)
platform
linux
reported cost
$0.006473
Recorded source
https://github.com/dinglebear-ai/unraid
Tool transport
mcp-assigned-vm
Test version
readme-80bce05978a913d9396742111125106710e3c4b0dc4098ba6143b35960c73717
revision
6d00e73cd7dd764a99e0f3a49fa4252d21617b75
What the agent did

Start the unraid-py MCP server over stdio (README: 'uv run unraid-mcp-server') and list tools; server returns single 'unraid' tool (initialize + tools/list).

cd <host-path> && ls -la && cat README* 2>/dev/null | head -300
cd <host-path> && git log --oneline -1 2>/dev/null; ls .github/workflows 2>/dev/null; which python3 node npm uv pip3 2>&1; echo "CDP=$CDP_URL"
cd <host-path> && cat README.md | head -250; ls
export NODE_USE_ENV_PROXY=1; (command -v uv || (curl -LsSf https://astral.sh/uv/install.sh | sh)) 2>&1 | tail -5; ls -la ~/.local/bin/uv 2>&1; ~/.local/bin/uv --version 2>&1
cd <host-path> && export PATH=$HOME/.local/bin:$PATH && uv sync --dev 2>&1 | tail -8; ls .venv/bin | grep -i unraid
cd /tmp && cat > /tmp/mcp_list.py <<'EOF'
import json, subprocess, sys
srv = subprocess.Popen(["<host-path>"],
    stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True,
    env={"PATH": "/usr/bin:/bin", "UNRAID_MCP_TRANSPORT": "stdio",
         "UNRAID_API_URL": "https://127.0.0.1/graphql", "UNRAID_API_KEY": "probe-placeholder"})
def send(m): srv.stdin.write(json.dumps(m)+"\n"); srv.stdin.flush()
def recv():
    while True:
        line = srv.stdout.readline()
        if not line: sys.exit("server closed: " + srv.stderr.read()[-2000:])
        try: return json.loads(line)
        except ValueError: continue
send({"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"0"}}})
print("init:", recv()["result"]["serverInfo"])
send({"jsonrpc":"2.0","method":"notifications/initialized"})
send({"jsonrpc":"2.0","id":2,"method":"tools/list"})
tools = recv()["result"]["tools"]
print("tools:", [t["name"] for t in tools])
srv.stdin.close(); srv.wait(timeout=10)
EOF
timeout 120 python3 -I /tmp/mcp_list.py 2>&1 | tail -20
cd <host-path> && ls -la .coldpass 2>&1; mkdir -p .coldpass && cat > .coldpass/probe.json <<'EOF'
{"kind":"mcp","argv":["<host-path>","UNRAID_API_KEY":"probe-placeholder"}}
EOF
cat > .coldpass/report.json <<'EOF'
{"outcome":"working","operation":"Start the unraid-py MCP server over stdio (README: 'uv run unraid-mcp-server') and list tools; server returns single 'unraid' tool (initialize + tools/list).","operation_scope":"Verified MCP start and tools/list only. Tool calls that query a real Unraid box need a real UNRAID_API_URL and UNRAID_API_KEY, which were not available in this guest; the probe uses placeholder values that are never sent upstream during tools/list.","steps":["curl -LsSf https://astral.sh/uv/install.sh | sh (uv 0.13.1 installed to ~/.local/bin)","cd unraid-py && uv sync --dev (installed unraid-mcp 2.10.2 into unraid-py/.venv)","Started .venv/bin/unraid-mcp-server with UNRAID_MCP_TRANSPORT=stdio, sent initialize and tools/list over stdio: server Unraid MCP Server 2.10.2, tools ['unraid']"],"deviations":["README 'Local development' uses 'uv run unraid-mcp-server'; probe uses the absolute venv path .venv/bin/unraid-mcp-server because the checker runs in a clean process.","Used placeholder UNRAID_API_URL/UNRAID_API_KEY for the MCP start/list check; no real Unraid credentials were available.","Did not run pytest or lint suites, per smoke-task instructions."],"stuck_step":null,"main_blocker":null,"suggested_fix":null}
EOF
rm -f /tmp/mcp_list.py; <env-var>=<host-path> python3 -I <host-path> --validate 2>&1 | tail -20