Skip to main content
Glama
fomoPhil
by fomoPhil

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
UAD_MCP_MODENoSafety mode: readonly, safe, or full.safe
UAD_MCP_WRITE_BURSTNoBurst size for the rate limit.20
UAD_MCP_SNAPSHOT_DIRNoDirectory for snapshot files.~/.uad-console-mcp/snapshots
UAD_MCP_MAX_MONITOR_DBNoHard ceiling on monitor level in dB.-6.0
UAD_MCP_MONITOR_WINDOW_DBNoTotal increase allowed inside the rolling window.10.0
UAD_MCP_WRITES_PER_SECONDNoGlobal write rate limit.10.0
UAD_MCP_MAX_MONITOR_STEP_DBNoLargest increase allowed in one call.6.0
UAD_MCP_ALLOW_READONLY_WRITESNoAllow writes to read-only properties (0 or 1).0
UAD_MCP_MONITOR_WINDOW_SECONDSNoLength of the rolling window in seconds.30.0

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
uad_get_statusA

Report engine, clock, sample rate, DSP load, every Apollo in the cascade and the effective safety limits. Use when: starting a session, before any write, or when something is not behaving and you need to know the clock, the sample rate or which safety mode is active. Not for: channel levels or meters - use uad_list_channels and uad_peek_meters.

uad_list_channelsA

List every strip across every unit, grouped by device, with name, I/O type, fader, mute, solo, pan, hidden and stereo link. Use when: you need to find a channel by name, or to see the current mix state before changing it. Not for: meter levels (uad_peek_meters) or plugin contents (uad_get_inserts).

uad_set_channelsA

Batch-set channel state. Each item: {target: name or index, device?, kind?, fader_db?, pan?, pan2?, mute?, solo?, solo_safe?, name?, hidden?, stereo?, enabled?}. Every item reports resolved {device,index,name} and per-property {verified, before, after, warnings}. Use when: changing faders, mutes, solos, pans, names or visibility on one or many channels at once. Not for: the control-room monitor (uad_set_monitor), preamp gain (uad_set_preamp) or send levels (uad_set_sends).

uad_set_preampA

Set preamp controls on one mic/line input: gain_db, pad, low_cut, phase, hi_z, source ('Mic' or 'Line'), and 48V phantom power. Use when: setting recording gain or input options on a channel whose has_preamp is true. 48V requires confirm_condenser_mic=true because phantom power destroys ribbon microphones. Not for: fader level (that is uad_set_channels fader_db) or digital inputs, which have no preamp at all.

uad_set_sendsA

Batch-set send levels into aux and cue buses. Each item: {target, send: 'aux1' | 'cue1'... or index, device?, level_db?, pan?, bypass?}. Use when: building a performer's cue/headphone mix or feeding a reverb aux. Not for: the headphone output level itself, which this protocol cannot set - see uad://limitations.

uad_set_monitorA

Set the control-room monitor: level_db (hard-railed), dim, mute, mono fold, alt speaker selection, dim attenuation. Unmuting, un-dimming and LOWERING dim_attenuation_db are all treated as level events and can be refused; level_db is written first and the release is railed against the level the engine reports back. Use when: changing what the control room hears, or recovering after uad_safe_state. Not for: headphone level - the protocol cannot set it; see uad://limitations.

uad_talkbackA

Turn talkback on or off and set its level, with an auto-off timer (default 30 s) so an open talkback mic cannot be forgotten. Calling it again replaces the timer. Use when: the engineer needs to speak to the live room. Not for: routing the talkback mic or choosing which mic it is - that is set in Console.

uad_safe_stateA

Panic button: mute every monitor output and turn talkback off. Takes no arguments and needs no confirmation. Use when: there is feedback, a runaway level, or anything unexpectedly loud. Call it first and diagnose afterwards. Not for: normal muting of a single channel - use uad_set_channels.

uad_set_clockA

Change the clock source (Internal, Word Clock, ADAT, S/PDIF), verify ClockLocked afterwards, and revert automatically if the new source does not lock. Use when: slaving to or from external digital gear, or recovering from an unlocked clock. Requires confirm=true and refuses while audio is flowing. Not for: changing the sample rate - that is uad_set_sample_rate.

uad_set_sample_rateA

