Skip to main content
Glama
untitledxdamage

Ableton MCP for Live Intro

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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
get_session_infoA

Snapshot of the Live set: tempo, signature, transport, every track with its devices and clips (by slot), return tracks, master, scenes, selection.

set_tempoA

Set the song tempo in BPM (20-999).

set_time_signatureC

Set the song time signature, e.g. 4/4, 3/4, 6/8.

transportC

Transport control. 'undo'/'redo' use Live's own history; 'back_to_arranger' makes every track follow the Arrangement again after Session clips were launched.

set_song_optionsB

Metronome, arrangement loop (start/length in beats), playhead and record mode. song_time only moves the playhead while playing; while stopped use start_time (the position 'play' starts from).

get_track_infoB

Detailed info for one track (mixer, clips, device list with indexes).

create_trackC

Create a MIDI, audio or return track. index=-1 appends at the end.

delete_trackC

Delete a track or return track.

duplicate_trackB

Duplicate a track (with devices and clips); the copy lands right after it.

set_trackC

Change track properties. volume is 0.0-1.0 (0.85 = 0 dB, about 0.025 per dB near the top), pan -1 (L) to 1 (R), color_index 0-69 from Live's palette, sends is a list per return track (0.0-1.0, None leaves one unchanged).

get_routingC

Current and available input/output routings of a track (by display name).

set_routingC

Route a track by display name, e.g. input_type='Resampling' (records the master) or input_type='808' (records another track). See get_routing for options.

select_trackB

Select a track in Live's UI (shows its devices at the bottom).

create_clipB

Create an empty MIDI clip in a Session View slot. length in beats (4 = one 4/4 bar).

load_audio_clipA

Load an audio file (absolute path, WAV/AIFF/FLAC/MP3) into an empty Session View slot of an audio track.

arrangement_audio_clipA

Place an audio file (absolute path, WAV/AIFF/FLAC/MP3) directly on an audio track's Arrangement timeline at time beats (bar N starts at (N-1)*4 in 4/4), without going through a Session slot. The clip is created unwarped (natural speed).

set_audio_clipC

Audio clip playback. warp_mode: 0 Beats, 1 Tones, 2 Texture, 3 Re-Pitch (tape-style: pitch and speed move together), 4 Complex, 6 Complex Pro (check which your edition has). pitch_coarse in semitones (-48..48), pitch_fine in cents (-50..50), gain raw 0..1 (read gain_display).

add_notesB

Write MIDI notes into an existing clip. replace=True clears the clip first. Notes beyond the clip length are kept but won't play until the loop is extended.

get_notesC

Read all notes of a MIDI clip (e.g. something the user played) plus clip info.

remove_notesC

Delete notes inside a pitch/time window (defaults: the whole clip).

quantize_clipC

Quantize a clip's notes to a grid. amount 0-1 (1 = hard quantize).

set_clipC

Rename a clip, change its loop region (beats), looping on/off or color.

delete_clipC

Delete the clip in a slot.

duplicate_clipB

Copy a clip to another slot (overwrites the target). Good for making variations.

fire_clipB

Launch a clip (starts on the next launch-quantization boundary).

stop_track_clipsB

Stop whatever clip is playing on one track.

select_clipC

Highlight a clip slot in Live's UI so the user sees it in the clip view.

set_clip_automationB

Draw a clip envelope for a device parameter (e.g. an Auto Filter sweep). Points are steps: each holds value from time for duration beats; use many short steps for a smooth ramp. Values use the parameter's raw range.

create_sceneC

Add a scene (row). index=-1 appends at the bottom.

rename_sceneC

Rename a scene (e.g. 'Intro', 'Verso', 'Coro').

fire_sceneC

Launch every clip in a scene row.

duplicate_sceneC

Duplicate a scene with all its clips; the copy lands right below.

delete_sceneB

Delete a scene row and its clips.

get_device_parametersA

List every parameter of a device: index, name, raw value, min, max, the value as Live displays it (Hz, dB, ms...) and options for switch-type parameters. For a device nested inside a rack, pass chain + chain_device (see get_rack).

set_device_parametersA

Set several parameters at once: {"Frequency": 0.4, "Resonance": 0.3}. Keys are parameter names (or indexes as strings); values are raw numbers within min/max, or an option name for switch parameters. {"Device On": 0} bypasses it. Raw values are not always linear units: check the returned 'display' and adjust. Racks: pass chain + chain_device to reach a device inside a rack (see get_rack).

set_parameter_realA

Set a parameter in the units Live displays instead of raw values: Hz for frequencies (e.g. 150, 5000), dB for gains/thresholds, ms for times (seconds are converted), % for amounts. Finds the raw value by bisection without side effects. Prefer this over set_device_parameters for EQs, filters, compressors.

set_sidechainB

Read or set the sidechain source of a Compressor (or any device with its own input routing). source = a track name, e.g. a silent 'ghost trigger' track that plays short hits on the 808 notes; then set_device_parameters {"S/C On": 1}. Omit source to list the available sources.

delete_deviceC

Remove a device from a track's chain.

get_drum_padsC

List the filled pads of a Drum Rack (MIDI note -> sample name).

