Server data from the Official MCP Registry
Control monitor brightness, contrast, power and input via DDC/CI with MCP and MQTT support.
Control monitor brightness, contrast, power and input via DDC/CI with MCP and MQTT support.
Valid MCP server (0 strong, 2 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.
8 files analyzed Β· 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-defozo-ddc-ci-control-bridge": {
"args": [
"-y",
"ddc-ci-control-bridge"
],
"command": "npx"
}
}
}From the project's GitHub README.

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-bridge
Option 2: NPX (No Install)
npx ddc-ci-control-bridge
Option 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.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
Using 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:
Use this if your MCP client is on the same machine as your monitors.
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.
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"
}
}
}
}
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"
}
}
}
}
Run this command:
claude mcp add ddc-ci-bridge -- npx -y ddc-ci-control-bridge
Add this to your Windsurf MCP config file:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}
Add this to your Cline MCP configuration:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}
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"
}
}
}
}
Add this to your Roo Code MCP configuration:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}
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"
}
}
]
}
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 changesSettings β 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
}
}
SaveAdd 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"
Program (right side) β Install β Edit mcp.json{
"mcpServers": {
"DDC/CI Bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}
Save{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}
Perplexity β SettingsConnectorsAdd ConnectorAdvanced{
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"FASTMCP_API_KEY": "your-api-key-here",
"MQTT_ENABLED": "false"
}
}
SaveKiro β MCP Servers+ Add button{
"mcpServers": {
"DDC/CI Bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
},
"disabled": false,
"autoApprove": []
}
}
}
Save{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}
{
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"FASTMCP_API_KEY": "your-api-key-here",
"MQTT_ENABLED": "false"
}
}
Add to your Amazon Q configuration:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}
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"
}
}
}
}
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": []
}
}
}
Use this if you want to access monitor controls from a different machine on your network.
.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=1883
npm install -g ddc-ci-control-bridge
ddc-ci-bridge
Or 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.
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.
.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=1883
To enable MQTT: Set MQTT_ENABLED=true and change MQTT_HOST to your MQTT broker IP (e.g., Home Assistant IP).
npm run dev
This 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/status
monitor://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 build
npm run build:executables
This creates standalone executables in dist/bin/ for Windows, Linux, and macOS.
npm run dev
i2c groupsudo usermod -a -G i2c $USER
sudo modprobe i2c-dev
Log 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-*Be the first to review this server!
by Modelcontextprotocol Β· Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno Β· Developer Tools
Toleno Network MCP Server β Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace Β· Developer Tools
Create, build, and publish Python MCP servers to PyPI β conversationally.
by Microsoft Β· Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace Β· Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm β conversationally
by mcp-marketplace Β· Finance
Free stock data and market news for any MCP-compatible AI assistant.