mcpField
H
homelab-infra-mcp

homelab-infra-mcp

ローカル
github.com/seayniclabsクラウド・インフラ01 日前に更新

homelab-infra-mcp について

homelab-infra-mcpは、セルフホスト環境向けにNginx Proxy Manager、Docker、Cloudflare DNSを管理するMCPサーバーです。ほかのホームラボサービス用モジュールも選択でき、変更前に計画を示して承認を求められます。

主な機能

  1. 01プロキシホスト、リダイレクト、SSL証明書の管理
  2. 02Dockerコンテナとイメージの確認・操作
  3. 03Cloudflare DNSレコードの管理
  4. 04コンテナ・DNS・プロキシ設定の一括計画
  5. 05Home Assistantなどの追加モジュール
  6. 06変更プレビュー、承認、読み取り専用モード

活用シーン

  1. 01Dockerコンテナを公開ドメインに割り当て
  2. 02ドメインからサービスまでの障害箇所を調査
  3. 03プロキシ、コンテナ、DNSの状態を確認
  4. 04Home AssistantのエンティティやCloudflare Tunnelを管理

MCP 対応

MCPクライアントにホームラボ基盤の調査・管理ツールを提供します。変更はdry runと承認に対応し、読み取り専用にも設定できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"seayniclabs-homelab-infra": {
"command": "uvx",
"args": [
"homelab-infra-mcp"
],
"env": {
"HOMELAB_PROXY_URL": "<HOMELAB_PROXY_URL>",
"HOMELAB_PROXY_EMAIL": "<HOMELAB_PROXY_EMAIL>",
"HOMELAB_PROXY_PASSWORD": "<HOMELAB_PROXY_PASSWORD>",
"HOMELAB_DOCKER_HOST": "<HOMELAB_DOCKER_HOST>",
"HOMELAB_DOCKER_PORTAINER_URL": "<HOMELAB_DOCKER_PORTAINER_URL>",
"HOMELAB_DOCKER_PORTAINER_TOKEN": "<HOMELAB_DOCKER_PORTAINER_TOKEN>",
"HOMELAB_DOCKER_PORTAINER_ENDPOINT_ID": "<HOMELAB_DOCKER_PORTAINER_ENDPOINT_ID>",
"HOMELAB_DNS_API_TOKEN": "<HOMELAB_DNS_API_TOKEN>",
"HOMELAB_DNS_ZONE_ID": "<HOMELAB_DNS_ZONE_ID>",
"HOMELAB_HOME_ASSISTANT_URL": "<HOMELAB_HOME_ASSISTANT_URL>",
"HOMELAB_HOME_ASSISTANT_TOKEN": "<HOMELAB_HOME_ASSISTANT_TOKEN>",
"HOMELAB_UPTIME_ENABLED": "<HOMELAB_UPTIME_ENABLED>",
"HOMELAB_UPTIME_URL": "<HOMELAB_UPTIME_URL>",
"HOMELAB_UPTIME_API_KEY": "<HOMELAB_UPTIME_API_KEY>",
"HOMELAB_TUNNEL_ENABLED": "<HOMELAB_TUNNEL_ENABLED>",
"HOMELAB_TUNNEL_API_TOKEN": "<HOMELAB_TUNNEL_API_TOKEN>",
"HOMELAB_TUNNEL_ACCOUNT_ID": "<HOMELAB_TUNNEL_ACCOUNT_ID>",
"HOMELAB_TUNNEL_TUNNEL_ID": "<HOMELAB_TUNNEL_TUNNEL_ID>",
"HOMELAB_DNS_FILTER_ENABLED": "<HOMELAB_DNS_FILTER_ENABLED>",
"HOMELAB_DNS_FILTER_URL": "<HOMELAB_DNS_FILTER_URL>",
"HOMELAB_DNS_FILTER_USERNAME": "<HOMELAB_DNS_FILTER_USERNAME>",
"HOMELAB_DNS_FILTER_PASSWORD": "<HOMELAB_DNS_FILTER_PASSWORD>",
"HOMELAB_SSO_ENABLED": "<HOMELAB_SSO_ENABLED>",
"HOMELAB_SSO_URL": "<HOMELAB_SSO_URL>",
"HOMELAB_SSO_TOKEN": "<HOMELAB_SSO_TOKEN>",
"HOMELAB_SSO_FLOW_SLUG": "<HOMELAB_SSO_FLOW_SLUG>",
"HOMELAB_READ_ONLY": "<HOMELAB_READ_ONLY>"
}
}
}
}
起動コマンドuvx homelab-infra-mcp
設定が必要な環境変数
HOMELAB_PROXY_URLNginx Proxy Manager address, e.g. http://localhost:81
HOMELAB_PROXY_EMAILNginx Proxy Manager admin email
HOMELAB_PROXY_PASSWORDシークレットNginx Proxy Manager admin password
HOMELAB_DOCKER_HOSTDocker engine address, e.g. unix:///var/run/docker.sock
HOMELAB_DOCKER_PORTAINER_URLPortainer base URL, instead of the Docker socket
HOMELAB_DOCKER_PORTAINER_TOKENシークレットPortainer API key
HOMELAB_DOCKER_PORTAINER_ENDPOINT_IDPortainer endpoint id (default 1)
HOMELAB_DNS_API_TOKENシークレットCloudflare API token with DNS edit permission
HOMELAB_DNS_ZONE_IDDefault Cloudflare zone id
HOMELAB_HOME_ASSISTANT_URLHome Assistant address (module is off by default)
HOMELAB_HOME_ASSISTANT_TOKENシークレットHome Assistant long-lived access token
HOMELAB_UPTIME_ENABLEDtrue turns on the Uptime Kuma module (off by default)
HOMELAB_UPTIME_URLUptime Kuma address
HOMELAB_UPTIME_API_KEYシークレットUptime Kuma API key, read from /metrics
HOMELAB_TUNNEL_ENABLEDtrue turns on the Cloudflare Tunnel module (off by default)
HOMELAB_TUNNEL_API_TOKENシークレットCloudflare API token with tunnel edit permission
HOMELAB_TUNNEL_ACCOUNT_IDCloudflare account id that owns the tunnel
HOMELAB_TUNNEL_TUNNEL_IDCloudflare Tunnel id
HOMELAB_DNS_FILTER_ENABLEDtrue turns on the AdGuard Home module (off by default)
HOMELAB_DNS_FILTER_URLAdGuard Home address
HOMELAB_DNS_FILTER_USERNAMEAdGuard Home login
HOMELAB_DNS_FILTER_PASSWORDシークレットAdGuard Home password
HOMELAB_SSO_ENABLEDtrue turns on the Authentik module (off by default)
HOMELAB_SSO_URLAuthentik address
HOMELAB_SSO_TOKENシークレットAuthentik API token
HOMELAB_SSO_FLOW_SLUGAuthentik authorization flow slug used for new proxy providers
HOMELAB_READ_ONLYtrue refuses every change

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypihomelab-infra-mcp2.1.1

