eos-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EOS_HOST | Yes | IP/hostname of the machine running Eos | |
| EOS_VERBOSE | No | Set to '1' to log every OSC message to stderr | off |
| EOS_SEND_PORT | No | Eos's OSC RX port | 8000 |
| EOS_LISTEN_PORT | No | Local port to receive Eos's OSC TX feedback on | 8001 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| eos_fire_cueA | Fire a specific cue immediately, regardless of playback sequence (equivalent to selecting it and pressing Go, but works even if it's out of order). Args:
Returns confirmation text once the OSC message is sent. Eos does not send a synchronous acknowledgement, so success here means "the command was sent," not "the cue finished." Use eos_get_status to check playback position afterward. Example: cue_list=1, cue_number="5" fires cue 5 in cue list 1. |
| eos_goA | Press the [Go] button on a cue list, advancing to the next cue in sequence (the normal way a show runs, as opposed to eos_fire_cue which jumps to an arbitrary cue out of order). Args:
|
| eos_record_cueA | Record the current live state into a cue. This OVERWRITES existing cue data if the cue number already exists — Eos has no separate "confirm" step over OSC, so double-check the cue number before calling this on a real rig. Safe to experiment with on a test system. Uses the Eos command line under the hood (there's no dedicated OSC verb for recording), equivalent to typing "Record Cue / Enter" on the console. The target cue_list must already exist — Eos does not auto-create cue lists and will error with "Cue List Does Not Exist" otherwise (this includes cue list 1 on a genuinely blank show). If recording fails, create the list on the console first, or record the very first cue with a bare "Record Enter" via eos_send_raw_command (targets cue list 1/cue 1 by default), then retry numbered records into that list. Use eos_get_status afterward to check for an error in the command-line echo, since success here isn't guaranteed just because the OSC message was sent. Args:
Calls are also rate-limited to one per few seconds to guard against a runaway loop hammering Record. |
| eos_select_cueA | Select a cue on the command line without firing it — useful before eos_record_cue-style raw edits, or to inspect a cue before running it. Args:
|
| eos_set_channel_levelA | Set a channel's intensity level directly (0-100). This both selects the channel and sets its level in one call, equivalent to "Chan At Enter" on the console. Args:
Note: this affects Live output immediately. It does not get recorded into a cue unless you separately call eos_record_cue. |
| eos_select_channelA | Select a channel on the command line without changing its level. Use this before eos_adjust_parameter or eos_nudge_wheel, which act on whatever is currently selected. Args:
|
| eos_set_parameterA | Set a non-intensity parameter (pan, tilt, a color channel, zoom, etc.) to an absolute value for a specific channel — the OSC equivalent of dialing an encoder to a target value. Args:
Example: channel=12, parameter="pan", value=45 sets channel 12's pan to 45. |
| eos_nudge_wheelA | Simulate turning an encoder wheel by a relative number of ticks, for whatever channel/parameter is currently selected (use eos_select_channel first). This is the closest OSC equivalent to physically twisting a console knob, useful for live "nudge it a bit" adjustments rather than jumping to an absolute value. Args:
|
| eos_set_faderA | Set a fader in an OSC fader bank to a level. Requires the bank to already exist on the console (call eos_configure_fader_bank first if you haven't created bank_index yet — it only needs to be done once per session). Args:
|
| eos_configure_fader_bankA | Create (or re-page) an OSC fader bank so eos_set_fader can address it. Must be called once before using a given bank_index. Safe to call again to jump pages. Args:
|
| eos_send_raw_commandA | Escape hatch: send arbitrary text to the Eos command line, exactly as if it were typed on the keypad. Use this for anything the other tools don't cover (patch changes, group/preset creation, palette recording, "Sneak", etc.). Args:
The command is auto-terminated with Enter if you don't already end it with "#" or "Enter". Because this can do literally anything the console can do, treat it like you would typing directly on the desk — double-check destructive commands (Record, Delete, Update) before sending. Calls are also rate-limited to one per few seconds to guard against a runaway loop hammering the command line. |
| eos_fire_macroB | Run a saved macro by number (1-127). Args:
|
| eos_get_statusA | Read back recent OSC feedback Eos has sent (active cue, command line text, live/blind state, etc). Eos pushes this asynchronously — this tool returns whatever has arrived so far in this session, not a live query, so call it shortly after an action if you want to see its effect. Args:
Returns: JSON array of {address, args, receivedAt} entries. Empty array means either nothing has happened yet or Eos's OSC TX isn't reaching this server (check host/ports and that {OSC TX} is enabled on Eos). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ReynoldsProductions/ETC-EOS-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server