Ableton MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_tempoA | Get the current tempo (BPM) of the Ableton session. |
| set_tempoA | Set the tempo of the Ableton session. Parameters:
|
| start_playbackC | Start playing the Ableton session. |
| stop_playbackA | Stop playing the Ableton session. |
| continue_playbackA | Continue playing the Ableton session from the current position. |
| trigger_session_recordB | Start Session Record mode — records all Session View clip launches and parameter changes into Arrangement View. This is the key method for capturing real-time performances. |
| set_song_timeA | Jump to a specific position in the song. Parameters:
|
| set_metronomeA | Enable or disable the metronome. Parameters:
|
| set_time_signatureA | Set the time signature. Parameters:
|
| undoA | Undo the last action in Ableton. |
| redoA | Redo the last undone action in Ableton. |
| create_audio_trackB | Create a new audio track. Parameters:
|
| create_midi_trackA | Create a new MIDI track. Parameters:
|
| create_return_trackA | Create a new return track (e.g., for reverb or delay sends). |
| create_sceneC | Create a new scene. Parameters:
|
| get_session_infoA | Get comprehensive info about the current Ableton session — tempo, track count, etc. |
| get_track_dataB | Query bulk data about multiple tracks and clips. Parameters:
|
| get_track_infoA | Get detailed info about a specific track — name, volume, mute, solo, devices, etc. Parameters:
|
| set_track_volumeA | Set track volume. Parameters:
|
| set_track_muteA | Mute or unmute a track. Parameters:
|
| set_track_soloB | Solo or unsolo a track. Parameters:
|
| set_track_panA | Set track panning position. Parameters:
|
| set_track_sendA | Set a track's send level (e.g., reverb or delay send). Parameters:
|
| set_track_armA | Arm or disarm a track for recording. Parameters:
|
| set_track_nameB | Rename a track. Parameters:
|
| set_track_colorA | Set track color. Parameters:
|
| fire_clipB | Fire (start playing) a clip in Session View. Parameters:
|
| stop_clipA | Stop a playing clip. Parameters:
|
| get_clip_infoA | Get detailed info about a clip — name, length, playing state, gain, pitch, etc. Parameters:
|
| set_clip_nameB | Set the name of a clip. Parameters:
|
| set_clip_gainA | Set the gain of a clip. Parameters:
|
| set_clip_pitchB | Set the pitch transposition of a clip. Parameters:
|
| set_clip_mutedA | Mute or unmute a clip. Parameters:
|
| set_clip_colorA | Set the color of a clip. Parameters:
|
| get_clip_notesB | Get all MIDI notes in a clip. Parameters:
|
| set_clip_notesA | Set MIDI notes in a clip (replaces existing notes). Parameters:
|
| create_clipB | Create a new empty MIDI clip in a clip slot. Parameters:
|
| delete_clipA | Delete a clip from a clip slot. Parameters:
|
| has_clipA | Check if a clip slot contains a clip. Parameters:
|
| fire_sceneA | Fire (trigger) a scene — launches all clips in the scene's row. Parameters:
|
| set_scene_nameC | Set the name of a scene. Parameters:
|
| set_scene_colorB | Set the color of a scene. Parameters:
|
| set_scene_tempoB | Set the tempo for a specific scene (scene-based tempo changes). Parameters:
|
| get_device_listA | List all devices (effects/instruments) on a track. Parameters:
Returns device names and their indices for use with parameter tools. |
| get_device_parametersA | List all parameters of a device with their indices and current values. Use this to discover parameter indices for set_device_parameter. Parameters:
|
| get_device_parameter_valueA | Get the current value of a specific device parameter. Parameters:
|
| set_device_parameterB | Set a device parameter value. This is the core automation primitive — controls filter frequency, reverb dry/wet, compressor threshold, etc. Parameters:
|
| set_device_enabledA | Enable or disable a device (bypass). Parameters:
|
| find_parameter_by_nameA | Find a device parameter index by searching for a substring in the parameter name. Useful for discovering parameter indices without manually inspecting all params. Parameters:
|
| clyphx_actionA | Send a raw ClyphX Pro action string. Use this for any ClyphX command not covered by the specific ClyphX tools below. Parameters:
Common actions: ADDAUDIO / ADDMIDI / ADDRETURN — create tracks {track}/LOADDEV "{name}" — load a device {track}/NAME "{name}" — rename track {track}/COLOR {n} — set track color {track}/VOL {n} — set volume (0-127) {track}/PAN {n} — set pan (0-127, 64=center) {track}/MUTE ON/OFF — mute/unmute {track}/SEND {letter} {n} — set send level {track}/IN "{name}" / OUT "{name}" — set routing BPM {n} — set tempo SIG {n}/{n} — set time signature METRO ON/OFF — metronome SREC — toggle session record |
| load_deviceA | Load an Ableton device (effect/instrument) onto a track using ClyphX Pro. This is the KEY capability that AbletonOSC alone cannot do. Parameters:
|
| clyphx_create_audio_trackB | Create a new audio track using ClyphX Pro. |
| clyphx_create_midi_trackB | Create a new MIDI track using ClyphX Pro. |
| clyphx_create_return_trackB | Create a new return track using ClyphX Pro. |
| set_track_routingB | Set track routing using ClyphX Pro. Parameters:
|
| setup_trackA | Set multiple track properties at once using ClyphX Pro. Parameters:
|
| discover_all_tracksA | List all tracks with their names and indices. Useful for building a mental model of the current session layout. |
| discover_all_clipsB | List all clips in a track's Session View slots. Parameters:
|
| discover_all_devicesA | List all devices on a track with their parameters. Full device discovery for understanding what can be automated. Parameters:
|
| test_connectionA | Test connectivity to both AbletonOSC and ClyphX Pro. Verifies that both bridges are working. |
| ramp_parameterA | Smoothly ramp a device parameter from one value to another over a specified number of beats. This is used for filter sweeps, reverb builds, compression changes, etc. Parameters:
|
| ramp_volumeA | Smoothly ramp track volume over a specified number of beats. Used for fade-ins, fade-outs, and dynamic volume changes. Parameters:
|
| ramp_sendA | Smoothly ramp a track's send level over a specified number of beats. Used for reverb/delay build-ups and decay. Parameters:
|
| drop_allA | Execute a "drop" — spike send levels for a reverb/delay wash tail, then mute all specified tracks. A common production technique for creating dramatic transitions. Parameters:
|
| build_effects_chainA | Load multiple effects onto a track in sequence via ClyphX Pro. Each effect load requires a delay for Ableton to initialize it. Parameters:
|
| build_session_templateA | Build a complete session template — creates tracks, loads effects, sets names/colors/volumes, and configures tempo. This is the the quickest way to set up a new session. Parameters:
Example track_config: {"name": "Sub/Pad", "color": 43, "effects": ["Auto Filter", "Reverb", "Chorus"], "volume": 80, "send_a": 40} |
| wait_beatsA | Wait for a specified number of beats. Useful for timing operations in a sequence of MCP tool calls. Parameters:
|
| delete_trackA | Delete a track by index. Parameters: track_index (0-based). |
| delete_sceneB | Delete a scene by index. Parameters: scene_index (0-based). |
| duplicate_trackB | Duplicate a track. Parameters: track_index (0-based). |
| duplicate_sceneA | Duplicate a scene. Parameters: scene_index (0-based). |
| stop_all_clipsA | Stop all playing clips in the session. |
| capture_midiA | Capture recently played MIDI notes into a new clip (Live 10+ feature). |
| tap_tempoA | Tap tempo — call repeatedly to set tempo by tap timing. |
| jump_to_prev_cueA | Jump to the previous cue point. |
| jump_to_next_cueB | Jump to the next cue point. |
| get_cue_pointsA | Get all cue points in the session (name + time pairs). |
| jump_to_cue_pointB | Jump to a cue point by name or index. Parameters: name_or_index — cue point name (string) or index (number) |
| set_or_delete_cueB | Set or delete a cue point at the current playback position. |
| re_enable_automationC | Re-enable any automation that has been overridden by manual changes. |
| set_loopA | Enable or disable the arrangement loop. Parameters: enabled (bool). |
| set_loop_startB | Set the arrangement loop start position in beats. |
| set_loop_lengthB | Set the arrangement loop length in beats. |
| set_arrangement_overdubC | Enable or disable arrangement overdub. |
| set_groove_amountB | Set the global groove amount (0.0 to 1.0). |
| set_punch_inC | Enable or disable punch in. |
| set_punch_outC | Enable or disable punch out. |
| set_record_modeC | Toggle arrangement record mode. |
| set_session_recordA | Set session record state directly (vs trigger_session_record which toggles). |
| get_num_tracksB | Get the total number of tracks. |
| get_num_scenesA | Get the total number of scenes. |
| get_track_namesB | Get names of tracks in range. -1 for end means all tracks. |
| export_song_structureA | Export full song structure (tracks, clips, devices, parameters) to a temp JSON file. |
| set_clip_trigger_quantizationA | Set the clip trigger quantization. 0=None, 1=8bars, 2=4bars, 3=2bars, 4=1bar, etc. |
| capture_and_insert_sceneA | Capture the currently playing clips into a new scene. |
| set_track_monitoringA | Set track monitoring state. 0=IN, 1=AUTO, 2=OFF. Parameters: track_index (0-based), state (0/1/2) |
| set_track_foldB | Fold or unfold a group track. Parameters: track_index (0-based), folded (bool). |
| delete_deviceB | Delete a device from a track. Parameters: track_index, device_index (0-based). |
| stop_track_clipsB | Stop all clips on a specific track. Parameters: track_index (0-based). |
| get_track_output_meterB | Get the current output meter level of a track (for visual feedback). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ursaayush/ableton-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server