homelab-mcp
Provides read-only health/status probing for a configured Plex server as part of homelab checks; the roadmap mentions future Plex recently-added and server-health capabilities via a Plex token.
Provides read-only health/status probing for a configured Proxmox host; the roadmap mentions future VM/LXC status via Proxmox's read-only API.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
homelab-mcp
A read-only MCP server that exposes your self-hosted homelab services to any MCP-capable client (Claude Desktop, Claude Code, OpenClaw, Cursor, etc.) as queryable tools and resources.
Ask your AI assistant "is my homelab healthy?" and it can actually check — without you handing it SSH keys or write access.
Why this exists
A homelab (Proxmox, autobrr, slskd, Lidarr, Plex, NAS…) is a lot of moving parts spread
across a few IPs. The MCP pattern ("USB-C for AI tooling" — see
awesome-mcp-servers) is the natural
fit: a small, auditable surface that lets any model read live status instead of guessing.
This is deliberately read-only. Every tool is an HTTP GET / health probe. Nothing
is written, mutated, or exfiltrated. That's the whole point — it's a safe thing to plug
into an agent, because the worst it can do is tell you a service is down.
Related MCP server: homelab-mcp
Tools
Tool | What it does |
| Return the configured service registry (name, URL, description). No network calls. |
| Probe one service's health endpoint — status, latency, body preview. |
| Probe every service; return an UP / DEGRADED / DOWN summary. |
Resources
URI | Contents |
| The full JSON service registry. |
Quick start
cd homelab-mcp
npm install
# 1. Create your local config from the example
cp services.json services.local.json
# 2. Edit services.local.json with your real service URLs/ports
# 3. Run (points at services.local.json via env var)
HOMELAB_MCP_CONFIG=./services.local.json node index.js
# Smoke-test the probes directly, human-readable
HOMELAB_MCP_CONFIG=./services.local.json node test.mjsConnect to a client
Add to your client's MCP config:
{
"mcpServers": {
"homelab": {
"command": "node",
"args": ["/path/to/homelab-mcp/index.js"],
"env": { "HOMELAB_MCP_CONFIG": "/path/to/homelab-mcp/services.local.json" }
}
}
}Claude Desktop —
claude_desktop_config.jsonClaude Code —
claude mcp add homelab --env HOMELAB_MCP_CONFIG=/path/to/services.local.json -- node /path/to/homelab-mcp/index.jsCursor — Settings → MCP → Add
Configuring services
Config is a JSON file of service entries. The repo ships services.json as a placeholder
example (dummy 192.168.1.x addresses) — copy it to services.local.json (gitignored)
and put your real addresses there, then point HOMELAB_MCP_CONFIG at it. Each entry:
{
"name": "autobrr",
"url": "http://192.168.1.50:7474",
"healthUrl": "http://192.168.1.50:7474/api/healthz/liveness",
"description": "autobrr — torrent/Usenet automation",
"kind": "http"
}name— exact name you'll pass tocheck_service.url— the human-facing base URL.healthUrl(optional) — the probed path; use a cheap health/status endpoint when the service exposes one (fall back tourl/ root otherwise).kind— reserved for future non-HTTP adapters (SSH, ICMP, Docker API).
Adding a service = adding a line. No code changes needed. To extend beyond HTTP
probes (e.g. read Docker stats via the Docker socket, or Proxmox VM status via its
read-only API), add a kind and a probe function — the tool surface stays the same.
Config resolution order
HOMELAB_MCP_CONFIGenv var, if set (absolute path or relative to CWD).services.jsonin the repo root (the bundled example).
Security notes
Read-only by construction. Only
GET/ health probes. No tokens, no secrets in the repo (auth'd endpoints like Lidarr's/api/v1/*return 401 and are reported as DEGRADED, which is correct — the server never holds those keys).Keep real addresses out of git.
services.local.jsonis gitignored; the committedservices.jsoncontains only dummy192.168.1.xplaceholders. Don't commit real LAN topology — fork/archive copies are effectively permanent.LAN addresses only. The server assumes the client runs on the trusted network. If you ever bind this to a remote/agent context, that's a trust boundary you're crossing deliberately — don't.
Roadmap (ideas, not commitments)
Proxmox VM/LXC status via the host's read-only API (
/api2/json/..., GET only).Plex "recently added" / server health via the Plex token.
NAS free-space check via SSH/SMB.
A
homelab://healthaggregate resource that caches the lastcheck_allresult.
Built as a read-only-by-construction MCP pattern for self-hosted homelabs. Companion guide on devhandbook.io.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only MCP server for AIStatusDashboard status, incidents, metrics, and fallback recommendations.
Read-only MCP for AI usage profiles, leaderboards, stats, and docs; no writes or private data.
Read-only health context MCP server for Iris users.
Read-only MCP server that answers questions about turva.dev from its published data. Five tools return JSON: the service catalog with prices, contact and operator details, engagement principles and dated agent-readiness and security evidence with verification links. Connect over Streamable HTTP. You need no API key. The server does not scan other websites or run audits.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceRead-only diagnostic MCP server that exposes system stats, Docker status, OOM events, container logs, Sidekiq queues, and local Chatwoot health checks for Claude to review a Hetzner server.-
- AlicenseNot gradedqualityDmaintenanceLets MCP clients (Claude Code, Claude Desktop) inspect a Linux home server's health over the network: uptime, load, memory, disk, Docker containers, systemd services, journal errors, and listening ports. Read-only, bearer-token secured.MIT
- FlicenseAqualityDmaintenanceRead-only MCP server that exposes Kubernetes platform state (tenants, pods, SLOs, ArgoCD applications, chaos schedules, and catalog services) to AI agents, enabling natural language queries about cluster health and configuration.6-
- AlicenseNot gradedqualityBmaintenanceRead-only MCP adapter for Homelab Core that lets AI assistants inspect health, services, redacted logs, nodes, and jobs via a local Unix socket. Optionally enables job queuing when changes are explicitly allowed.MIT