Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
XR18_IPNoIP address of the XR18 mixer. Only needed if automatic discovery via /xinfo fails.
XR18_LOUD_DBNoThreshold in dB above which a level is considered loud (used in safety checks).
XR18_AUTOSAVENoSet to '0' to disable the automatic session-start backup. Default is '1' (enabled).
XR18_DATA_DIRNoDirectory where presets and logs are stored. Default: Documents\XR18-MCP on Windows, ~/XR18-MCP on macOS.
XR18_LR_MAX_DBNoMaximum allowed level in dB for the main LR bus (safety limit).
XR18_MAX_MUTESNoMaximum number of channels that can be muted at once (safety limit).
XR18_MAX_RAISE_DBNoMaximum allowed raise in dB for fader/level changes (safety limit).
XR18_MAX_GAIN_JUMP_DBNoMaximum allowed preamp gain jump in dB (safety limit).

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
mixer_statusB

Connection info: model, name, IP, firmware, guardrail limits and change count.

board_overviewA

Whole-board summary: every input with source, preamp gain/phantom, HPF, fader, mute, LR assign and active sends; buses, FX sends and returns, main LR and DCAs. Start here.

channel_detailB

Every setting of one strip (channel, aux, FX return, bus, FX send, LR or DCA) as shown by the mixer: config, preamp, gate, compressor, EQ bands, fader, sends, groups.

find_channelsA

Find strips whose name contains the query (case-insensitive). Empty query lists all named strips.

set_faderA

Set a fader (channel, aux, FX return, bus, FX send, main LR or DCA). Give db (absolute, -inf..+10) or delta_db (relative, e.g. -3).

set_muteB

Mute (muted=true) or unmute (muted=false) one or more strips.

set_sendB

Set the send level from a channel/aux/FX return to a bus (bus1-6, monitor mixes) or FX send (fxsend1-4). Give db or delta_db, and optionally the tap point (PRE = pre-fader, usual for monitors).

set_eqB

Parametric EQ. Channels/aux/FX returns have bands 1-4, buses and LR 1-6. Gain -15..+15 dB, freq 20..20000 Hz, Q 0.3..10. on=true/false (without band) switches the whole EQ.

set_hpfA

Channel high-pass (low-cut) filter, 20..400 Hz. Setting freq_hz also switches it on unless on=false.

set_gateC

Channel noise gate / expander. threshold -80..0 dB, range 3..60 dB, attack 0..120 ms, hold 0.02..2000 ms, release 5..4000 ms.

set_compressorB

Compressor on a channel, bus or main LR. threshold -60..0 dB, ratio 1.1..100 (snaps to 1.1/1.3/1.5/2/2.5/3/4/5/7/10/20/100), knee 0..5, makeup 0..24 dB, attack 0..120 ms, release 5..4000 ms, mix 0..100 %.

set_preampA

Mic preamp of a channel: gain -12..+60 dB (absolute or delta), 48 V phantom power, polarity invert. Phantom changes always need confirmation.

apply_changesA

Apply several changes at once as ONE undo step, e.g. rebalancing a monitor mix: [{target:'click', param:'send.level', dest:'bus2', delta:3}, {target:'bass', param:'send.level', dest:'bus2', delta:-2}].

setup_channelsA

Set up many input channels from an input list / stage plot in one go (one undo step): names, colours, HPF, preamp gain, phantom, USB source, LR assign, fader, pan.

setup_monitor_mixA

Build a monitor / in-ear mix on a bus in one step: sends = {source: dB} (e.g. {'vocal': 0, 'guitar': -6, 'click': -3}); sources not listed are left unchanged. Sets the tap point (default PRE-fader) for the listed sources, and optionally the bus name, colour and master fader.

read_metersA

Measure live levels for a few seconds (peak and average dBFS, 0 = clipping). scope 'channels' = channel strips, FX returns, buses, main LR; 'inputs' = raw mic/aux/USB inputs. Flags clipping, hot, low and silent signals.

gain_checkA

Gain-staging helper. Ask the musicians to play their LOUDEST part first, then run this. Measures channel peaks and suggests preamp gain changes to reach target_peak_db (default -12 dBFS). Suggests only - apply with set_preamp.

save_presetB

Save the whole board (all channel, bus, FX, routing and preamp settings) to presets/.json. Use names like 'song-3' or 'band-X-2026-09'. Overwrites a preset with the same name.

list_presetsA

List saved board presets (newest first).

diff_presetA

Show what differs between a saved preset and the current board (or another preset given as other). Answers 'what changed since ...'.

load_presetA

Restore a saved preset to the mixer (only differing parameters are written). Always needs confirm; the current board is auto-saved first and the load is one undo step.

snapshot_listA

List the mixer's internal snapshots (slots 1-64) that have a name.

snapshot_saveA

Save the current board into the mixer's internal snapshot slot 1-64 with a name (max 12 chars). Overwriting a named slot needs confirm.

snapshot_loadA

Load one of the mixer's internal snapshots (changes the whole board). Always needs confirm; the current board is auto-saved as a preset first so it can be restored with load_preset.

undoA

Revert the last change group(s) made through this assistant (restores the exact previous values).

change_historyB

Changes made through this assistant in this session, newest first.

osc_getA

Read any OSC address (e.g. /ch/01/eq/2/f) - returns the raw value and the mixer's own text readout. Escape hatch for settings the other tools don't cover.

osc_setA

Write a RAW OSC value (normalized 0..1 floats for levels/frequencies, ints for switches/enums, text for names). Prefer the dedicated tools. Guardrails still apply; system paths need confirm.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 28 tools

Disambiguation4/5

Each set_* tool targets a distinct parameter group, and the inspection tools are separated by scope (whole board vs single strip vs search). The main ambiguity is between external presets and internal snapshots, though descriptions clarify file vs slot storage.

Naming Consistency3/5

The set_* and snapshot_* groups are internally consistent, and most save/list/load tools follow verb_noun. However, top-level noun-style names like mixer_status, board_overview, channel_detail, and gain_check break the pattern, and setup_* plus apply_changes add another convention.

Tool Count4/5

28 tools is on the high side, but the XR18's full mixing surface—preamp, gate, EQ, compressor, sends, presets, snapshots, and metering—justifies nearly all of them. No tool feels redundant, so the count is comprehensive rather than bloated.

Completeness4/5

Core workflows are covered end-to-end: inspect the board, set processing, build monitor mixes, gain-stage, save/restore state, and undo changes. Some single-strip operations like individual name/color/pan and effect editing are only available via setup_channels or OSC, but the osc_get/osc_set escape hatch prevents dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues