mcpField
D
DDC/CI Control Bridge

DDC/CI Control Bridge

ローカル
github.com/Defozoその他554 週間前に更新

DDC/CI Control Bridge について

DDC/CI Control Bridgeは、DDC/CIでVCPコードを読み書きし、輝度、コントラスト、入力ソースなどを操作するマルチプロトコルサービスです。MCPとMQTTに対応し、AIツールや自動化プラットフォームから利用できます。

主な機能

  1. 01モニターのVCPコードを読み書き
  2. 02輝度、コントラスト、入力の操作
  3. 03MQTT経由で自動化基盤に接続
  4. 04Home Assistantの自動検出
  5. 05ローカルとリモートのMCP接続

活用シーン

  1. 01AIクライアントからモニター設定を変更
  2. 02Home Assistantでモニターを検出・操作
  3. 03別のデバイスから接続済みモニターにアクセス
  4. 04MQTTで独自の自動化を構築

MCP 対応

MCPサーバーとして、モニター操作ツールと、モニター一覧、機能、現在値、メタデータを取得するリソースを提供します。クライアントはstdioでローカル接続するか、HTTPでリモート接続できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"defozo-ddc-ci-control-bridge": {
"command": "npx",
"args": [
"-y",
"ddc-ci-control-bridge"
]
}
}
}
起動コマンドnpx -y ddc-ci-control-bridge

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

パッケージ
npmddc-ci-control-bridge1.0.5

ツール

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

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

詳細

DDC/CI Control Bridge

DDC/CI Control Bridge

NPM Version MIT licensed GitHub Release

Install MCP Server VS Code にインストール

MCP と MQTT に対応した、DDC/CI モニター制御用のマルチプロトコルサーバーです。

特長

  • DDC/CI モニター制御:VCP コードを読み書きして、モニターの輝度、コントラスト、入力ソースなどを制御します
  • Model Context Protocol(MCP):AI/エージェント連携用のリソースとツールを備えたサーバーです
  • MQTT クライアント:任意の MQTT ブローカーに接続し、IoT/オートメーションプラットフォームと連携します
    • Home Assistant の自動検出に対応
    • カスタム連携向けの汎用 MQTT パブリッシュ/サブスクライブ
  • クロスプラットフォーム:Windows、Linux、macOS で動作します
  • 2 種類の配布形態:スタンドアロン実行ファイルまたは npm パッケージとして利用できます

クイックスタート

インストール

オプション 1:NPM パッケージ(グローバル)

npm install -g ddc-ci-control-bridge
ddc-ci-bridge

オプション 2:NPX(インストール不要)

npx ddc-ci-control-bridge

オプション 3:スタンドアロン実行ファイル

GitHub Releases からお使いのプラットフォーム用のバイナリをダウンロードしてください。

  • Windows:ddc-ci-bridge-win.exe
  • Linux:ddc-ci-bridge-linux
  • macOS:ddc-ci-bridge-macos

⚠️ 注意: DDC_API_KEY 環境変数を設定する必要があります。設定しない場合、実行ファイルは直ちに終了します。

Windows:

# Set API key (required)
set DDC_API_KEY=your-secret-key

# Run the executable
ddc-ci-bridge-win.exe

# Or set multiple environment variables
set DDC_API_KEY=your-secret-key
set MQTT_ENABLED=true
set MQTT_HOST=192.168.1.100
ddc-ci-bridge-win.exe

Linux/macOS:

# Make executable (first time only)
chmod +x ddc-ci-bridge-linux  # or ddc-ci-bridge-macos

# Run with API key (required)
DDC_API_KEY=your-secret-key ./ddc-ci-bridge-linux

# Or with multiple environment variables
DDC_API_KEY=your-secret-key MQTT_ENABLED=true MQTT_HOST=192.168.1.100 ./ddc-ci-bridge-linux

MCP クライアントでの使用:

実行ファイルのパスを使用するように MCP クライアントを設定してください。

{
  "mcpServers": {
    "ddc-ci-bridge": {
      "command": "C:\\path\\to\\ddc-ci-bridge-win.exe",
      "args": [],
      "env": {
        "MQTT_ENABLED": "false"
      }
    }
  }
}
MCP クライアントのセットアップ

用途に応じて、**ローカル(stdio)またはリモート(HTTP)**のセットアップを選択してください。

  • ローカルセットアップ:モニターと同じマシンで MCP サーバーを実行します(ほとんどのユーザーにおすすめ)
  • リモートセットアップ:モニターが接続されたマシンで MCP サーバーを実行し、他のデバイスからアクセスします