browseA

List the contents of a browser folder, e.g. 'instruments', 'drums', 'audio_effects/Delay & Loop', 'instruments/Drift'. First segment is the category.

search_browserB

Find loadable items (devices, presets, kits, samples) whose name contains query. Without a category it searches instruments, drums, effects and sounds.

load_deviceA

Load an instrument, effect, kit or preset onto a track (appended to its chain). Give an exact browser path (from browse/search_browser) or a query name like 'Reverb', 'Drift', 'EQ Eight', '808 Core Kit'. Call get_track_info afterwards to get the new device's index.

device_propertyB

Read (value omitted) or set a device property that is not an automatable parameter, e.g. Simpler 'voices' (1 = mono, needed for 808 glide).

get_rackB

Show the chains of a rack (Instrument/Drum/Audio Effect Rack; most presets are racks) and the devices inside each, to edit parameters the macros hide.

set_chainB

Mix one chain of a rack, e.g. a single Drum Rack pad (get_rack lists them): volume 0-1 like a track fader (0.85 = 0 dB, 1.0 = +6 dB), pan -1..1.

move_deviceB

Reorder a device in its chain (load_device always appends at the end, e.g. move an EQ in front of the master Limiter).

arrangement_placeA

Copy a Session clip into the Arrangement timeline at time beats (bar N starts at (N-1)*4 in 4/4). Use it to lay out a full song from scenes.

get_arrangement_clipsC

List the clips already on a track's Arrangement timeline (start/end in beats).

clear_arrangementB

Remove every clip from a track's Arrangement timeline (Session clips stay).

show_viewA

Show a view of Live's window ('Arranger', 'Session', 'Browser', 'Detail', 'Detail/Clip', 'Detail/DeviceChain') and optionally hide others, e.g. view='Arranger', hide=['Browser', 'Detail'] for a clean Arrangement.

navigate_viewB

Zoom or scroll a view like the arrow keys. In the Arranger, zoom 'left' zooms out in time (3 steps fit a ~64-bar song on a wide window) and scroll 'left' goes toward bar 1.

measure_levelsA

Poll Live's output meters while the set plays and return the peak and average level per track, return and master (Live meter scale 0-1; 0.917 is -0.3 dBFS, ~0.0125-0.015 units per dB near the top). Start playback first. This is the closest thing to listening: use it to balance and catch clipping.

pingA

Check the bridge is alive and report Live's version.

render_to_wavA

Render the Arrangement to WAV by recording in real time (Live has no export API). Default: the master mix to one file on the user's Desktop. With stems (track/return names, or ["all"]) it records one post-mixer file per track in a single pass into " - stems/" (mind Intro's 16-track limit: each stem adds a temporary track). end_bar=None renders to the last clip; tail_bars keeps reverb/delay tails. Files start exactly on the downbeat (latency pre-roll cut). The set must be saved once; the render saves it again (Live only releases new recordings on save). Takes as long as the music plays: returns immediately unless wait_seconds > 0; poll render_status until 'done'. Master renders include an analysis (LUFS, true peak, bands, per-section loudness); stems a level summary. Renders obey solo/mute: soloed tracks are reported in the result.

render_statusB

Progress of the current render; with wait_seconds, block up to that long.

analyze_audioA

Objective 'ears' for a WAV/AIFF/FLAC: integrated LUFS, sample and true peak, crest factor, clipping, spectral balance per band (dB relative to total), stereo and low-end (<150 Hz) correlation, loudness per section, and a 'texture' block for Foley/ambiences: contrast_db (p95-p10 of 50 ms RMS; a real fireplace ~25-30 dB, below ~10 dB reads as a wash/"falling water"), crackle_ratio (p99/median 50 ms energy; >= 4 for crackly textures) and tonal_peak_hz/tonal_prominence (a line > 3x its local median in a noisy ambience is a hum; on music it is just a note, so ignore it there).

reload_scriptA

Hot-reload the Remote Script inside Live after its source file was updated.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.9/5.0

Scored across 57 tools

Disambiguation3/5

The set covers many distinct Ableton resources, but several device-parameter and clip-placement tools overlap enough to cause hesitation. set_device_parameters, set_parameter_real, device_property, and set_sidechain all modify device state, while arrangement_audio_clip, arrangement_place, load_audio_clip, and create_clip differ mainly by context.

Naming Consistency3/5

Most tools use snake_case and an action_object pattern, but the convention is not uniform: transport, ping, browse, and device_property are noun/single-word tools, while others are verb_noun or noun_verb phrases. The names remain readable but are not fully predictable.

Tool Count1/5

57 tools is far beyond the typical 3-15 well-scoped range and exceeds the 50+ threshold for an extreme mismatch. Even for a complex DAW, this surface creates high selection cost and makes it hard to keep the set coherent.

Completeness4/5

The surface covers core Ableton workflows: transport, tracks, clips, scenes, devices, browser, arrangement, rendering, and audio analysis. Minor gaps remain, such as reading clip automation/envelopes or explicit master-track operations, but agents can mostly work around them.

Maintenance

ActivityMaintained
ResponsivenessNo issues