homelab-mcp
homelab-mcp
Raspberry Pi homelab の状態を MCP サーバーとして公開します。つまり、MCP クライアント (Claude Code、Claude Desktop) に「homelab の調子はどう?」と尋ねるだけで、SSH でログインして手作業で確認する代わりに、実際の systemd サービスのヘルス、ディスク使用量、CPU 温度、LAN のゲームサーバーフィードを直接取得できます。
設計上読み取り専用です。すべてのツールは状態を照会するだけで、何かを再起動、停止、リブートすることはありません。

アーキテクチャ
サーバーは MCP クライアントが動作するマシンではなく、Pi 自体 上で動作します。systemd ユニット、ディスク、温度センサーが実際に存在する場所だからです。MCP クライアントは SSH トンネル経由の stdio でサーバーに接続します。SSH はローカルの stdio プロセスをリモートクライアントに公開するだけで、MCP 側の特別なサポートは必要ありません。
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)このプロジェクトが照会する Pi/homelab 構成の詳細な解説については、Chain-P/homelab を参照してください。
Related MCP server: Oraclarr
ツール
ツール | 説明 |
| ワンショットのヘルスチェック: ホスト名、稼働時間、ロードアベレージ、ディスク使用量、CPU 温度、既知の全サービスの状態。 |
| 1 つのサービス ( |
| ファイルシステムパスの合計/使用済み/空きバイト数と使用率。 |
| Windows ボックスの既存のゲームサーバー状態フィード (Minecraft/Zomboid/Terraria ホスト) をプロキシします。 |
service_status は上記の既知の 4 つのユニット名のみを受け付けます。MCP ツールのスキーマ自体が、ツール本体が実行される前にそれ以外を拒否します。
要件
Python 3.10+ (Pi のシステム Python は 3.9 のため、下記の
uvを使用)systemctlと/sys/class/thermal/thermal_zone0/tempセンサーを備えた Linuxこのサーバーが動作するホストへの SSH キーアクセス
インストールと実行 (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 stopMCP クライアントでの設定
サーバーは Pi 上にあり、クライアントは別の場所で実行されるため、SSH 経由で呼び出します:
{
"mcpServers": {
"homelab": {
"command": "ssh",
"args": ["pi@zero.local", "/home/pi/homelab-mcp/venv/bin/homelab-mcp"]
}
}
}次に、クライアントに「homelab の調子はどう?」や「tracker-app は動いている?」などと尋ねます。
開発
テストはすべてのハードウェア/systemd 依存関係 (subprocess.run、/sys/class/thermal/...、/proc/uptime、ゲームサーバーの HTTP 呼び出し) をモックするため、CI と Pi の両方で同じように実行されます。実際の systemd の状態は必要ありません:
pip install -e ".[dev]"
ruff check .
pytestロードマップ
既知のサービスのログテーリング。
変更を加えるツール (サービスの再起動) — 意図的に v1 には含めていません。まず読み取り専用にし、状態を変更するものは別途、明示的にゲートします。
ライセンス
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