ツール

16

掲載時のツール一覧 · 今日に更新

パラメーター型必須説明
sslbooleanいいえ
limitintegerいいえ
actionenumいいえlist | get | create | update | delete
offsetintegerいいえ
dry_runbooleanいいえ
host_idintegerいいえ
force_sslbooleanいいえ
domain_namesstringいいえ
forward_hoststringいいえ
forward_portintegerいいえ
block_exploitsbooleanいいえ

詳細

Homelab

Homelab は、AI アシスタントが Nginx Proxy Manager のプロキシホスト、Docker コンテナー、Cloudflare DNS レコードを一か所から管理できる MCP サーバーです。コンテナーから公開 Web アドレスまでの一連の手順をカバーします。expose_service を 1 回呼び出すだけで、コンテナーを確認し、DNS レコードとプロキシホストを追加し、変更を加える前に実行計画を表示します。さらに、Uptime Kuma、Cloudflare Tunnel、AdGuard Home、Authentik に対応する 4 つのオプションモジュールがあります。

これは バンドル です。モジュールで構成される 1 つのサーバーと、アシスタントにワークフローを教えるスキルが含まれます。使用するモジュールを有効にします。新しいモジュールは無効の状態で追加されるため、選択するまでは、更新によってアシスタントができることが変わることはありません。

