mcpField
D
Domotz

Domotz

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

Domotz について

Domotz は、Domotz のネットワーク監視・管理環境に接続する AI アシスタント向けの MCP サーバーです。監視エージェント、デバイスの検出と状態、アラート、性能メトリクス、トポロジー、設定、電源管理を扱います。

主な機能

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

活用シーン

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

MCP 対応

MCP サーバーとして、MCP 対応 AI アシスタントを Domotz 環境に接続し、ネットワーク監視・管理機能をツールとして公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"wyre-technology-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-technology/domotz-mcp:v1.1.10"
],
"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-technology/domotz-mcp:v1.1.10
設定が必要な環境変数
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-technology/domotz-mcp:v1.1.10

ツール

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

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

詳細

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 つのサーバーを複数のクライアントで再利用できます。