Skip to main content
Glama

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_infoB

Get detailed information about the current Ableton session

get_track_infoB

Get detailed information about a track.

Parameters:

  • track_index: Index of the track. For master, ignored (use track_kind='master').

  • track_kind: 'regular' (default), 'return' (return tracks A/B/...), or 'master'.

get_master_track_infoA

Convenience: get the master track's info (devices, volume, panning).

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_nameA

Set the name of a track.

Parameters:

  • track_index: Index of the track to rename (ignored for master)

  • name: New name

  • track_kind: 'regular' (default), 'return', or 'master'

create_clipA

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

Parameters:

  • track_index: The index of the track to create the clip in

  • clip_index: The index of the clip slot to create the clip in

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

add_notes_to_clipA

Add MIDI notes to a clip.

Parameters:

  • track_index: The index of the track containing the clip

  • clip_index: The index of the clip slot containing the clip

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

set_clip_nameA

Set the name of a clip.

Parameters:

  • track_index: The index of the track containing the clip

  • clip_index: The index of the clip slot containing the clip

  • name: The new name for the clip

set_tempoB

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: Index of the destination track (ignored for master)

  • uri: Browser URI of the device/instrument (from get_browser_tree / get_browser_items_at_path)

  • track_kind: 'regular' (default), 'return' (for return effects), or 'master' (for master chain)

fire_clipC

Start playing a clip.

Parameters:

  • track_index: The index of the track containing the clip

  • clip_index: The index of the clip slot containing the clip

stop_clipB

Stop playing a clip.

Parameters:

  • track_index: The index of the track containing the clip

  • clip_index: The index of the clip slot containing the clip

start_playbackA

Start playing the Ableton session.

stop_playbackA

Stop playing the Ableton session.

get_browser_treeA

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_pathB

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

load_drum_kitB

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

Parameters:

  • track_index: The index of the track to load on

  • 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_device_parametersA

List every tunable parameter on a device.

Returns each parameter's index, name, current value, min, max, and (for quantized parameters like enums) the available value items. Use this BEFORE set_device_parameter so you know which index to address and what range is valid.

Parameters:

  • track_index: Track containing the device (ignored for master)

  • device_index: Position of the device in the track's device chain (0 = first)

  • track_kind: 'regular' (default), 'return', or 'master'

set_device_parameterA

Set a parameter on a device to a specific value.

Value is clipped to the parameter's min..max if out of range. Call get_device_parameters first to discover the parameter index and valid range.

Parameters:

  • track_index: Track containing the device (ignored for master)

  • device_index: Position of the device in the track's device chain

  • parameter_index: Index of the parameter (from get_device_parameters)

  • value: New value (will be clipped to min..max)

  • track_kind: 'regular' (default), 'return', or 'master'

set_track_volumeA

Set a track's volume. Live uses a 0.0-1.0 normalized scale (0.85 ≈ 0 dB / unity).

Parameters:

  • track_index: Track to adjust (ignored for master)

  • volume: 0.0 (silence) to 1.0 (max). 0.85 is unity gain. Clipped to range.

  • track_kind: 'regular' (default), 'return', or 'master'

set_track_muteA

Mute or un-mute a track. track_kind: 'regular' (default) or 'return'. Master cannot be muted.

set_track_soloA

Solo or un-solo a track. track_kind: 'regular' (default) or 'return'. Master cannot be soloed.

set_track_armA

Arm or un-arm a track for recording. Fails on tracks that cannot be armed (e.g. group tracks).

delete_trackA

Delete a track from the session. DESTRUCTIVE — cannot be undone via MCP. On a trial license with save disabled, the track cannot be recovered.

delete_clipA

Delete a clip from a Session-view clip slot. No-op if the slot is empty.

delete_deviceA

Delete a device from a track's device chain.

Parameters:

  • track_index: Track containing the device (ignored for master)

  • device_index: Position in the chain

  • track_kind: 'regular' (default), 'return', or 'master'

create_audio_trackA

Create a new audio track in the session.

Parameters:

  • index: Position to insert the track. -1 = append at end (default).

set_track_panA

Set a track's stereo pan position.