対象ユーザー: ホームラボを運用するセルフホストユーザー。

モジュール機能状態
proxyNginx Proxy Manager:プロキシホスト、リダイレクト、SSL 証明書、アクセスリストデフォルトで有効
dockerローカルの Docker ソケットまたは Portainer を通じたコンテナー、イメージ、ボリュームの管理デフォルトで有効
dnsCloudflare DNS ゾーンとレコード、および BIND エクスポートデフォルトで有効
home_assistantHome Assistant のエンティティ、自動化、スクリプト、システム情報デフォルトで無効。有効にするには HOMELAB_HOME_ASSISTANT_ENABLED=true を設定
uptimeUptime Kuma のモニター:ステータスの一覧表示と読み取り(読み取り専用)デフォルトで無効。有効にするには HOMELAB_UPTIME_ENABLED=true を設定
tunnelCloudflare Tunnel のルート:一覧表示、追加、削除デフォルトで無効。有効にするには HOMELAB_TUNNEL_ENABLED=true を設定
dns_filterAdGuard Home:フィルターのステータス、クエリログ、フィルタールールデフォルトで無効。有効にするには HOMELAB_DNS_FILTER_ENABLED=true を設定
ssoAuthentik:アプリケーションの一覧表示、1 つのホスト向けのプロキシプロバイダーとアプリケーションの作成デフォルトで無効。有効にするには HOMELAB_SSO_ENABLED=true を設定

コアツールは常に有効です:homelab_modules、homelab_health、expose_service、teardown_service、service_status、infrastructure_overview、diagnose_service。

Homelab は、Claude Desktop、Claude Code、Cursor、VS Code、Sonique、Hermes、OpenClaw など、あらゆる MCP クライアントで使用できます。お使いのマシン上で動作し、独自のデータを保持しません。通信するのは、設定したサービスのみです。

インストール

Homelab の実行には Python 3.11 以降が必要です。uv を使えば、事前にインストールするものはありません。更新は必要なときだけ適用できるよう、バージョンを固定してください:

uvx homelab-infra-mcp==2.1.1 --version

または pip を使います:

pip install homelab-infra-mcp==2.1.1

2.0 からアップグレードしますか? バージョン 2.1 には破壊的変更はありません。新しい 4 つのモジュールはデフォルトで無効です。CHANGELOG.md の 2.1.0 のセクションをお読みください。

1.x からアップグレードしますか? バージョン 2.0 では、ツール名と環境変数名が変更されました。まず CHANGELOG.md の移行表をお読みください。

クイックインストール

MCP クライアントにサーバーを追加し(MCP クライアントへの追加を参照)、使用するモジュールの変数を設定して、クライアントを再起動します。次に、アシスタントに homelab_modules を呼び出すよう依頼します。返される内容には、各モジュールの一覧、有効かどうか、不足している設定が表示されます。

Doctor

開始前、および設定を変更した後に、ターミナルで homelab-infra --doctor を実行します:

homelab-infra --doctor

doctor は、有効な各モジュールの設定と接続状態、Docker ソケットへのアクセス、TLS チェックを確認します。問題ごとに FIX の行を出力し、修正が必要な場合はステータス 1 で終了します。

設定

MCP クライアントの設定で環境変数として設定するか、設定ファイルに記述してください(下記参照)。使用するモジュールの設定だけが必要です。Homelab は設定がなくても起動し、ツールを呼び出したときに不足している設定を知らせます。

