Ableton MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| 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