homelab-mcp
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.

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 |
| Einmaliger Health-Check: Hostname, Uptime, Load Average, Festplattenauslastung, CPU-Temperatur und der Status jedes bekannten Dienstes. |
| Detaillierter systemd-Status für einen Dienst: |
| Gesamt-/belegte/freie Bytes und prozentuale Auslastung für einen Dateisystempfad. |
| 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
uvweiter unten)Linux mit
systemctlund einem Sensor unter/sys/class/thermal/thermal_zone0/tempSSH-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 stopIn 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 .
pytestRoadmap
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
Maintenance
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
- AlicenseAqualityCmaintenanceAn MCP server exposing 72 tools across 26 homelab services, enabling LLMs to monitor and manage infrastructure, media, storage, and networking with a single endpoint.16MIT
- AlicenseNot gradedqualityBmaintenanceA 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
- FlicenseNot gradedqualityBmaintenanceLets an LLM client monitor devices, services, disk usage, and uptime in a home network and home lab.
- FlicenseNot gradedqualityBmaintenanceMCP server for Raspberry Pi exposing tools for host health checks, shell execution, and Docker container restarts over authenticated HTTP.1
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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