変数モジュール内容
HOMELAB_PROXY_URLproxyNginx Proxy Manager のアドレスです。デフォルトは http://localhost:81 です。
HOMELAB_PROXY_EMAIL / HOMELAB_PROXY_PASSWORDproxyAPI で使用する NPM 管理者のログイン情報です
HOMELAB_DOCKER_HOSTdockerDocker エンジンのアドレスです。デフォルトは unix:///var/run/docker.sock です。
HOMELAB_DOCKER_PORTAINER_URL / HOMELAB_DOCKER_PORTAINER_TOKENdockerソケットの代わりに Portainer を使用します。両方とも必要です。
HOMELAB_DOCKER_PORTAINER_ENDPOINT_IDdockerPortainer のエンドポイント ID です。デフォルトは 1 です。
HOMELAB_DNS_API_TOKENdnsゾーンの DNS 編集権限を持つ Cloudflare API トークンです
HOMELAB_DNS_ZONE_IDdnsデフォルトのゾーン ID です。ツールで zone_id を空欄にできます
HOMELAB_HOME_ASSISTANT_URLhome_assistantHome Assistant のアドレスです。デフォルトは http://homeassistant.local:8123 です。
HOMELAB_HOME_ASSISTANT_TOKENhome_assistant長期間有効なアクセストークンです
HOMELAB_UPTIME_URLuptimeUptime Kuma のアドレスです
HOMELAB_UPTIME_API_KEYuptimeUptime Kuma の API キーです。/metrics から読み取り、list と get に使用します。
HOMELAB_TUNNEL_API_TOKENtunnelトンネルの編集権限を持つ Cloudflare API トークンです
HOMELAB_TUNNEL_ACCOUNT_IDtunnelトンネルを所有する Cloudflare アカウント ID です
HOMELAB_TUNNEL_TUNNEL_IDtunnelCloudflare Tunnel ID です
HOMELAB_DNS_FILTER_URLdns_filterAdGuard Home のアドレスです
HOMELAB_DNS_FILTER_USERNAME / HOMELAB_DNS_FILTER_PASSWORDdns_filterAdGuard Home のログイン情報です
HOMELAB_SSO_URLssoAuthentik のアドレスです
HOMELAB_SSO_TOKENssoAuthentik API トークンです
HOMELAB_SSO_FLOW_SLUGsso新しいプロキシプロバイダーが使用する認可フローのスラッグです
HOMELAB_<MODULE>_ENABLED任意true または false です。モジュールの有効・無効を切り替えます。例:HOMELAB_UPTIME_ENABLED=true。
HOMELAB_<MODULE>_ALLOW_WRITES任意デフォルトは false で、変更のたびに確認を求めます。true にすると、アシスタントは確認なしでそのモジュールに変更を加えられます。安全性を参照してください。
HOMELAB_READ_ONLYすべてtrue にすると、ほかの設定にかかわらずすべての変更を拒否します。読み取りとドライランは引き続き実行できます。
HOMELAB_<MODULE>_<KEY>_FILE任意代わりにファイルからシークレットを読み込みます。例:HOMELAB_DNS_API_TOKEN_FILE=/run/secrets/cf_token
HOMELAB_CONFIGコア設定ファイルのパスです。デフォルトは ~/.config/homelab/config.toml です。
HOMELAB_APPROVAL_LOGコア承認ログのパスです。デフォルトは ~/.local/state/homelab/approvals.jsonl です。XDG_STATE_HOME が設定されている場合は $XDG_STATE_HOME/homelab/approvals.jsonl です。

設定ファイル(任意)。 Homelab は ~/.config/homelab/config.toml、または HOMELAB_CONFIG で指定されたファイルも読み込みます。各モジュールには専用のテーブルがあります。環境変数は設定ファイルより優先されます。

[proxy]
email = "[email protected]"
password = "change-me"

[dns]
api_token = "your-cloudflare-token"
zone_id = "your-zone-id"

