mcpField
D
Domotz

Domotz

ローカル
github.comクラウド・インフラ02 週間前に更新

Domotz について

Domotz は、AI アシスタントを Domotz のネットワーク監視・管理環境につなぐ MCP サーバーです。MSP やネットワーク運用担当者向けに、エージェント、デバイス、アラート、メトリクス、トポロジー、電源管理のツールを提供します。

主な機能

  1. 01監視エージェントの管理
  2. 02アラートの表示と管理
  3. 03デバイスの検出と状態確認
  4. 04ネットワークメトリクスとトポロジーの確認
  5. 05監視対象デバイスの電源管理

活用シーン

  1. 01ネットワーク内のデバイス状態の確認
  2. 02ネットワークアラートと性能の調査
  3. 03ネットワークトポロジーと設定の確認
  4. 04監視対象デバイスの電源管理

MCP 対応

Domotz の監視・管理機能を、MCP 対応 AI クライアント向けのツールとして公開します。stdio と HTTP に対応し、環境変数またはゲートウェイのリクエストヘッダーで API 認証情報を渡します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"wyre-ai-domotz": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DOMOTZ_API_KEY",
"-e",
"DOMOTZ_API_URL",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-ai/domotz-mcp:v1.1.14"
],
"env": {
"DOMOTZ_API_KEY": "<DOMOTZ_API_KEY>",
"DOMOTZ_API_URL": "<DOMOTZ_API_URL>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"AUTH_MODE": "<AUTH_MODE>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
起動コマンドdocker run -i --rm -e DOMOTZ_API_KEY -e DOMOTZ_API_URL -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-ai/domotz-mcp:v1.1.14
設定が必要な環境変数
DOMOTZ_API_KEYシークレットDomotz Public API key (generated in the Domotz portal)
DOMOTZ_API_URLDomotz Public API base URL for the regional endpoint (e.g. https://api-us-east-1-cell-1.domotz.com/public-api/v1)
MCP_TRANSPORTTransport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.
AUTH_MODEシークレットCredential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.
LOG_LEVELLog verbosity: debug, info, warn, error

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

パッケージ
ocighcr.io/wyre-ai/domotz-mcp:v1.1.14

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Domotz MCP サーバー

License Node.js

Domotz のネットワーク監視と管理のための Model Context Protocol(MCP)サーバーです。AI アシスタントを使って、ネットワークデバイスの監視、アラートの表示、デバイスのステータス確認、ネットワークインフラストラクチャの管理を行えます。

これは、Claude(または MCP 互換の AI)を Domotz 環境に接続する Model Context Protocol(MCP) サーバーです。

MSP Claude Plugins エコシステムの一部です — MSP スタック向けの AI 統合機能を拡充するスイートです。MSP が MSP のために構築しました。

インストール

npm install @wyre-ai/domotz-mcp

設定

.env.example をコピーし、以下の変数を設定してください。

変数必須説明
DOMOTZ_API_KEYstdio および AUTH_MODE=env の場合Domotz Public API キー
DOMOTZ_REGIONいいえAPI リージョンのセルラベル(デフォルト:us-east-1)
MCP_TRANSPORTいいえstdio(デフォルト)または http
AUTH_MODEいいえgateway(Docker イメージおよび Compose のデフォルト)または env。Gateway モードでは、各 /mcp リクエストに X-Domotz-API-Key が必要で、DOMOTZ_API_KEY へのフォールバックは行いません。env では、S2S 認証の成功後にのみこの変数を使用します。
CONDUIT_S2S_SECRETHTTP では必須サービス間シークレット。この値が空、または既知のプレースホルダー(changeme、secret、your-s2s-secret、replace-with-a-real-secret、および src/http.ts で拒否されるその他の値)の場合、HTTP サーバーはエラーを記録してゼロ以外の終了コードで終了します。この値がないと Compose は起動しません。実際の値をコミットしないでください。この値がログに記録されることはありません。
MCP_ALLOW_INSECURE_DEVいいえCONDUIT_S2S_SECRET がなくても HTTP を起動するには、ローカル開発時に限り、正確に 1 を設定してください。プロセスは警告を記録し、X-Gateway-S2S を必須にせず、127.0.0.1 のみをバインドします。ループバック以外の MCP_HTTP_HOST は無視され、その上書きがログに記録されます。既知のプレースホルダーシークレットは引き続き拒否されます。
MCP_HTTP_HOSTいいえMCP_TRANSPORT=http の場合のバインドアドレスです。デフォルトは 127.0.0.1 です。CONDUIT_S2S_SECRET が設定されている場合に適用されます。コンテナーイメージでは 0.0.0.0 が設定されます。
MCP_HTTP_PORTいいえHTTP ポートです。デフォルトは 8080 です。

/health は認証不要のままで、認証情報を読み取りません。stdio トランスポートでは CONDUIT_S2S_SECRET を使用しません。

HTTP 認証

MCP_TRANSPORT=http かつ CONDUIT_S2S_SECRET が設定されている場合、すべての /mcp リクエストに X-Gateway-S2S を含める必要があります。検証処理は src/s2s-verify.ts の verifyS2sHeader です。ヘッダー値は t=<unix seconds>,v1=<hex> で、hex は CONDUIT_S2S_SECRET をキーとして、文字列 t=<unix seconds> そのものに対して計算した HMAC-SHA256 です(小文字の 16 進数 64 文字)。タイムスタンプはサーバー時刻から 300 秒以内でなければなりません。ヘッダーがない場合、または無効な場合は、ベンダーの認証情報を読み取る前に 401 を返します。

TS=$(date +%s)
SIG=$(printf 't=%s' "$TS" | openssl dgst -sha256 -hmac "$CONDUIT_S2S_SECRET" -hex | awk '{print $NF}')
curl -sS http://127.0.0.1:8080/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H "X-Gateway-S2S: t=${TS},v1=${SIG}" \
  -H "X-Domotz-API-Key: $DOMOTZ_API_KEY" \
  -H 'X-Domotz-Region: us-east-1' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

AUTH_MODE=gateway では、/mcp に X-Domotz-API-Key も必要です(X-Domotz-Region は省略可能で、デフォルトは us-east-1 です)。このヘッダーのみがリクエストの認証情報ソースとなります。AUTH_MODE=env でも有効な X-Gateway-S2S ヘッダーは引き続き必要で、ベンダーの認証情報は DOMOTZ_API_KEY から取得します。

使用方法

Claude Desktop での実行

Claude Desktop の claude_desktop_config.json に追加してください。

{
  "mcpServers": {
    "domotz-mcp": {
      "command": "npx",
      "args": ["@wyre-ai/domotz-mcp"],
      "env": {
        "DOMOTZ_API_KEY": "your-domotz-api-key"
      }
    }
  }
}
Claude Code での実行(CLI)
claude mcp add domotz-mcp \
  -e DOMOTZ_API_KEY=your-value \
  -- npx -y @wyre-ai/domotz-mcp
Docker

イメージはコンテナー内で0.0.0.0(MCP_HTTP_HOST)をリッスンし、デフォルトでAUTH_MODE=gatewayを使用します。ポートをループバックに公開し、S2S シークレットを渡してください。ゲートウェイモードでは、Domotz API キーは各リクエストのX-Domotz-API-Keyとして渡され、環境変数からは読み込まれません。Compose ではDOMOTZ_API_KEYを設定しません。

docker build -t domotz-mcp .
docker run \
  -e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
  -p 127.0.0.1:8080:8080 \
  domotz-mcp

CONDUIT_S2S_SECRETが未設定の場合、Compose は起動を拒否します。また、AUTH_MODE=gatewayを設定し、127.0.0.1:8080:8080を公開します。openssl rand -hex 32でシークレットを生成してください。your-s2s-secretのようなプレースホルダーは使用しないでください。

CONDUIT_S2S_SECRET="$(openssl rand -hex 32)" docker compose up

シングルテナントの HTTP(AUTH_MODE=env)でも S2S シークレットが必要で、そのうえでDOMOTZ_API_KEYを使用します。

docker run \
  -e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
  -e AUTH_MODE=env \
  -e DOMOTZ_API_KEY=your-value \
  -e DOMOTZ_REGION=us-east-1 \
  -p 127.0.0.1:8080:8080 \
  domotz-mcp

シークレットを使用しないローカル HTTP は、開発専用です。127.0.0.1のみにバインドし、警告をログに記録します。0.0.0.0を含む、ループバック以外のMCP_HTTP_HOSTは無視されます。

MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm run start:http

利用可能なドメイン

エージェント

Domotz の監視エージェントを管理します

アラート

ネットワークアラートを表示および管理します

デバイス

デバイスの検出とステータス監視

メトリクス

ネットワークパフォーマンスのメトリクス

ネットワーク

ネットワークトポロジーと構成

電源

管理対象デバイスの電源管理

開発

# Clone the repository
git clone https://github.com/WYRE-AI/domotz-mcp.git
cd domotz-mcp

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# HTTP transport refuses to start until CONDUIT_S2S_SECRET is a real secret
CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" npm run start:http

# Local HTTP only, without a service-to-service secret (always binds 127.0.0.1)
MCP_ALLOW_INSECURE_DEV=1 npm run start:http

コントリビューション

コントリビューションを歓迎します!CONTRIBUTING.mdがある場合はご確認ください。または、変更について話し合うために issue を作成してください。

ライセンス

Apache License, Version 2.0 のもとでライセンスされています。詳細はLICENSEをご覧ください。

コメント

MCP は初めてですか?

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

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