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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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