You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An MCP server for MADRIX LED lighting software. Exposes 108 tools covering storage/deck control, layer management, cue lists, timelines, groups, audio, output, global colors, ticker/BPM, and generated layer control families — all via the MADRIX Remote HTTP interface.
Make sure MADRIX Remote HTTP is enabled and reachable on the configured HTTP port.
For remote control:
use LAN or WireGuard, not the public internet
set MADRIX_HOST to the MADRIX machine
include that host in MADRIX_ALLOWED_HOSTS
Configuration
Variable
Default
Description
MADRIX_HOST
127.0.0.1
MADRIX instance IP
MADRIX_HTTP_PORT
80
MADRIX Remote HTTP port
MADRIX_REMOTE_PATH
/RemoteCommands/
MADRIX Remote HTTP command path
MADRIX_ALLOWED_HOSTS
127.0.0.1,localhost,::1
Comma-separated allowlist for target hosts. Set * to allow any.
MADRIX_SAFETY_PROFILE
lab
Safety preset: lab, show-safe, or read-only
MADRIX_READ_ONLY
0
Set to 1 for read-only mode
MADRIX_CONFIRM_DESTRUCTIVE
0
Set to 1 to require confirm=true on destructive actions
MADRIX_TIMEOUT_SECONDS
5.0
HTTP timeout
MADRIX_TRANSPORT
stdio
MCP transport (stdio, sse, streamable-http)
Architecture
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
Loading
Safety profiles
lab — read/write enabled, no extra destructive confirmation
This server is designed for live show environments where accidental writes can disrupt a running LED installation.
Host allowlisting — only 127.0.0.1, localhost, and ::1 are permitted by default. Add LAN hosts explicitly via MADRIX_ALLOWED_HOSTS. Set * to allow any host.
Read-only mode — set MADRIX_READ_ONLY=1 to block all write operations. Health, config, and read tools remain available.
Confirm-destructive gating — set MADRIX_CONFIRM_DESTRUCTIVE=1 to require confirm=true on destructive operations including SetBlackout, SetMaster, storage deck switches, and cue-list play changes.
Safety profiles — MADRIX_SAFETY_PROFILE gives you a sane starting point: lab (wide open), show-safe (destructive confirmation), or read-only (no writes).
Raw escape hatches — get_remote and set_remote allow any MADRIX Remote HTTP function, but are still gated by the same safety model.
Input validation — all tools validate parameters before any HTTP call is made. Invalid inputs return structured JSON errors, never raw exceptions.
Error isolation — all tools are wrapped in error handlers. Network failures, validation failures, and unexpected exceptions return {"ok": false, "error": "..."} instead of crashing the MCP session.
Live validation
Validated against a real MADRIX instance on 192.168.20.179:80: