Skip to main content
Glama
Chain-P

homelab-mcp

by Chain-P

homelab-mcp

Raspberry-Pi-Homelab-Status, bereitgestellt als MCP-Server – sodass man einen MCP-Client (Claude Code, Claude Desktop) fragen kann: „Wie läuft das Homelab?“ und echte systemd-Dienstzustände, Festplattenauslastung, CPU-Temperatur und den LAN-Game-Server-Feed direkt zurückbekommt, anstatt sich per SSH einzuloggen und manuell nachzusehen.

Konzeptionell schreibgeschützt: Jedes Tool fragt lediglich Zustände ab; nichts wird neu gestartet, gestoppt oder neu gebootet.

Claude Code fragt, ob zero-bot läuft, und erhält echten systemd-Status zurück

Architektur

Weil sich die systemd-Units, die Festplatte und der Temperatursensor tatsächlich auf dem Pi befinden, läuft der Server auf dem Pi selbst – nicht auf dem Rechner, auf dem der MCP-Client läuft. Der MCP-Client erreicht ihn über SSH-getunneltes stdio: SSH stellt lediglich einen lokalen stdio-Prozess einem entfernten Client bereit, ohne dass spezielle MCP-seitige Unterstützung nötig wäre.

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)

Siehe Chain-P/homelab für die ausführliche Dokumentation des Pi-/Homelab-Setups, das dieses Projekt abfragt.

Related MCP server: Oraclarr

Tools

Tool

Beschreibung

system_summary()

Einmaliger Health-Check: Hostname, Uptime, Load Average, Festplattenauslastung, CPU-Temperatur und der Status jedes bekannten Dienstes.

service_status(name)

Detaillierter systemd-Status für einen Dienst: tracker-app, coinbot, zero-bot oder zero-two.

disk_usage(path="/")

Gesamt-/belegte/freie Bytes und prozentuale Auslastung für einen Dateisystempfad.

game_server_status()

Leitet den vorhandenen Game-Server-Status-Feed der Windows-Box weiter (Minecraft/Zomboid/Terraria-Host).

service_status akzeptiert nur die vier oben genannten bekannten Unit-Namen – das MCP-Tool-Schema selbst lehnt alles andere ab, bevor der Tool-Body überhaupt ausgeführt wird.

Anforderungen

  • Python 3.10+ (das System-Python des Pi ist 3.9, daher uv weiter unten)

  • Linux mit systemctl und einem Sensor unter /sys/class/thermal/thermal_zone0/temp

  • SSH-Schlüsselzugriff auf den Host, auf dem dieses Projekt läuft

Installation & Ausführung (auf dem 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

In einem MCP-Client konfigurieren

Da der Server auf dem Pi läuft und der Client woanders, rufe ihn per SSH auf:

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

Dann frag den Client so etwas wie: „Wie läuft das Homelab?“ oder „Läuft tracker-app?“

Entwicklung

Tests mocken jede Hardware-/systemd-Abhängigkeit (subprocess.run, /sys/class/thermal/..., /proc/uptime, den HTTP-Aufruf des Game-Servers), sodass sie in CI und auf dem Pi identisch laufen – kein echter systemd-Zustand erforderlich:

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

Roadmap

  • Log-Tailing für die bekannten Dienste.

  • Ein Tool, das Zustände verändert (einen Dienst neu starten) – bewusst nicht in v1; zuerst nur lesend, alles, was den Zustand verändert, separat und explizit absichern.

Lizenz

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