Change the system sample rate (e.g. 44100, 48000, 96000). Requires confirm=true and refuses while audio is flowing, because every running stream will glitch. Use when: a session needs a different rate, or to match an external clock master. Not for: fixing a lock failure on its own - check the clock source first with uad_get_status.

uad_list_pluginsA

List the installed UAD plugin catalog: name, categories, Unison capability, authorization status. Filterable and limited by default. Use when: choosing a plugin to load, or checking whether one is authorized. Not for: what is currently loaded on channels - that is uad_get_inserts.

uad_get_insertsA

Show what is loaded where: every insert slot plus the Unison slot, with plugin name, power state and preset, across one channel or all of them. Use when: auditing a channel's processing chain or finding a free slot. Not for: parameter values inside a plugin - use uad_get_plugin_params.

uad_load_pluginA

Load a UAD plugin into an insert slot (slot=0,1,2,3...) or the Unison preamp slot (slot='unison'), then poll up to 5 s for its parameter nodes to materialize and report whether they did. Use when: adding processing to a channel. Optionally recall a preset in the same call. Not for: changing parameters (uad_set_plugin_params) or clearing a slot (uad_remove_plugin).

uad_remove_pluginA

Clear an insert or Unison slot by writing an empty EffectName, and report what was removed. Use when: freeing DSP or removing processing from a channel. Not for: bypassing a plugin while keeping it loaded - set its Power instead via uad_load_plugin(power=false) on the same slot.

uad_get_plugin_paramsA

List a loaded plugin's parameters with their names, normalized 0-1 values and the engine's own display text. Use when: you need the exact parameter names before setting them, or to read back what a preset did. Not for: an empty slot - parameter nodes only exist once a plugin is loaded.

uad_set_plugin_paramsA

Batch-set a loaded plugin's parameters by name using normalized 0-1 values: params=[{name: 'Peak Reduction', normalized: 0.4}, ...]. Use when: dialling in a plugin after loading it. Read uad_get_plugin_params first for exact names and current values. Not for: dB or Hz values - the protocol exposes normalized values only; the display text is read-only.

uad_plugin_presetA

Recall a preset by name into a loaded plugin slot, validated against that plugin's preset browser when the engine lists it. Use when: a named factory or user preset is a faster starting point than setting parameters. Not for: channel-strip or Console session presets, which this server does not manage - see uad://limitations.

uad_peek_metersA

One-shot meter read (level, peak, clip) for all channels or a named subset, with at-floor channels called out. Use when: checking whether signal is arriving, or which channel is hot right now. Not for: waiting for signal to appear - use uad_watch_meters, which polls and exits early.

uad_watch_metersA

Poll meters for up to duration_s (capped at 30 s) and return as soon as any watched channel exceeds threshold_db, reporting per-channel peaks. Use when: verifying that a source is live, setting gain against a performance, or hunting an intermittent signal. Not for: long-term monitoring - it is capped at 30 s per call by design.

uad_snapshotA

Whole-rig snapshots: action='save' captures every writable property, 'list' shows what is saved, 'diff' reports what changed since one (ignore accepts glob patterns), 'restore' writes one back in a safe order. Restore defaults to dry_run=true and returns the exact ordered write list. Use when: saving a session state before experimenting, seeing what drifted, or putting a known-good state back. A real restore captures a pre-restore snapshot first. Not for: Console sessions or plugin scenes, which this server cannot touch.

uad_raw_getA

Read any node or property in the engine tree verbatim, with its metadata. Use when: a tool does not cover something and you need to inspect the tree, or to confirm a property's type, range or enum values. Not for: writing - that is deliberately separate and only available in full mode.

Prompts

Interactive templates invoked by user choice

NameDescription
setup_vocal_trackingSet up an input for vocal tracking: gain, 48V safety, cue mix, plugins.
onboard_adat_expanderAdd an ADAT expander: clock master, sample rate, naming, verification.
troubleshoot_clockDiagnose no-signal digital inputs and clock lock failures.
panic_resetFeedback or a runaway level: get safe first, diagnose second.

Resources

Contextual data attached and managed by the client

NameDescription
Apollo rig stateLive uad_get_status payload: clock, sample rate, DSP, devices, safety limits.
Apollo channel listLive uad_list_channels payload for every input, aux and output.
What this server cannot doThe cannot-do list with the workaround for each item.

Latest Blog Posts

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/fomoPhil/uad-console-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server