DDC/CI 控制桥
](https://www.npmjs.com/package/ddc-ci-control-bridge)  ](https://github.com/Defozo/ddc-ci-control-bridge/releases)

支持MCP和MQTT的多协议服务器,用于DDC/CI显示器控制。
特点/特性
- DDC/CI 显示器控制读取和写入VCP代码以控制显示器的亮度、对比度、输入源等
- 模型上下文协议(MCP)提供资源和工具用于AI/智能体集成的服务器
- MQTT 客户端连接到任何物联网/自动化平台的MQTT代理
- 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:独立可执行文件
从(相应网站)下载适用于您平台的二进制文件 :
- 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.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-linux与MCP客户端一起使用:
配置您的MCP客户端以使用可执行文件路径:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "C:\\path\\to\\ddc-ci-bridge-win.exe",
"args": [],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}MCP客户端设置
在……之间选择 本地(标准输入输出) 或者 远程(HTTP) 根据您的需求进行设置:
- 本地设置在与您的监视器相同的机器上运行MCP服务器(推荐给大多数用户)
- 远程设置在连接显示器的机器上运行MCP服务器,从其他设备访问
______________________________________________________________________
🖥️ 本地设置(stdio - 同一台机器)
如果您的MCP客户端与监视器在同一台机器上,请使用此方法。
Install in Cursor (Local)
首选 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。
Install in VS Code (Local)
将此添加到您的 VS Code MCP 配置文件中:
"mcp": {
"servers": {
"ddc-ci-bridge": {
"type": "stdio",
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}Install in Claude Desktop (Local)
打开Claude桌面版的开发者设置并编辑您的 claude_desktop_config.json 文件:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}Install in Claude Code (Local)
运行此命令:
claude mcp add ddc-ci-bridge -- npx -y ddc-ci-control-bridgeInstall in Windsurf (Local)
将此添加到您的帆板MCP配置文件中:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}Install in Cline (Local)
在您的Cline MCP配置中添加以下内容:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}Install in Zed (Local)
将其添加到你的Zed中 settings.json:
{
"context_servers": {
"DDC/CI Bridge": {
"source": "custom",
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}Install in Roo Code (Local)
将此添加到您的Roo Code MCP配置中:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}Install in Augment Code (Local)
选项A:使用用户界面(UI)
- 点击汉堡菜单
- 选择 设置
- 导航至 工具 部分;章节
- 点击 + 添加MCP 按钮
- 输入命令:
npx -y ddc-ci-control-bridge - 姓名: DDC/CI桥接器
- 点击 添加
选项B:手动配置
添加到 settings.json:
"augment.advanced": {
"mcpServers": [
{
"name": "ddc-ci-bridge",
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
]
}Install in JetBrains AI Assistant (Local)
- 首选
Settings→Tools→AI Assistant→Model Context Protocol (MCP) - 点击
+ Add - 选择 作为JSON 从下拉菜单中
- 添加此配置:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}- 点击
Apply保存更改
Install in Warp (Local)
- 导航
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
Install in OpenAI Codex (Local)
在您的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"Install in LM Studio (Local)
- 导航至
Program(右侧)→Install→Edit mcp.json - 添加此配置:
{
"mcpServers": {
"DDC/CI Bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}- 点击
Save - 在右侧面板中切换MCP服务器的开启/关闭状态
Install in Qodo Gen (Local)
- 在VSCode或IntelliJ中打开Qodo Gen聊天面板
- 点击 连接更多工具
- 点击 + 添加新的MCP(多协议控制器/管理控制点等,具体含义根据上下文确定)
- 添加此配置:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}Install in Perplexity Desktop (Local)
- 导航
Perplexity→Settings - 选择
Connectors - 点击
Add Connector - 选择
Advanced - 输入服务器名称: DDC/CI桥接器
- 粘贴这个JSON:
{
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"FASTMCP_API_KEY": "your-api-key-here",
"MQTT_ENABLED": "false"
}
}- 点击
Save
Install in Kiro (Local)
- 导航
Kiro→MCP Servers - 点击
+ Add按钮 - 粘贴此配置:
{
"mcpServers": {
"DDC/CI Bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
},
"disabled": false,
"autoApprove": []
}
}
}- 点击
Save
Install in BoltAI (Local)
- 开放 设置 → 插件
- 输入以下JSON:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}- 如有需要,请保存并重新启动
Install in Zencoder (Local)
- 转到Zencoder菜单(……)
- 选择 代理工具
- 点击 添加自定义MCP
- 添加名称和服务器配置:
{
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"FASTMCP_API_KEY": "your-api-key-here",
"MQTT_ENABLED": "false"
}
}- 点击 安装
Install in Amazon Q Developer CLI (Local)
在您的Amazon Q配置中添加:
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "npx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}Using Bun or Deno
面包(Bun):
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "bunx",
"args": ["-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}Deno:(此处“Deno”可能是一个特定名称或术语,根据上下文无法确定具体含义,故直接音译)
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "deno",
"args": [
"run",
"--allow-env",
"--allow-net",
"npm:ddc-ci-control-bridge"
],
"env": {
"MQTT_ENABLED": "false"
}
}
}
}Windows-Specific Configuration
在Windows上,使用此格式(以Cline为例):
{
"mcpServers": {
"ddc-ci-bridge": {
"command": "cmd",
"args": ["/c", "npx", "-y", "ddc-ci-control-bridge"],
"env": {
"MQTT_ENABLED": "false"
},
"disabled": false,
"autoApprove": []
}
}
}______________________________________________________________________
🌐 远程设置(HTTP - 不同机器)
如果您想从网络上的另一台机器访问显示器控制,请使用此方法。
Step 1: Set up the MCP Server on Monitor-Connected Machine
- 在装有显示器的机器上,创建一个
.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地址和端口,以便进行客户端配置。
Step 2: Configure MCP Clients (Remote Connection)
光标:
{
"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(桌面版Claude)
{
"mcpServers": {
"ddc-ci-bridge": {
"url": "http://192.168.1.100:8000",
"headers": {
"Authorization": "Bearer your-secure-random-api-key-here"
}
}
}
}风帆冲浪:
{
"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地址,并使用您在服务器中配置的相同API密钥 .env 文件。
______________________________________________________________________
配置
- 创建一个
.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 devMQTT 集成
这台服务器充当MQTT客户端,可以连接到任何MQTT代理。
支持的平台
- 家庭助手通过MQTT发现协议进行自动发现 → 查看 Home Assistant 指南
- openHABMQTT绑定与手动事物配置
- 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/statusMCP Resources(公司名,可译为“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(高可用性)设置
- 开发指南 - 技术架构和开发细节
做出贡献
欢迎贡献!请提交问题或拉取请求。
故障排除
未找到显示器
- 确保在您的显示器的OSD设置中启用了DDC/CI
- 在Linux系统上,检查i2c设备是否可用:
ls -l /dev/i2c-* - 尝试以提升权限运行(不建议在生产环境中使用)
MQTT 连接失败
- 验证MQTT代理是否正在运行
- 检查凭据是否与服务器输出匹配
- 确保防火墙允许MQTT端口(1883)通过
命令无法执行
- 检查服务器日志中的错误
- 验证显示器是否支持VCP代码
- 某些代码可能是只读的
- 尝试重启服务器和Home Assistant
