MADRIX MCP
MCP服务器 马德里克斯 LED照明软件。通过MADRIX Remote HTTP接口公开108个工具,涵盖存储/甲板控制、层管理、提示列表、时间线、组、音频、输出、全局颜色、自动收报机/BPM和生成的层控制系列。
为现场制作而建。与配对 grandMA2 MCP , Resolume MCP , 配套MCP ,以及 超越MCP 完全由人工智能驱动的节目控制。
MADRIX远程HTTP官方文档:
快速开始
复制 git clone https://github.com/drohi-r/madrix-mcp && cd madrix-mcp
uv sync
uv run python -m madrix_mcp
确保MADRIX Remote HTTP已启用,并且可以在配置的HTTP端口上访问。
对于远程控制:
使用局域网或WireGuard,而不是公共互联网
集 MADRIX_HOST MADRIX机器
将该主机包含在 MADRIX_ALLOWED_HOSTS
配置
变量
默认值
描述
MADRIX_HOST
127.0.0.1
MADRIX实例IP
MADRIX_HTTP_PORT
80
MADRIX远程HTTP端口
MADRIX_REMOTE_PATH
/RemoteCommands/
MADRIX远程HTTP命令路径
MADRIX_ALLOWED_HOSTS
127.0.0.1,localhost,::1
目标主机的逗号分隔的列表。集 * 允许任何。
MADRIX_SAFETY_PROFILE
lab
安全预设: lab, show-safe,或 read-only
MADRIX_READ_ONLY
0
设置为 1 用于只读模式
MADRIX_CONFIRM_DESTRUCTIVE
0
设置为 1 要求 confirm=true 论破坏行为
MADRIX_TIMEOUT_SECONDS
5.0
HTTP超时
MADRIX_TRANSPORT
stdio
MCP传输(stdio, sse, streamable-http)
建筑
复制 graph TD
A["MADRIX MCP Server<br/><code>madrix_mcp</code><br/>108 tools · safety gate"] --> B
B["HTTP Remote Client<br/>GET/SET commands"] --> C
C["MADRIX<br/>Remote HTTP on port 80"]
D["Safety Profiles<br/>lab · show-safe · read-only"] -.-> A
E["Layer Control<br/>Generated tool families<br/>index + current-layer variants"] -.-> A
style A fill:#1a1a2e,stroke:#00E0A4,color:#fff
style B fill:#1a1a2e,stroke:#00E0A4,color:#fff
style C fill:#1a1a2e,stroke:#0f3460,color:#fff
style D fill:#0f3460,stroke:#0f3460,color:#fff
style E fill:#0f3460,stroke:#0f3460,color:#fff
安全简介
实验室 --已启用读/写,无需额外的破坏性确认
显示安全 --启用读/写,需要进行破坏性操作 confirm=true
只读 --阻止所有写入操作,保留健康/配置/读取工具可用
工具
运输和安全
工具
它做什么
get_server_config
返回当前MCP服务器配置和安全设置
health_check
探测MADRIX远程HTTP可达性
get_remote
任何MADRIX Remote函数的原始HTTP GET转义舱口
set_remote
任何MADRIX Remote功能的原始HTTP SET逃逸窗口
身份和全球状态
工具
它做什么
get_product
返回MADRIX产品名称
get_version
返回MADRIX版本字符串
get_host_label
返回MADRIX主机标签
播放和状态读取
工具
它做什么
get_storage_state
返回当前存储甲板、位置和方位信息
get_audio_state
返回音频输入电平和设置
get_output_state
返回DMX输出状态
get_cuelist_summary
返回提示列表状态和条目
get_timeline_summary
返回时间线状态和位置
get_group_summary
返回组名和值
get_global_colors
返回全局颜色值
get_storage_place_details
返回存储地点名称和效果信息
get_preview_info
返回预览窗口状态
淡入淡出和主控
工具
它做什么
get_fade_type
回流横流类型
get_fade_value
返回当前交叉火力位置
set_fade_type
设置交叉火力类型
set_fade_value
设置交叉火力位置
get_master
返回主亮度
set_master
设置主亮度
get_blackout
返回断电状态
set_blackout
打开/关闭遮光
储存和甲板控制
工具
它做什么
set_storage_place
按索引切换到存储位置
set_deck
切换活动甲板(A/B)
set_storage_place_name
重命名存储位置
线索列表控制
工具
它做什么
set_cuelist_play
开始/停止播放提示列表
set_cuelist_go
触发下一个提示
set_cuelist_back
转到上一个提示
set_cuelist_entry
跳转到特定的提示条目
add_cuelist_entry
添加新的提示列表条目
remove_cuelist_entry
删除提示列表条目
edit_cuelist_entry
编辑现有提示列表条目
音频和输出控制
工具
它做什么
set_audio_input
设置音频输入源
set_output_enabled
启用或禁用DMX输出
群控
工具
它做什么
set_group_value
按索引设置组的值
set_group_preset
将预设应用于组
时间线控制
工具
它做什么
set_timeline_play
开始/停止时间线
set_timeline_position
寻找时间线位置
全局颜色控制
工具
它做什么
set_global_color
按索引设置全局颜色
甲板存放位置控制
工具
它做什么
set_deck_storage_place
在特定甲板上切换存储位置
Ticker和BPM控制
工具
它做什么
set_bpm
设置BPM值
set_ticker_enabled
启用或禁用节拍收报机
图层控制(生成的族)
每个族都提供基于索引的图层变体和当前图层变体:
工具
它做什么
set_layer_opacity / set_current_layer_opacity
设置图层不透明度
set_layer_submaster / set_current_layer_submaster
设置图层子主控
set_layer_blind / set_current_layer_blind
设置图层盲状态
set_layer_solo / set_current_layer_solo
设置图层单独状态
set_layer_mixmode / set_current_layer_mixmode
设置图层混合模式
set_layer_filter / set_current_layer_filter
设置图层过滤器
克劳德桌面版
复制 {
"mcpServers": {
"madrix": {
"command": "uv",
"args": ["run", "--directory", "/path/to/madrix-mcp", "python", "-m", "madrix_mcp"],
"env": {
"MADRIX_HOST": "127.0.0.1",
"MADRIX_HTTP_PORT": "80",
"MADRIX_SAFETY_PROFILE": "show-safe"
}
}
}
}
VS代码/光标
复制 {
"servers": {
"madrix": {
"command": "uv",
"args": ["run", "--directory", "/path/to/madrix-mcp", "python", "-m", "madrix_mcp"],
"env": {
"MADRIX_HOST": "127.0.0.1",
"MADRIX_HTTP_PORT": "80",
"MADRIX_SAFETY_PROFILE": "show-safe"
}
}
}
}
法典
创建一个 codex.json MCP配置文件:
复制 {
"mcpServers": {
"madrix": {
"command": "uv",
"args": ["run", "--directory", "/path/to/madrix-mcp", "python", "-m", "madrix_mcp"],
"env": {
"MADRIX_HOST": "127.0.0.1",
"MADRIX_HTTP_PORT": "80",
"MADRIX_SAFETY_PROFILE": "show-safe"
}
}
}
}
然后使用以下命令运行Codex:
复制 codex --mcp-config codex.json
安全生产
此服务器专为现场表演环境而设计,意外写入可能会中断正在运行的LED安装。
主机分配 --只有 127.0.0.1, localhost,以及 ::1 默认情况下是允许的。通过以下方式显式添加LAN主机 MADRIX_ALLOWED_HOSTS.Set * 允许任何主机。
只读模式 --set MADRIX_READ_ONLY=1 以阻止所有写入操作。运行状况、配置和读取工具仍然可用。
确认破坏性浇口 --set MADRIX_CONFIRM_DESTRUCTIVE=1 要求 confirm=true 关于破坏性行动,包括 SetBlackout, SetMaster、存储甲板开关和提示列表播放更改。
安全简介 — MADRIX_SAFETY_PROFILE 给你一个理智的起点: lab (全开), show-safe (破坏性确认),或 read-only (没有写)。
原始逃生舱口 — get_remote 和 set_remote 允许任何MADRIX远程HTTP功能,但仍由相同的安全模型控制。
输入验证 --所有工具在进行任何HTTP调用之前都会验证参数。无效输入返回结构化JSON错误,从不返回原始异常。
错误隔离 --所有工具都包含在错误处理程序中。网络故障、验证失败和意外异常返回 {"ok": false, "error": "..."} 而不是使MCP会话崩溃。
实时验证
针对真实的MADRIX实例进行了验证 192.168.20.179:80:
health_check, get_product, get_cuelist_summary, get_storage_state
get_audio_state, get_output_state, get_timeline_summary, get_group_summary
get_storage_place_details, set_master, set_fade_value
通过生成组写入路径 SetGroupValue
发展
复制 uv sync
uv run python -m pytest -v # 67 tests
许可证
Apache 2.0