homelab-mcp
Provides read-only status monitoring for a Raspberry Pi homelab, including systemd service health, disk usage, CPU temperature, uptime/load, and the LAN game-server status feed.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@homelab-mcphow's the homelab doing?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.

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 |
| One-shot health check: hostname, uptime, load average, disk usage, CPU temp, and every known service's status. |
| Detailed systemd status for one service: |
| Total/used/free bytes and percent used for a filesystem path. |
| 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
uvbelow)Linux with
systemctland a/sys/class/thermal/thermal_zone0/tempsensorSSH 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 stopConfigure 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 .
pytestRoadmap
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
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