同じファイルの enabled キー、または環境変数の HOMELAB_<MODULE>_ENABLED=true でモジュールを有効にできます。

MCP クライアントに追加する

ほとんどのクライアントで同じ JSON 形式を使用します。サーバーがテスト済みのリリースを実行するように、バージョンを固定してください。クライアントが MCP サーバーを保持する場所にブロックを配置します。

{
  "mcpServers": {
    "homelab": {
      "command": "uvx",
      "args": ["homelab-infra-mcp==2.1.1"],
      "env": {
        "HOMELAB_PROXY_EMAIL": "[email protected]",
        "HOMELAB_PROXY_PASSWORD": "change-me",
        "HOMELAB_DNS_API_TOKEN": "your-cloudflare-token",
        "HOMELAB_DNS_ZONE_ID": "your-zone-id"
      }
    }
  }
}
クライアント設定の場所
Claude Desktopclaude_desktop_config.json(Settings → Developer → Edit Config)
Claude Codeclaude mcp add homelab -- uvx homelab-infra-mcp==2.1.1 を実行してから、env の値を追加するか、プロジェクトの .mcp.json に追加します
Cursor~/.cursor/mcp.json、またはプロジェクト内の .cursor/mcp.json
VS Code.vscode/mcp.json。"mcpServers" の代わりに "servers" を使用します
Sonique、Hermes、OpenClaw、その他stdio MCP サーバーを起動する任意のクライアントで使用できます。コマンドは uvx、引数は ["homelab-infra-mcp==2.1.1"]、これに加えて env の値を指定します

Claude Code プラグインとして使用する場合。 プラグインがサーバーとスキルをまとめてインストールします。その .mcp.json では homelab-infra-mcp==2.1.1 が固定されています。環境変数または設定ファイルで変数を設定してください。

HTTP 経由で使用する場合。 プロセスを起動する代わりに URL に接続するクライアント向けです。

homelab-infra --transport http --port 8200

ストリーミング可能な HTTP を http://127.0.0.1:8200/mcp で提供します。デフォルトでは、自分のマシンからのみ接続できます。ほかの場所に公開する前に、認証を設定してください。

ツール

デフォルトのインストールには 16 個のツールが含まれます。各モジュールを有効にすると、そのモジュール独自のツールが追加されます。

ツール機能
homelab_modules有効なモジュール、不足している設定、および各ツールの機能を確認します。最初に呼び出してください。
homelab_health有効なすべてのモジュールの接続状態とバージョン
expose_serviceコンテナを確認し、DNS レコード(任意)とプロキシホストを追加します。承認済みのプランを 1 つ実行します。
teardown_serviceサービスのプロキシホストと、任意で DNS レコードを削除します。承認済みのプランを 1 つ実行します。
service_statusサービスのコンテナ、プロキシホスト、DNS レコードをまとめて表示します
infrastructure_overviewDocker、プロキシ、DNS の各項目数
diagnose_service読み取り専用です。ドメインからサービスまでの各ホップを、ホップごとに 1 行で確認します。最初に失敗したホップとその修正方法を返します。
proxy_hostsプロキシホストの list、get、create、update、delete
proxy_redirectionsHTTP リダイレクトの list、create、delete
proxy_certificatesLet's Encrypt 証明書の list、request
proxy_access_listsIP アクセスリストの list、create、delete
docker_containerslist、get、start、stop、restart、remove、logs、stats、prune
docker_imageslist、pull、remove、prune
docker_inventoryvolumes、networks、または Portainer の stacks(スタックの compose ファイルを含む)
dns_zonesゾーンの list、または BIND 形式での export
dns_recordsレコードの list、get、create、update、delete
ha_entitieslist、get、search、call_service、turn_on、turn_off、toggle(Home Assistant)
ha_automationsオートメーションまたはスクリプトの list、trigger、reload。オートメーション YAML の create はプレビューを返します(Home Assistant)
ha_system設定、利用可能なサービス、check_config(Home Assistant)
uptime_monitorslist、get:読み取り専用(Uptime Kuma)。一時停止と再開は 2.1 では利用できません。
tunnel_routeslist。add と remove には承認が必要です(Cloudflare Tunnel)
dns_filter_statusフィルターの状態、クエリ数、ブロック数(AdGuard Home、読み取り専用)
dns_filter_queriesページ分割されたクエリログ(AdGuard Home、読み取り専用)
dns_filter_rulesブロックされたサービスとカスタムルールの list。add と remove には承認が必要です(AdGuard Home)
sso_applicationslist。create は 1 つのホストにプロキシプロバイダーとアプリケーションを作成します。承認が必要です(Authentik)

