DDC/CI Control Bridge について
DDC/CI Control Bridgeは、DDC/CIでVCPコードを読み書きし、輝度、コントラスト、入力ソースなどを操作するマルチプロトコルサービスです。MCPとMQTTに対応し、AIツールや自動化プラットフォームから利用できます。
主な機能
- 01モニターのVCPコードを読み書き
- 02輝度、コントラスト、入力の操作
- 03MQTT経由で自動化基盤に接続
- 04Home Assistantの自動検出
- 05ローカルとリモートのMCP接続
活用シーン
- 01AIクライアントからモニター設定を変更
- 02Home Assistantでモニターを検出・操作
- 03別のデバイスから接続済みモニターにアクセス
- 04MQTTで独自の自動化を構築
MCP 対応
MCPサーバーとして、モニター操作ツールと、モニター一覧、機能、現在値、メタデータを取得するリソースを提供します。クライアントはstdioでローカル接続するか、HTTPでリモート接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
DDC/CI Control Bridge

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 の順に移動します。
または、次の設定を ~/.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 の 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 を使用する
- ハンバーガーメニューをクリックします
- Settings を選択します
- Tools セクションに移動します
- + Add MCP ボタンをクリックします
- コマンドを入力します:
npx -y ddc-ci-control-bridge - 名前:DDC/CI Bridge
- 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 にインストール(ローカル)
Settings→Tools→AI Assistant→Model Context Protocol (MCP)に移動します+ Addをクリックします- ドロップダウンから As JSON を選択します
- 以下の設定を追加します。
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}
Applyをクリックして変更を保存します
Warp にインストール(ローカル)
Settings→AI→Manage MCP serversに移動します+ Addボタンをクリックします- 以下の設定を貼り付けます。
{
"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
}
}
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 にインストール(ローカル)
Program(右側)→Install→Edit mcp.jsonに移動します- 以下の設定を追加します。
{
"mcpServers": {
"DDC/CI Bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}
Saveをクリックします- 右側のパネルから MCP サーバーのオン/オフを切り替えます
Qodo Gen にインストール(ローカル)
- VSCode または IntelliJ で Qodo Gen のチャットパネルを開きます
- Connect more tools をクリックします
- + Add new MCP をクリックします
- 以下の設定を追加します。
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}
Perplexity Desktop にインストール(ローカル)
Perplexity→Settingsに移動しますConnectorsを選択しますAdd ConnectorをクリックしますAdvancedを選択します- サーバー名を入力します:DDC/CI Bridge
- 以下の JSON を貼り付けます。
{
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"FASTMCP_API_KEY": "your-api-key-here",
"MQTT_ENABLED": "false"
}
}
Saveをクリックします
Kiro にインストール(ローカル)
Kiro→MCP Serversに移動します+ Addボタンをクリックします- 以下の設定を貼り付けます。
{
"mcpServers": {
"DDC/CI Bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
},
"disabled": false,
"autoApprove": []
}
}
}
Saveをクリックします
BoltAI にインストール(ローカル)
- Settings → Plugins を開きます
- 以下の JSON を入力します。
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}
- 保存し、必要に応じて再起動します
Zencoder にインストール(ローカル)
- Zencoder メニュー(...)に移動します
- Agent tools を選択します
- Add custom MCP をクリックします
- 名前とサーバー設定を追加します。
{
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"FASTMCP_API_KEY": "your-api-key-here",
"MQTT_ENABLED": "false"
}
}
- 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 サーバーをセットアップする
- モニターを接続したマシンで、
.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
- サーバーを起動します。
npm install -g ddc-ci-control-bridge
ddc-ci-bridge
または、npx を使用します。
npx ddc-ci-control-bridge
- サーバーに次の内容が表示されます。
🔌 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 キーを使用してください。
設定
.envファイルを作成します。
cp .env.example .env
.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 アドレス)に変更します。
- サーバーを起動します。
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
ドキュメント
- Home Assistant 統合ガイド - HA のセットアップ手順
- 開発ガイド - 技術アーキテクチャと開発の詳細
コントリビューション
コントリビューションを歓迎します。issue または PR を作成してください。
トラブルシューティング
モニターが見つからない
- モニターの OSD 設定で DDC/CI が有効になっていることを確認してください
- Linux では、i2c デバイスが利用可能か確認してください:
ls -l /dev/i2c-* - 権限を昇格して実行してみてください(本番環境では推奨しません)
MQTT 接続に失敗する
- MQTT ブローカーが稼働していることを確認してください
- 認証情報がサーバーの出力と一致していることを確認してください
- ファイアウォールで MQTT ポート(1883)が許可されていることを確認してください
コマンドが動作しない場合
- サーバーログでエラーを確認してください
- モニターが VCP コードに対応していることを確認してください
- 一部のコードは読み取り専用の場合があります
- サーバーと Home Assistant の両方を再起動してみてください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。