Skip to main content
Glama
Chain-P

homelab-mcp

by Chain-P

homelab-mcp

Raspberry Pi homelab status, exposed as an MCP server — so an MCP client (Claude Code, Claude Desktop) can be asked "how's the homelab doing?" and get real systemd service health, disk usage, CPU temp, and the LAN game-server feed back directly, instead of SSHing in and checking by hand.

Read-only by design: every tool queries state, nothing restarts, stops, or reboots anything.

Claude Code asking whether zero-bot is running and getting real systemd status back

Architecture

The server runs on the Pi itself — not on the machine running the MCP client — since that's where the systemd units, disk, and thermal sensor actually are. The MCP client reaches it over SSH-tunneled stdio: SSH just exposes a local stdio process to a remote client, no special MCP-side support needed.

MCP client (laptop) --ssh--> homelab-mcp server (on the Pi) --> systemctl / /sys/class/thermal / /proc/uptime
                                                            \--> HTTP GET to the LAN game-server status feed (192.168.1.111:8091)

See Chain-P/homelab for the full writeup of the Pi/homelab setup this project queries.

Related MCP server: Oraclarr

Tools

Tool

Description

system_summary()

One-shot health check: hostname, uptime, load average, disk usage, CPU temp, and every known service's status.

service_status(name)

Detailed systemd status for one service: tracker-app, coinbot, zero-bot, or zero-two.

disk_usage(path="/")

Total/used/free bytes and percent used for a filesystem path.

game_server_status()

Proxies the Windows box's existing game-server status feed (Minecraft/Zomboid/Terraria host).

service_status only accepts the four known unit names above — the MCP tool schema itself rejects anything else before the tool body ever runs.

Requirements

  • Python 3.10+ (the Pi's system Python is 3.9, hence uv below)

  • Linux with systemctl and a /sys/class/thermal/thermal_zone0/temp sensor

  • SSH key access to the host this runs on

Install & run (on the Pi)

curl -LsSf https://astral.sh/uv/install.sh | sh   # installs uv, no root needed
uv python install 3.12
git clone https://github.com/Chain-P/homelab-mcp.git
cd homelab-mcp
uv venv --python 3.12 venv
venv/bin/pip install -e .
venv/bin/homelab-mcp   # smoke test — should hang waiting on stdio, Ctrl+C to stop

Configure in an MCP client

Since the server lives on the Pi and the client runs elsewhere, invoke it over SSH:

{
  "mcpServers": {
    "homelab": {
      "command": "ssh",
      "args": ["pi@zero.local", "/home/pi/homelab-mcp/venv/bin/homelab-mcp"]
    }
  }
}

Then ask the client something like "how's the homelab doing?" or "is tracker-app running?"

Development

Tests mock every hardware/systemd dependency (subprocess.run, /sys/class/thermal/..., /proc/uptime, the game-server HTTP call), so they run identically in CI and on the Pi — no real systemd state required:

pip install -e ".[dev]"
ruff check .
pytest

Roadmap

  • Log tailing for the known services.

  • A mutating tool (restart a service) — deliberately not in v1; read-only first, gate anything that changes state separately and explicitly.

License

MIT

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    A locally-run, read-only MCP server that lets an LLM client diagnose a self-hosted *arr media stack by aggregating across Sonarr, Radarr, Prowlarr, qBittorrent, Tdarr, and Profilarr.
    Apache 2.0
  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP server for Raspberry Pi exposing tools for host health checks, shell execution, and Docker container restarts over authenticated HTTP.
    1

View all related MCP servers

Related MCP Connectors

  • Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.

  • Scans MCP servers for tool poisoning, prompt injection and supply chain risks.

  • Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.

View all MCP Connectors

Latest Blog Posts

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/Chain-P/homelab-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server