Parameters:

  • track_index: Track to adjust (ignored for master)

  • pan: -1.0 = hard left, 0.0 = center, 1.0 = hard right. Clipped to range.

  • track_kind: 'regular' (default), 'return', or 'master'

set_track_sendA

Set how much of a track's signal is sent to a return track.

Send indices match the order of return tracks in the session (A=0, B=1, ...). Use get_session_info to see how many return tracks exist.

Parameters:

  • track_index: Source track

  • send_index: Which return to send to (A=0, B=1, etc.)

  • value: 0.0 (no send) to 1.0 (full send). Clipped to range.

import_audio_fileA

Load an audio file from disk into a Session-view clip slot on an audio track.

LIMITATION: Live's Python API cannot load arbitrary file paths directly. The file must be reachable through Live's browser — i.e., either under ~/Music/Ableton/User Library/ (always reachable) or inside a folder that's been added as a Place in Live's browser sidebar (the '+ Add Folder' button).

If the file isn't in a browser-reachable location, this returns a clear error explaining what to do. The fallback is always to drag the file into the slot manually from Finder.

Parameters:

  • track_index: Audio track to load into (must be an audio track)

  • clip_index: Empty Session-view clip slot index

  • file_path: Absolute path to the audio file (.wav, .aif, .mp3, etc.)

place_clip_in_arrangementA

Drop a Session-view MIDI clip onto the Arrangement timeline at a specific beat position.

The source Session clip is copied (not moved) — it remains in its slot and the new arrangement clip is an independent copy. Beat positions: position=0 is bar 1 beat 1, position=16 is bar 5 beat 1 (16 beats = 4 bars in 4/4), etc.

Currently MIDI tracks only. Audio tracks will raise an error.

Parameters:

  • track_index: Track to place the clip on (MIDI track only)

  • source_slot: Source Session clip slot index on the SAME track

  • position: Beat position on the Arrangement timeline (0 = start)

clear_arrangement_clipsA

Delete ALL arrangement clips from a track. Destructive — for redoing arrangement.

Parameters:

  • track_index: Track whose arrangement clips should be cleared

get_arrangement_clipsA

List all clips currently on a track's Arrangement timeline, with positions, lengths, and names.

Use this to verify arrangement work, find gaps, or confirm placements.

Parameters:

  • track_index: Track to inspect

set_locatorA

Add or update a named locator (section marker) at a specific beat position on the Arrangement timeline.

Use for section labels: "Intro", "Build 1", "Drop 1", "Break", "Drop 2", "Outro". If a locator already exists at this position, its name is updated.

Parameters:

  • position: Beat position (0 = start of song)

  • name: Label for the locator (e.g. "Drop 1")

clear_locatorsA

Delete ALL locators (cue points) from the song. Destructive — for redoing locator placement.

set_loopA

Set the Arrangement view loop region and toggle whether it's active.

Useful for previewing specific sections of the arrangement (e.g. just the drop, just the build).

Parameters:

  • start: Loop start position in beats

  • length: Loop length in beats

  • enabled: True to enable looping, False to disable

get_device_routingsA

Inspect available input routings for a device (used to discover sidechain sources).

Returns the available routing types and channels for the device, plus current selections. Use this BEFORE set_device_routing so you know what type/channel names are valid.

Parameters:

  • track_index: Track containing the device

  • device_index: Position in the chain

  • track_kind: 'regular' (default), 'return', or 'master'

set_device_routingA

Set a device's input routing (e.g., select a sidechain audio source).

For sidechain on Compressor/Gate: typical usage is to set the routing channel to another track's name (e.g., "5-Kick"). Names are matched case-insensitively via substring.

Call get_device_routings first to discover the exact type/channel names available.

Parameters:

  • track_index: Track containing the device

  • device_index: Position in the chain

  • routing_type_name: Routing TYPE name to match (e.g., "External Input"). Empty to skip.

  • routing_channel_name: Routing CHANNEL name to match (e.g., "5-Kick"). Empty to skip.

  • track_kind: 'regular' (default), 'return', or 'master'

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/farmhutsoftwareteam/ableton-mcp-extended'

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