各ツールは公開済みのスキーマを持つ構造化データを返すため、アシスタントはその結果を使ったコードを記述できます。リストでは limit と offset を指定できます。変更を行う各ツールでは dry_run=true を指定でき、変更内容を正確に表示し、実際の変更は行いません。エラーは常に homelab.<module>.<code>: <message> Fix: <hint> の形式です。

スキル

スキルは、作業の前にアシスタントが読む短いガイドです。Homelab は、Agent Skills を読み込むアプリ向けに skills/ フォルダーでスキルを提供し、それ以外の各クライアント向けには、それぞれを MCP プロンプトとして提供します。

Homelab 向けに作成

スキル内容
getting-started有効なモジュール、各モジュールに必要な設定、最初に行う確認、承認の仕組み
expose-a-service-safely1 つのコンテナーを公開用の名前で公開する方法:ドライラン、承認、各ホップの診断、外部からの確認
homelab-health-checkモジュール、コンテナー、証明書、モニター、DNS フィルタリングの読み取り専用チェック
homelab-troubleshootingサービスの障害原因を、一度に 1 つの仮説ずつ調査
fix-and-deploy元の症状に照らした修正の検証、デプロイ、稼働中のターゲットの確認
containersDocker コンテナーのステータス、ログ、再起動、統計情報、イメージ
runbook稼働中のツールから取得した情報を使った、サービスごとの運用手順書
diagram説明から編集可能な draw.io ファイルを作成
network-diagramサービス、Docker ネットワーク、プロキシ、DNS 経路を示す draw.io マップ

サードパーティ製(各自のライセンスに基づく)

スキル作者ライセンス
systematic-debuggingJesse Vincent、obra/superpowersMIT
cloudflare、cloudflare-oneCloudflare、cloudflare/skillsApache-2.0
dashmotioncsthink、csthink/dashmotionMIT
architecture-diagramCocoon-AI、architecture-diagram-generatorMIT

各サードパーティ製スキルには、それぞれのライセンスファイルが含まれています。固定された上流コミットについては、CREDITS.md を参照してください。

こちらをお試しください

  1. Call homelab_modules and tell me which modules are on and which settings are missing.
  2. Show every container that is restarting or unhealthy, with its last ten log lines.
  3. Dry-run expose_service for wiki-app on wiki.example.com, port 8080, and show me the plan.
  4. Diagnose wiki.example.com and fix the first failing hop.
  5. Run the homelab health check and give me one table.