🖥️ ローカルセットアップ(stdio - 同じマシン)

MCP クライアントがモニターと同じマシンにある場合に使用してください。

Cursor にインストール(ローカル)

Settings → Cursor Settings → MCP → Add new global MCP server の順に移動します。

Install MCP Server

または、次の設定を ~/.cursor/mcp.json ファイルに貼り付けてください。

{
  "mcpServers": {
    "ddc-ci-bridge": {
      "command": "npx",
      "args": ["-y", "ddc-ci-control-bridge"],
      "env": {
        "MQTT_ENABLED": "false",
        "MQTT_HOST": "localhost",
        "MQTT_PORT": "1883"
      }
    }
  }
}

MQTT(オプション):オートメーションプラットフォームと連携するには、MQTT_ENABLED=true を設定し、MQTT_HOST に MQTT ブローカーの IP アドレスを指定してください。

VS Code にインストール(ローカル)

VS Code にインストール

これを VS Code の MCP 設定ファイルに追加してください。

"mcp": {
  "servers": {
    "ddc-ci-bridge": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "ddc-ci-control-bridge"],
      "env": {
        "MQTT_ENABLED": "false"
      }
    }
  }
}
Claude Desktop にインストール(ローカル)

Claude Desktop の開発者設定を開き、claude_desktop_config.json ファイルを編集してください。

{
  "mcpServers": {
    "ddc-ci-bridge": {
      "command": "npx",
      "args": ["-y", "ddc-ci-control-bridge"],
      "env": {
        "MQTT_ENABLED": "false"
      }
    }
  }
}
Claude Code にインストール(ローカル)

次のコマンドを実行してください。

claude mcp add ddc-ci-bridge -- npx -y ddc-ci-control-bridge
Windsurf にインストール(ローカル)

Windsurf の MCP 設定ファイルに以下を追加します。

{
  "mcpServers": {
    "ddc-ci-bridge": {
      "command": "npx",
      "args": ["-y", "ddc-ci-control-bridge"],
      "env": {
        "MQTT_ENABLED": "false"
      }
    }
  }
}
Cline にインストール(ローカル)

Cline の MCP 設定に以下を追加します。

{
  "mcpServers": {
    "ddc-ci-bridge": {
      "command": "npx",
      "args": ["-y", "ddc-ci-control-bridge"],
      "env": {
        "MQTT_ENABLED": "false"
      }
    }
  }
}
Zed にインストール(ローカル)

Zed の settings.json に以下を追加します。

{
  "context_servers": {
    "DDC/CI Bridge": {
      "source": "custom",
      "command": "npx",
      "args": ["-y", "ddc-ci-control-bridge"],
      "env": {
        "MQTT_ENABLED": "false"
      }
    }
  }
}
Roo Code にインストール(ローカル)

Roo Code の MCP 設定に以下を追加します。

{
  "mcpServers": {
    "ddc-ci-bridge": {
      "command": "npx",
      "args": ["-y", "ddc-ci-control-bridge"],
      "env": {
        "MQTT_ENABLED": "false"
      }
    }
  }
}
Augment Code にインストール(ローカル)

オプション A:UI を使用する

  1. ハンバーガーメニューをクリックします
  2. Settings を選択します
  3. Tools セクションに移動します
  4. + Add MCP ボタンをクリックします
  5. コマンドを入力します:npx -y ddc-ci-control-bridge
  6. 名前:DDC/CI Bridge
  7. Add をクリックします

オプション B:手動設定

settings.json に以下を追加します。

"augment.advanced": {
  "mcpServers": [
    {
      "name": "ddc-ci-bridge",
      "command": "npx",
      "args": ["-y", "ddc-ci-control-bridge"],
      "env": {
        "MQTT_ENABLED": "false"
      }
    }
  ]
}
JetBrains AI Assistant にインストール(ローカル)
  1. Settings → Tools → AI Assistant → Model Context Protocol (MCP) に移動します
  2. + Add をクリックします
  3. ドロップダウンから As JSON を選択します
  4. 以下の設定を追加します。
{
  "mcpServers": {
    "ddc-ci-bridge": {
      "command": "npx",
      "args": ["-y", "ddc-ci-control-bridge"],
      "env": {
        "MQTT_ENABLED": "false"
      }
    }
  }
}
  1. Apply をクリックして変更を保存します
