关于 DDC/CI Control Bridge
DDC/CI Control Bridge 是用于控制显示器的多协议服务,可通过 DDC/CI 读写 VCP 代码,调整亮度、对比度和输入源。它同时支持 MCP 与 MQTT,适用于 AI 工具接入和自动化平台集成。
主要功能
- 01读取和写入显示器 VCP 代码
- 02控制亮度、对比度及输入源
- 03通过 MQTT 接入自动化平台
- 04支持 Home Assistant 自动发现
- 05提供本地和远程 MCP 连接
适用场景
- 01从 AI 客户端调整显示器设置
- 02让 Home Assistant 发现并控制显示器
- 03从其他设备访问连接的显示器
- 04通过 MQTT 构建自定义自动化
MCP 相关
该 MCP 服务提供显示器控制工具,以及列出显示器、能力、当前值和元数据的资源。客户端可通过本地 stdio 或远程 HTTP 连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
DDC/CI Control Bridge

支持 MCP 和 MQTT 的多协议 DDC/CI 显示器控制服务。
功能
- DDC/CI 显示器控制:读取和写入 VCP 代码,以控制显示器亮度、对比度、输入源等
- Model Context Protocol(MCP):提供资源和工具的服务,可与 AI/Agent 集成
- MQTT 客户端:连接到任意 MQTT 代理,适用于 IoT/自动化平台
- 支持 Home Assistant 自动发现
- 通用 MQTT 发布/订阅,适用于自定义集成
- 跨平台:支持 Windows、Linux 和 macOS
- 双重分发:可作为独立可执行文件或 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:通过 MQTT 绑定手动配置 thing
- Node-RED:订阅主题以创建自定义流程
- Domoticz:MQTT 集成
- 通用 MQTT:任何支持 MQTT 发布/订阅的平台
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
这会在 dist/bin/ 中为 Windows、Linux 和 macOS 创建独立的可执行文件。
在开发模式下运行
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-mcpMQTT_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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。