安全性

  • 読み取り専用ツールは一切変更を加えません。 アシスタントは自由に一覧表示、確認、検索、ログの読み取りができます。diagnose_service は読み取り専用の呼び出しのみを行います。
  • 変更にはすべて承認が必要です。 アシスタントが変更を依頼すると、Homelab は MCP クライアントを通じて直接確認し(MCP elicitation)、変更内容を正確に表示します。ドメイン、対象、コンテナ、DNS レコードが示されます。アシスタントがあなたの代わりに回答することはできません。アシスタントが設定した引数は、承認として扱われません。
  • すべての判断が記録されます。 承認、却下、拒否のそれぞれが、ローカルの承認ログに記録されます。デフォルトのパスは ~/.local/state/homelab/approvals.jsonl です。別のパスを選ぶには HOMELAB_APPROVAL_LOG を設定してください。
  • ドライランで計画を確認できます。 すべての変更ツールは dry_run=true を受け付けます。変更予定の内容を表示し、実際には何も変更しません。
  • 信頼できるものだけを事前承認してください。 HOMELAB_<MODULE>_ALLOW_WRITES=true を設定すると、アシスタントはそのモジュール内で確認を求めずに変更できます。自動化してもよいモジュールに使用し、それ以外では無効のままにしてください。
  • 質問できないクライアントもあります。 その場合、変更を実行すると approval_unavailable が返され、事前承認する設定、または変更せずにおく設定がメッセージに示されます。
  • 読み取り専用モード。 HOMELAB_READ_ONLY=true を設定すると、事前承認済みの変更も含め、すべての変更が拒否されます。
  • シークレットが応答に含まれることはありません。 トークン、パスワード、キーは環境変数、ファイル、または設定ファイルから読み込まれます。homelab_modules は設定済みかどうかだけを報告し、値は報告しません。
  • Docker ソケットへのアクセス権限は、ホスト上の root 権限に相当します。 確認だけが必要な場合はソケットを読み取り専用でマウントし、ソケットをまったくマウントしたくない場合は Portainer を使用してください。
  • トンネルと SSO の変更はパブリックインターネットに影響します。 承認する前に、各 tunnel_routes および sso_applications の計画を確認してください。
  • Homelab は、設定したサービスのみを呼び出します。それ以外には何も送信せず、データも保持しません。

シークレットの一覧、承認ログ、報告手順については、SECURITY.md を参照してください。

セキュリティカード
ネットワーク設定したサービスのみです。Nginx Proxy Manager、Docker エンジンまたは Portainer、api.cloudflare.com(DNS と Tunnel)、および設定した Uptime Kuma、AdGuard Home、Authentik、Home Assistant のアドレスが対象です。diagnose_service は、アップストリームおよびパブリックドメインへの TCP 接続と TLS 接続も確立します。テレメトリーはありません。
ファイル設定ファイル(/.config/homelab/config.toml)を読み込みます。ローカルの承認ログ(/.local/state/homelab/approvals.jsonl)を 1 つ書き込みます。このログがマシンの外部に送信されることはありません。
シークレットAPI キー、トークン、パスワードは環境変数または設定ファイルから読み込まれます。ツールの引数として渡されることも、モデルに返されることもありません。
読み取り専用ツール7 個:docker_inventory、dns_zones、service_status、infrastructure_overview、diagnose_service、homelab_modules、homelab_health
承認が必要proxy_hosts、proxy_redirections、proxy_certificates、proxy_access_lists、docker_containers、docker_images、dns_records、expose_service、teardown_service:アプリで変更ごとに承認するか、設定でモジュールを事前承認してください。AI があなたの代わりに承認することはできません。
起動時のコスト約 10,200 トークン(16 個のツール、14 個のスキルプロンプト)
変更ツールの説明はハッシュ(tool-manifest.lock.json)によって固定されています。説明が通知されないまま変更されると、CI は失敗します。

開発

uv venv -p 3.11 .venv && uv pip install -e '.[dev]'
.venv/bin/pytest -q
python3 scripts/scan_identifiers.py --patterns <file> .

テストが実際のネットワークや Docker エンジンに接続することはありません。HTTP には httpx.MockTransport を使用し、Docker クライアントにはフェイクを使用します。

ライセンス

MIT。LICENSE を参照してください。サードパーティのスキルはそれぞれ独自のライセンスに従います。CREDITS.md を参照してください。


Seaynic Labs 制作

発行元Seaynic Labs
ソースgithub.com/seayniclabs/homelab-infra-mcp
脆弱性の報告GitHub の非公開脆弱性報告(SECURITY.md を参照)
クレジットCREDITS.md

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。