Warp にインストール(ローカル)
  1. Settings → AI → Manage MCP servers に移動します
  2. + Add ボタンをクリックします
  3. 以下の設定を貼り付けます。
{
  "DDC/CI Bridge": {
    "command": "npx",
    "args": ["-y", "ddc-ci-control-bridge"],
    "env": {
      "FASTMCP_API_KEY": "your-api-key-here",
      "MQTT_ENABLED": "false"
    },
    "working_directory": null,
    "start_on_launch": true
  }
}
  1. Save をクリックします
OpenAI Codex にインストール(ローカル)

Codex の MCP 設定に以下を追加します。

[mcp_servers.ddc-ci-bridge]
command = "npx"
args = ["-y", "ddc-ci-control-bridge"]

[mcp_servers.ddc-ci-bridge.env]
MQTT_ENABLED = "false"

Windows ユーザー:タイムアウトエラーが発生する場合は、絶対パスを使用してください。

[mcp_servers.ddc-ci-bridge]
command = "cmd"
args = ["/c", "npx", "-y", "ddc-ci-control-bridge"]
startup_timeout_ms = 20_000

[mcp_servers.ddc-ci-bridge.env]
SystemRoot = "C:\\Windows"
FASTMCP_API_KEY = "your-api-key-here"
MQTT_ENABLED = "false"
LM Studio にインストール(ローカル)
  1. Program(右側)→ Install → Edit mcp.json に移動します
  2. 以下の設定を追加します。
{
  "mcpServers": {
    "DDC/CI Bridge": {
      "command": "npx",
      "args": ["-y", "ddc-ci-control-bridge"],
      "env": {
        "MQTT_ENABLED": "false"
      }
    }
  }
}
  1. Save をクリックします
  2. 右側のパネルから MCP サーバーのオン/オフを切り替えます
Qodo Gen にインストール(ローカル)
  1. VSCode または IntelliJ で Qodo Gen のチャットパネルを開きます
  2. Connect more tools をクリックします
  3. + Add new MCP をクリックします
  4. 以下の設定を追加します。
{
  "mcpServers": {
    "ddc-ci-bridge": {
      "command": "npx",
      "args": ["-y", "ddc-ci-control-bridge"],
      "env": {
        "MQTT_ENABLED": "false"
      }
    }
  }
}
Perplexity Desktop にインストール(ローカル)
  1. Perplexity → Settings に移動します
  2. Connectors を選択します
  3. Add Connector をクリックします
  4. Advanced を選択します
  5. サーバー名を入力します:DDC/CI Bridge
  6. 以下の JSON を貼り付けます。
{
  "command": "npx",
  "args": ["-y", "ddc-ci-control-bridge"],
  "env": {
    "FASTMCP_API_KEY": "your-api-key-here",
    "MQTT_ENABLED": "false"
  }
}
  1. Save をクリックします
