Skip to main content
Glama
Chain-P

homelab-mcp

by Chain-P

homelab-mcp

Raspberry Pi homelab の状態を MCP サーバーとして公開します。つまり、MCP クライアント (Claude Code、Claude Desktop) に「homelab の調子はどう?」と尋ねるだけで、SSH でログインして手作業で確認する代わりに、実際の systemd サービスのヘルス、ディスク使用量、CPU 温度、LAN のゲームサーバーフィードを直接取得できます。

設計上読み取り専用です。すべてのツールは状態を照会するだけで、何かを再起動、停止、リブートすることはありません。

Claude Code が zero-bot が実行中かどうかを尋ね、実際の systemd の状態を取得している様子

アーキテクチャ

サーバーは 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

ツール

ツール

説明

system_summary()

ワンショットのヘルスチェック: ホスト名、稼働時間、ロードアベレージ、ディスク使用量、CPU 温度、既知の全サービスの状態。

service_status(name)

1 つのサービス (tracker-appcoinbotzero-botzero-two) の詳細な systemd 状態。

disk_usage(path="/")

ファイルシステムパスの合計/使用済み/空きバイト数と使用率。

game_server_status()

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 stop

MCP クライアントでの設定

サーバーは 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

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