Skip to main content
Glama
zabolotniydj

Ableton MCP Extended

by zabolotniydj

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

Get detailed information about the current Ableton session

get_track_infoC

Get detailed information about a specific track in Ableton.

Parameters:

  • track_index: Track number (1-based).

create_midi_trackA

Create a new MIDI track in the Ableton session.

Parameters:

  • index: The index to insert the track at (-1 = end of list)

set_track_nameC

Set the name of a track.

Parameters:

  • track_index: Track number (1-based).

  • name: The new name for the track.

get_track_volumeA

Get the current fader volume and panning for a track.

Returns the raw normalized value, its min/max range, and the panning. Volume 0.85 = 0 dB unity gain. Use this before set_track_volume to understand the current state.

Parameters:

  • track_index: Track number (1-based). Return tracks come after session tracks.

set_track_volumeA

Set the mixer fader volume for a track directly.

This controls the actual track fader, not any device parameter.

Volume scale (normalized): 0.0 = silence 0.85 = 0 dB (unity gain, Ableton's default fader position) 1.0 = maximum (~+6 dB)

Parameters:

  • track_index: Track number (1-based). Return tracks come after session tracks.

  • volume: Normalized volume 0.0–1.0. Use 0.85 for unity (0 dB).

set_track_panningA

Set the mixer panning for a track.

Parameters:

  • track_index: Track number (1-based).

  • panning: -1.0 = full left, 0.0 = center, +1.0 = full right.

create_clipB

Create a new MIDI clip in the specified track and clip slot.

Parameters:

  • track_index: Track number (1-based).

  • clip_index: Clip slot number (1-based).

  • length: The length of the clip in beats (default: 4.0).

add_notes_to_clipB

Add MIDI notes to a clip.

Parameters:

  • track_index: Track number (1-based).

  • clip_index: Clip slot number (1-based).

  • notes: List of note dictionaries, each with pitch, start_time, duration, velocity, and mute.

set_clip_nameB

Set the name of a clip.

Parameters:

  • track_index: Track number (1-based).

  • clip_index: Clip slot number (1-based).

  • name: The new name for the clip.

set_tempoA

Set the tempo of the Ableton session.

Parameters:

  • tempo: The new tempo in BPM

load_instrument_or_effectA

Load an instrument or effect onto a track using its URI.

Parameters:

  • track_index: Track number (1-based).

  • uri: The URI of the instrument or effect to load (e.g., 'query:Synths#Instrument%20Rack:Bass:FileId_5116').

fire_clipB

Start playing a clip.

Parameters:

  • track_index: Track number (1-based).

  • clip_index: Clip slot number (1-based).

stop_clipA

Stop playing a clip.

Parameters:

  • track_index: Track number (1-based).

  • clip_index: Clip slot number (1-based).

start_playbackB

Start playing the Ableton session.

stop_playbackB

Stop playing the Ableton session.

get_browser_treeC

Get a hierarchical tree of browser categories from Ableton.

Parameters:

  • category_type: Type of categories to get ('all', 'instruments', 'sounds', 'drums', 'audio_effects', 'midi_effects')

get_browser_items_at_pathA

Get browser items at a specific path in Ableton's browser.

Parameters:

  • path: Path in the format "category/folder/subfolder" where category is one of the available browser categories in Ableton

list_external_pluginsA

List discovered external plugins (VST/AU), optionally filtered by name query.

Parameters:

  • query: Optional case-insensitive search string.

  • max_results: Maximum number of plugins to display.

  • refresh_cache: If True, force a rescan instead of using cached results.

load_external_pluginA

Load an external plugin onto a track by plugin name (no URI required).

Parameters:

  • track_index: Track number (1-based).

  • plugin_name: Plugin name to match (e.g., "FabFilter Pro-Q 3").

  • exact_match: If True, require exact normalized name match.

  • refresh_cache: If True, force a rescan before matching.

load_drum_kitA

Load a drum rack and then load a specific drum kit into it.

Parameters:

  • track_index: Track number (1-based).

  • rack_uri: The URI of the drum rack to load (e.g., 'Drums/Drum Rack').

  • kit_path: Path to the drum kit inside the browser (e.g., 'drums/acoustic/kit1').

get_arrangement_infoA

Get arrangement clips and transport state.

Parameters:

  • track_index: Track number (1-based). 0 = all tracks.

get_cue_pointsA

List all cue points (locators) with bar positions.

set_song_timeA

Jump playback to a position.

Parameters:

  • bar: Bar number (1-based). Takes precedence over beat.

  • beat: Beat position (0-based).

set_arrangement_loopA

Enable/disable arrangement loop and set region.

Parameters:

  • enabled: Whether loop is on.

  • start_bar: Loop start (1-based). Takes precedence over start_beat.

  • end_bar: Loop end (1-based). Used with start_bar to compute length.

  • start_beat: Loop start in beats.

  • length_beats: Loop length in beats.

jump_to_cue_pointC

Jump to a cue point.

Parameters:

  • direction: "next" or "prev"

  • name: Cue point name to jump to.

create_cue_pointA

Create a cue point at a position.

Parameters:

  • bar: Bar number (1-based).

  • beat: Beat position (0-based).

  • name: Name for the cue point.

delete_cue_pointA

Delete a cue point at a position.

Parameters:

  • bar: Bar number (1-based).

  • beat: Beat position (0-based).

create_arrangement_midi_clipB

Create an empty MIDI clip in the arrangement.

Parameters:

  • track_index: Track number (1-based).

  • start_bar: Start bar (1-based). Takes precedence over start_beat.

  • end_bar: End bar (1-based). Used with start_bar to compute length.

  • start_beat: Start position in beats.

  • length_beats: Clip length in beats.

  • name: Optional clip name.

create_arrangement_audio_clipA

Place an audio file as a clip in the arrangement.

Parameters:

  • track_index: Track number (1-based).

  • file_path: Path to the audio file.

  • start_bar: Start bar (1-based).

  • start_beat: Start position in beats.

duplicate_clip_to_arrangementC

Copy a session clip to the arrangement.

Parameters:

  • track_index: Track number (1-based).

  • clip_index: Session clip slot (1-based).

  • destination_bar: Destination bar (1-based).

  • destination_beat: Destination beat.

delete_arrangement_clipC

Delete an arrangement clip.

Parameters:

  • track_index: Track number (1-based).

  • clip_index: Clip position in arrangement (1-based).

  • clip_name: Clip name (alternative to clip_index).

set_arrangement_clip_propertyA

Set properties on an arrangement clip.

Parameters:

  • track_index: Track number (1-based).

  • clip_index: Clip position (1-based).

  • clip_name: Clip name (alternative to clip_index).

  • name: New clip name.

  • muted: Mute state.

  • color: Color (0x00RRGGBB).

  • looping: Loop on/off.

  • loop_start: Loop start in beats.

  • loop_end: Loop end in beats.

  • gain: Audio gain (0.0-1.0).

  • pitch_coarse: Semitone pitch shift (-48 to 48).

  • pitch_fine: Fine pitch shift (-50 to 49 cents).

  • warping: Warp on/off.

  • warp_mode: Warp mode (0-6).

set_ableton_viewA

Switch Ableton's main view.

Parameters:

  • view: View name. Options: Arranger, Session, Detail, Detail/Clip, Detail/DeviceChain, Browser.

control_arrangement_viewA

Control the arrangement view.

Parameters:

  • action: One of: zoom_in, zoom_out, scroll_left, scroll_right, follow_on, follow_off, collapse_track, expand_track.

  • track_index: Track number (1-based, for collapse/expand).

manage_clip_automationB

Create or clear automation envelopes on arrangement clips.

Parameters:

  • track_index: Track number (1-based).

  • clip_index: Clip position (1-based).

  • clip_name: Clip name (alternative to clip_index).

  • action: "create", "clear", or "clear_all".

  • parameter_name: Parameter to automate (e.g., "volume", "panning").

get_device_parametersA

List parameters for a device on a track.

Parameters:

  • track_index: Track number (1-based).

  • device_index: Device number on the track (1-based, default 1).

  • chain_index: Chain number inside a rack (1-based, 0 = no chain).

  • category: Filter by category name (returns detail for that category).

  • show_all: If True, return all parameters in detail mode.

Default mode returns a summary grouped by category with counts. Specify category or show_all=True for full parameter details.

set_device_parameterB

Set a device parameter value.

Parameters:

  • track_index: Track number (1-based).

  • device_index: Device number (1-based, default 1).

  • chain_index: Chain number inside a rack (1-based, 0 = no chain).

  • parameter_name: Parameter name, friendly alias, or partial match.

  • parameter_index: Parameter number (1-based, alternative to name).

  • value: Normalized value 0.0-1.0.

enable_deviceA

Enable (activate) a device on a track.

Parameters:

  • track_index: Track number (1-based).

  • device_index: Device number (1-based). Use 0 if using device_name.

  • device_name: Device name (alternative to device_index).

  • chain_index: Chain number inside a rack (1-based, 0 = no chain).

disable_deviceA

Disable (bypass) a device on a track.

Parameters:

  • track_index: Track number (1-based).

  • device_index: Device number (1-based). Use 0 if using device_name.

  • device_name: Device name (alternative to device_index).

  • chain_index: Chain number inside a rack (1-based, 0 = no chain).

get_chain_infoA

List chains in a rack device, or devices within a specific chain.

Parameters:

  • track_index: Track number (1-based).

  • device_index: Device number (1-based, default 1).

  • chain_index: Chain number (1-based) to drill into. 0 = list all chains.

get_drum_pad_infoA

List filled drum pads in a Drum Rack.

Parameters:

  • track_index: Track number (1-based).

  • device_index: Device number (1-based, default 1).

delete_deviceB

Delete a device from a track.

Parameters:

  • track_index: Track number (1-based).

  • device_index: Device number (1-based).

  • device_name: Device name (alternative to device_index).

get_track_deletion_statusA

Check whether session tracks can be deleted right now.

Returns a quick safety summary so agents can avoid attempting deletes when Ableton's minimum-track constraint would block them.

delete_trackA

Delete a track from the Ableton session.

Parameters:

  • track_index: Track number (1-based). Use 0 to resolve by name instead.

  • track_name: Track name (alternative to track_index). If both are given, track_index takes priority.

navigate_device_presetA

Navigate device presets (next/previous/current).

Parameters:

  • track_index: Track number (1-based).

  • device_index: Device number (1-based, default 1).

  • chain_index: Chain number inside a rack (1-based, 0 = no chain).

  • direction: "next", "previous", or "current".

get_clip_notesA

Read the MIDI notes of a Session clip.

Parameters:

  • track_index: Track number (1-based).

  • clip_index: Clip slot number (1-based).

clear_notes_from_clipA

Remove every MIDI note from a Session clip, leaving the clip in place.

Parameters:

  • track_index: Track number (1-based).

  • clip_index: Clip slot number (1-based).

replace_notes_in_clipA

Replace a clip's contents: clear every existing note, then write these.

add_notes_to_clip only appends. This clears first, so the clip ends up with exactly the notes given.

Parameters:

  • track_index: Track number (1-based).

  • clip_index: Clip slot number (1-based).

  • notes: Note dicts with pitch, start_time, duration, velocity, mute.

delete_clipA

Delete the clip in a Session slot, freeing the slot.

Parameters:

  • track_index: Track number (1-based).

  • clip_index: Clip slot number (1-based).

create_audio_trackB

Create a new audio track.

Parameters:

  • index: Insert position (-1 = end of list).

get_session_snapshotA

Dump the whole project state in one call: tracks, clips, devices, scenes, returns, master and cue points.

Parameters:

  • include_notes: Include MIDI notes of every clip (large output).

  • include_params: Include every device parameter (very large output).

set_track_muteB

Mute or unmute a track.

Parameters:

  • track_index: Track number (1-based). Return tracks come after session tracks.

  • mute: True to mute, False to unmute.

set_track_soloA

Solo or unsolo a track.

Parameters:

  • track_index: Track number (1-based).

  • solo: True to solo, False to clear.

set_track_armA

Arm or disarm a track for recording. Group and return tracks cannot be armed.

Parameters:

  • track_index: Track number (1-based).

  • arm: True to arm, False to disarm.

set_send_levelA

Set one send level from a track to a return track.

Parameters:

  • track_index: Track number (1-based).

  • send_index: Send slot (1-based; send 1 feeds return A, 2 feeds B, ...).

  • value: Normalized 0.0 (off) to 1.0 (max).

describe_device_apiA

Report what a device object actually exposes in the running build of Live.

Device-specific classes (WavetableDevice, SimplerDevice, ...) carry members that never appear in the parameter list. Use this to find them.

Parameters:

  • track_index: Track number (1-based).

  • device_index: Device number on the track (1-based).

  • chain_index: Chain number inside a rack (1-based, 0 = not in a rack).

get_wavetable_stateA

Read a Wavetable's modulation matrix, wavetable selection and voicing.

None of this appears in get_device_parameters - it lives on the WavetableDevice object itself.

Parameters:

  • track_index: Track number (1-based).

  • device_index: Device number on the track (1-based).

  • chain_index: Chain number inside a rack (1-based, 0 = not in a rack).

set_wavetable_propertyA

Set a Wavetable property that is not a device parameter.

Writable names: oscillator_1_wavetable_category / oscillator_1_wavetable_index oscillator_2_wavetable_category / oscillator_2_wavetable_index oscillator_1_effect_mode / oscillator_2_effect_mode (0=None 1=FM 2=Classic 3=Modern) filter_routing (0=Serial 1=Parallel 2=Split) mono_poly (0=Mono 1=Poly) poly_voices, unison_mode, unison_voice_count

Parameters:

  • track_index: Track number (1-based).

  • name: Property name from the list above.

  • value: Integer value.

  • device_index: Device number on the track (1-based).

  • chain_index: Chain number inside a rack (1-based, 0 = not in a rack).

add_wavetable_mod_targetB

Make a parameter a modulation target in Wavetable's matrix.

Reports which device parameters appeared as a result, which shows whether the matrix amounts become ordinary automatable parameters.

Parameters:

  • track_index: Track number (1-based).

  • parameter_name: Target parameter name (or use parameter_index).

  • parameter_index: Target parameter number (1-based).

  • device_index: Device number on the track (1-based).

  • chain_index: Chain number inside a rack (1-based, 0 = not in a rack).

set_wavetable_modulationA

Set one cell of Wavetable's modulation matrix.

Sources: amp_envelope, envelope_2, envelope_3, lfo_1, lfo_2, midi_note, midi_velocity, midi_mod_wheel, midi_pitch_bend, midi_channel_pressure, midi_random.

Live 11's API documented no setter for this; if this build has none the call reports that rather than failing silently.

Parameters:

  • track_index: Track number (1-based).

  • target_index: Matrix target index from get_wavetable_state.

  • source: Modulation source name.

  • value: Modulation amount.

  • device_index: Device number on the track (1-based).

  • chain_index: Chain number inside a rack (1-based, 0 = not in a rack).

get_clip_propertiesA

Read a Session clip's Clip-panel properties.

Covers Transpose, Clip Gain, Loop Position/Length, Start/End, warping and whether the clip is deactivated. Audio-only properties are omitted for MIDI clips rather than failing.

Parameters:

  • track_index: Track number (1-based).

  • clip_index: Clip slot number (1-based).

set_clip_propertyA

Set one property on a Session clip.

Writable names: name - clip name muted - True deactivates the clip (the "0" key in Live) color - clip colour as an integer pitch_coarse - Transpose in semitones pitch_fine - fine tune in cents looping - loop on/off loop_start / loop_end - Loop Position and end, in beats start_marker / end_marker - clip Start/End, in beats gain - Clip Gain (audio clips) warping - warp on/off (audio clips) warp_mode - warp algorithm (audio clips) velocity_amount - velocity-to-volume amount (MIDI clips)

Parameters:

  • track_index: Track number (1-based).

  • clip_index: Clip slot number (1-based).

  • property_name: One of the names above.

  • value: New value; type depends on the property.

get_scenesA

List every scene with its name, state and which clips it holds.

A scene is a row of the Session grid. Use this to see which clips would launch together.

fire_sceneA

Launch a scene: every clip in that row starts, and tracks whose slot in the row is empty are stopped.

Parameters:

  • scene_index: Scene number (1-based).

create_sceneA

Insert a new scene.

Parameters:

  • index: Position (1-based), or -1 to append at the end.

delete_sceneB

Delete a scene and everything in that row.

Parameters:

  • scene_index: Scene number (1-based).

duplicate_sceneA

Duplicate a scene, inserting the copy directly below it.

Parameters:

  • scene_index: Scene number (1-based).

set_scene_propertyA

Set a scene's name, colour, tempo or time signature.

Writable names: name, color, tempo, time_signature_numerator, time_signature_denominator.

Writing tempo or a time signature from the API also switches that scene control on, so no separate enable step is needed.

Parameters:

  • scene_index: Scene number (1-based).

  • property_name: One of the names above.

  • value: New value.

undoA

Undo the last action in Live.

redoA

Redo the last undone action in Live.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/zabolotniydj/ableton-mcp-fixed'

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