Kiro にインストール(ローカル)
  1. Kiro → MCP Servers に移動します
  2. + Add ボタンをクリックします
  3. 以下の設定を貼り付けます。
{
  "mcpServers": {
    "DDC/CI Bridge": {
      "command": "npx",
      "args": ["-y", "ddc-ci-control-bridge"],
      "env": {
        "MQTT_ENABLED": "false"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
  1. Save をクリックします
BoltAI にインストール(ローカル)
  1. Settings → Plugins を開きます
  2. 以下の JSON を入力します。
{
  "mcpServers": {
    "ddc-ci-bridge": {
      "command": "npx",
      "args": ["-y", "ddc-ci-control-bridge"],
      "env": {
        "MQTT_ENABLED": "false"
      }
    }
  }
}
  1. 保存し、必要に応じて再起動します
Zencoder にインストール(ローカル)
  1. Zencoder メニュー(...)に移動します
  2. Agent tools を選択します
  3. Add custom MCP をクリックします
  4. 名前とサーバー設定を追加します。
{
  "command": "npx",
  "args": ["-y", "ddc-ci-control-bridge"],
  "env": {
    "FASTMCP_API_KEY": "your-api-key-here",
    "MQTT_ENABLED": "false"
  }
}
  1. Install をクリックします
Amazon Q Developer CLI にインストール(ローカル)

Amazon Q の設定に以下を追加します。

{
  "mcpServers": {
    "ddc-ci-bridge": {
      "command": "npx",
      "args": ["-y", "ddc-ci-control-bridge"],
      "env": {
        "MQTT_ENABLED": "false"
      }
    }
  }
}
Bun または Deno を使用する

Bun:

{
  "mcpServers": {
    "ddc-ci-bridge": {
      "command": "bunx",
      "args": ["-y", "ddc-ci-control-bridge"],
      "env": {
        "MQTT_ENABLED": "false"
      }
    }
  }
}

Deno:

{
  "mcpServers": {
    "ddc-ci-bridge": {
      "command": "deno",
      "args": [
        "run",
        "--allow-env",
        "--allow-net",
        "npm:ddc-ci-control-bridge"
      ],
      "env": {
        "MQTT_ENABLED": "false"
      }
    }
  }
}
Windows 固有の設定

Windows では、以下の形式を使用してください(Cline の例)。

{
  "mcpServers": {
    "ddc-ci-bridge": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "ddc-ci-control-bridge"],
      "env": {
        "MQTT_ENABLED": "false"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

🌐 リモートセットアップ(HTTP - 別のマシン)

ネットワーク上の別のマシンからモニターの操作にアクセスする場合に使用します。

ステップ 1:モニターを接続したマシンに MCP サーバーをセットアップする
  1. モニターを接続したマシンで、.env ファイルを作成します。
DDC_API_KEY=your-secure-random-api-key-here
MCP_TRANSPORT=sse
MCP_PORT=8000

# Optional: Enable MQTT for automation platforms
MQTT_ENABLED=false
MQTT_HOST=localhost
MQTT_PORT=1883
  1. サーバーを起動します。
npm install -g ddc-ci-control-bridge
ddc-ci-bridge

または、npx を使用します。

npx ddc-ci-control-bridge
  1. サーバーに次の内容が表示されます。
🔌 MCP Server: http://192.168.1.100:8000
   Transport: sse
   API Key: your-api...

クライアントの設定に使用する IP アドレスとポートを控えておきます。

ステップ 2:MCP クライアントを設定する(リモート接続)

Cursor:

{
  "mcpServers": {
    "ddc-ci-bridge": {
      "url": "http://192.168.1.100:8000",
      "headers": {
        "Authorization": "Bearer your-secure-random-api-key-here"
      }
    }
  }
}

VS Code:

"mcp": {
  "servers": {
    "ddc-ci-bridge": {
      "type": "http",
      "url": "http://192.168.1.100:8000",
      "headers": {
        "Authorization": "Bearer your-secure-random-api-key-here"
      }
    }
  }
}

Claude Desktop:

{
  "mcpServers": {
    "ddc-ci-bridge": {
      "url": "http://192.168.1.100:8000",
      "headers": {
        "Authorization": "Bearer your-secure-random-api-key-here"
      }
    }
  }
}

Windsurf:

{
  "mcpServers": {
    "ddc-ci-bridge": {
      "serverUrl": "http://192.168.1.100:8000",
      "headers": {
        "Authorization": "Bearer your-secure-random-api-key-here"
      }
    }
  }
}

注: 192.168.1.100 をモニターを接続したマシンの実際の IP アドレスに置き換え、サーバーの .env ファイルで設定したものと同じ API キーを使用してください。


設定
  1. .env ファイルを作成します。
cp .env.example .env
  1. .env を編集して、次の項目を設定します。
DDC_API_KEY=your-secret-api-key-here

# Enable MQTT for automation platforms (optional)
MQTT_ENABLED=false
MQTT_HOST=localhost
MQTT_PORT=1883

MQTT を有効にするには: MQTT_ENABLED=true に設定し、MQTT_HOST を MQTT ブローカーの IP アドレス(例:Home Assistant の IP アドレス)に変更します。

  1. サーバーを起動します。
npm run dev

MQTT 統合

このサーバーは MQTT クライアントとして動作し、任意の MQTT ブローカーに接続できます。

対応プラットフォーム
  • Home Assistant:MQTT Discovery Protocol による自動検出 → Home Assistant ガイドを参照
  • openHAB:手動での Thing 設定に対応した MQTT バインディング
  • Node-RED:カスタムフロー用にトピックをサブスクライブ
  • Domoticz:MQTT 統合
  • 汎用 MQTT:MQTT pub/sub に対応する任意のプラットフォーム
MQTT トピック
ddc-monitor/{index}/brightness/set|get
ddc-monitor/{index}/contrast/set|get
ddc-monitor/{index}/vcp/{code}/set|get
ddc-monitor/{index}/power/set
ddc-monitor/{index}/state
ddc-monitor/bridge/status

MCP リソース

  • monitor://list - 利用可能なすべてのモニターを一覧表示
  • monitor://{index}/capabilities - VCP コードの完全なスキャン結果
  • monitor://{index}/current-values - サポートされているすべてのコードの現在値
  • monitor://{index}/info - モニターのメタデータ

MCP ツール

  • get_vcp_code - 指定した VCP コードの値を読み取る
  • set_vcp_code - VCP コードに値を書き込む
  • get_brightness - モニターの輝度を取得する(0-100)
  • set_brightness - モニターの輝度を設定する(0-100)
  • refresh_monitors - モニターと VCP の機能を再スキャンする

開発

ビルド
npm run build
実行ファイルのビルド
npm run build:executables

Windows、Linux、macOS 向けのスタンドアロン実行ファイルが dist/bin/ に作成されます。

開発モードで実行
npm run dev

必要条件

  • DDC/CI 対応:モニターが DDC/CI に対応している必要があります(最新のモニターのほとんどが対応しています)
  • DDC/CI の有効化:モニターの OSD 設定で DDC/CI を有効にしてください
  • 権限:Linux では、ユーザーを i2c グループに追加する必要がある場合があります
Linux のセットアップ
sudo usermod -a -G i2c $USER
sudo modprobe i2c-dev

グループの変更を反映するには、ログアウトしてから再度ログインしてください。

環境変数

利用可能な設定オプションは .env.example を参照してください。

主な変数:

  • DDC_API_KEY - サーバー認証用 API キー(必須)
  • MCP_TRANSPORT - トランスポートの種類:sse または stdio(デフォルト:sse)
  • MCP_PORT - SSE トランスポート用 HTTP ポート(デフォルト:8000)
  • MQTT_ENABLED - MQTT クライアントを有効化(デフォルト:false)
  • MQTT_HOST - MQTT ブローカーの IP アドレス/ホスト名(デフォルト:localhost)
  • MQTT_PORT - MQTT ブローカーのポート(デフォルト:1883)
  • MQTT_USERNAME - ddc-mcp として自動設定
  • MQTT_PASSWORD - DDC_API_KEY から自動設定

アーキテクチャ

┌─────────────────────────────────────────┐
│       DDC/CI Control Bridge             │
│                                         │
│  ┌─────────────────┐  ┌──────────────┐ │
│  │  MCP Server     │  │ MQTT Client  │ │
│  │  - Resources    │  │ - Pub/Sub    │ │
│  │  - Tools        │  │ - Discovery  │ │
│  └────────┬────────┘  └──────┬───────┘ │
│           │                  │         │
│           └────────┬─────────┘         │
│                    │                   │
│           ┌────────▼────────┐          │
│           │ DDC Controller  │          │
│           │ - VCP Scanning  │          │
│           │ - Read/Write    │          │
│           └────────┬────────┘          │
└────────────────────┼───────────────────┘
                     │
            ┌────────▼────────┐
            │ Physical Monitor│
            │   (DDC/CI)      │
            └─────────────────┘

External Clients:
┌──────────────┐  ┌──────────────┐  ┌──────────────┐
│ AI Agents    │  │ MQTT Broker  │  │ Automation   │
│ (via MCP)    │  │ (any broker) │  │ Platforms    │
└──────────────┘  └──────────────┘  └──────────────┘

ライセンス

MIT

ドキュメント

コントリビューション

コントリビューションを歓迎します。issue または PR を作成してください。

トラブルシューティング

モニターが見つからない
  • モニターの OSD 設定で DDC/CI が有効になっていることを確認してください
  • Linux では、i2c デバイスが利用可能か確認してください:ls -l /dev/i2c-*
  • 権限を昇格して実行してみてください(本番環境では推奨しません)
MQTT 接続に失敗する
  • MQTT ブローカーが稼働していることを確認してください
  • 認証情報がサーバーの出力と一致していることを確認してください
  • ファイアウォールで MQTT ポート(1883)が許可されていることを確認してください
コマンドが動作しない場合
  • サーバーログでエラーを確認してください
  • モニターが VCP コードに対応していることを確認してください
  • 一部のコードは読み取り専用の場合があります
  • サーバーと Home Assistant の両方を再起動してみてください

コメント

MCP は初めてですか?

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

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