Ddc Ci Control Bridge — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Ddc Ci Control Bridge (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
DDC/CI Control Bridge
<img alt="Install in VS Code" src="https://img.shields.io/badge/Install%20in%20VS%20Code-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white">
Multi-protocol server for DDC/CI monitor control with MCP and MQTT support.
Option 1: NPM Package (Global)
npm install -g ddc-ci-control-bridge
ddc-ci-bridgeOption 2: NPX (No Install)
npx ddc-ci-control-bridgeOption 3: Standalone Executable
Download the binary for your platform from GitHub Releases:
ddc-ci-bridge-win.exeddc-ci-bridge-linuxddc-ci-bridge-macos⚠️ Note: The executable requires DDC_API_KEY environment variable to be set, or it will exit immediately.
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.exeLinux/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-linuxUsing with MCP Clients:
Configure your MCP client to use the executable path:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "C:\\path\\to\\ddc-ci-bridge-win.exe",
"args": [],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}Choose between Local (stdio) or Remote (HTTP) setup depending on your needs:
#### 🖥️ Local Setup (stdio - Same Machine)
Use this if your MCP client is on the same machine as your monitors.
<details> <summary><b>Install in Cursor (Local)</b></summary>
Go to: Settings → Cursor Settings → MCP → Add new global MCP server
Or paste the following configuration into your ~/.cursor/mcp.json file:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false",
"MQTT_HOST": "localhost",
"MQTT_PORT": "1883"
}
}
}
}Optional MQTT: Set MQTT_ENABLED=true and configure MQTT_HOST to your MQTT broker IP for automation platform integration.
</details>
<details> <summary><b>Install in VS Code (Local)</b></summary>
Add this to your VS Code MCP config file:
"mcp": {
"servers": {
"ddc-ci-bridge": {
"type": "stdio",
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}</details>
<details> <summary><b>Install in Claude Desktop (Local)</b></summary>
Open Claude Desktop developer settings and edit your claude_desktop_config.json file:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}</details>
<details> <summary><b>Install in Claude Code (Local)</b></summary>
Run this command:
claude mcp add ddc-ci-bridge -- npx -y ddc-ci-control-bridge</details>
<details> <summary><b>Install in Windsurf (Local)</b></summary>
Add this to your Windsurf MCP config file:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}</details>
<details> <summary><b>Install in Cline (Local)</b></summary>
Add this to your Cline MCP configuration:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}</details>
<details> <summary><b>Install in Zed (Local)</b></summary>
Add this to your Zed settings.json:
{
"context_servers": {
"DDC/CI Bridge": {
"source": "custom",
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}</details>
<details> <summary><b>Install in Roo Code (Local)</b></summary>
Add this to your Roo Code MCP configuration:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}</details>
<details> <summary><b>Install in Augment Code (Local)</b></summary>
Option A: Using the UI
npx -y ddc-ci-control-bridgeOption B: Manual Configuration
Add to settings.json:
"augment.advanced": {
"mcpServers": [
{
"name": "ddc-ci-bridge",
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
]
}</details>
<details> <summary><b>Install in JetBrains AI Assistant (Local)</b></summary>
Settings → Tools → AI Assistant → Model Context Protocol (MCP)+ Add{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}Apply to save changes</details>
<details> <summary><b>Install in Warp (Local)</b></summary>
Settings → AI → Manage MCP servers+ Add button{
"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</details>
<details> <summary><b>Install in OpenAI Codex (Local)</b></summary>
Add to your Codex MCP configuration:
[mcp_servers.ddc-ci-bridge]
command = "npx"
args = ["-y", "ddc-ci-control-bridge"]
[mcp_servers.ddc-ci-bridge.env]
MQTT_ENABLED = "false"Windows Users: Use full paths if you encounter timeout errors:
[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"</details>
<details> <summary><b>Install in LM Studio (Local)</b></summary>
Program (right side) → Install → Edit mcp.json{
"mcpServers": {
"DDC/CI Bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}Save</details>
<details> <summary><b>Install in Qodo Gen (Local)</b></summary>
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}</details>
<details> <summary><b>Install in Perplexity Desktop (Local)</b></summary>
Perplexity → SettingsConnectorsAdd ConnectorAdvanced{
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"FASTMCP_API_KEY": "your-api-key-here",
"MQTT_ENABLED": "false"
}
}Save</details>
<details> <summary><b>Install in Kiro (Local)</b></summary>
Kiro → MCP Servers+ Add button{
"mcpServers": {
"DDC/CI Bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
},
"disabled": false,
"autoApprove": []
}
}
}Save</details>
<details> <summary><b>Install in BoltAI (Local)</b></summary>
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}</details>
<details> <summary><b>Install in Zencoder (Local)</b></summary>
{
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"FASTMCP_API_KEY": "your-api-key-here",
"MQTT_ENABLED": "false"
}
}</details>
<details> <summary><b>Install in Amazon Q Developer CLI (Local)</b></summary>
Add to your Amazon Q configuration:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}</details>
<details> <summary><b>Using Bun or Deno</b></summary>
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"
}
}
}
}</details>
<details> <summary><b>Windows-Specific Configuration</b></summary>
On Windows, use this format (example with Cline):
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "cmd",
"args": ["/c", "npx", "-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
},
"disabled": false,
"autoApprove": []
}
}
}</details>
#### 🌐 Remote Setup (HTTP - Different Machines)
Use this if you want to access monitor controls from a different machine on your network.
<details> <summary><b>Step 1: Set up the MCP Server on Monitor-Connected Machine</b></summary>
.env file: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=1883npm install -g ddc-ci-control-bridge
ddc-ci-bridgeOr using npx:
npx ddc-ci-control-bridge🔌 MCP Server: http://192.168.1.100:8000
Transport: sse
API Key: your-api...Note the IP address and port for client configuration.
</details>
<details> <summary><b>Step 2: Configure MCP Clients (Remote Connection)</b></summary>
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"
}
}
}
}Note: Replace 192.168.1.100 with the actual IP address of your monitor-connected machine, and use the same API key you configured in the server's .env file.
</details>
.env file:cp .env.example .env.env and configure:DDC_API_KEY=your-secret-api-key-here
# Enable MQTT for automation platforms (optional)
MQTT_ENABLED=false
MQTT_HOST=localhost
MQTT_PORT=1883To enable MQTT: Set MQTT_ENABLED=true and change MQTT_HOST to your MQTT broker IP (e.g., Home Assistant IP).
npm run devThis server acts as an MQTT client and can connect to any MQTT broker.
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/statusmonitor://list - List all available monitorsmonitor://{index}/capabilities - Full VCP code scan resultsmonitor://{index}/current-values - Current values of all supported codesmonitor://{index}/info - Monitor metadataget_vcp_code - Read a specific VCP code valueset_vcp_code - Write a value to a VCP codeget_brightness - Get monitor brightness (0-100)set_brightness - Set monitor brightness (0-100)refresh_monitors - Re-scan monitors and VCP capabilitiesnpm run buildnpm run build:executablesThis creates standalone executables in dist/bin/ for Windows, Linux, and macOS.
npm run devi2c groupsudo usermod -a -G i2c $USER
sudo modprobe i2c-devLog out and log back in for group changes to take effect.
See .env.example for all available configuration options.
Key variables:
DDC_API_KEY - API key for server authentication (required)MCP_TRANSPORT - Transport type: sse or stdio (default: sse)MCP_PORT - HTTP port for SSE transport (default: 8000)MQTT_ENABLED - Enable MQTT client (default: false)MQTT_HOST - MQTT broker IP/hostname (default: localhost)MQTT_PORT - MQTT broker port (default: 1883)MQTT_USERNAME - Auto-configured as ddc-mcpMQTT_PASSWORD - Auto-configured from 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
Contributions welcome! Please open an issue or PR.
ls -l /dev/i2c-*~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.