AbletonMCP
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 |
|---|---|
| health_checkA | Check if Ableton Live is connected and responsive. |
| get_playback_positionA | Get the current playback position and transport state. |
| get_session_infoB | Get detailed information about the current Ableton session |
| get_track_infoC | Get detailed information about a specific track in Ableton. Parameters:
|
| get_track_colorC | Get the color of a track. Parameters:
|
| get_clip_colorA | Get the color of a clip. Parameters:
|
| get_scene_colorC | Get the color of a scene. Parameters:
|
| get_clip_loopC | Get the loop settings of a clip. Parameters:
|
| get_send_levelA | Get the send level from a track to a return track. Parameters:
|
| create_midi_trackB | Create a new MIDI track in the Ableton session. Parameters:
|
| create_audio_trackA | Create a new audio track in the Ableton session. Parameters:
|
| set_track_nameC | Set the name of a track. Parameters:
|
| set_track_muteA | Set the mute state of a track. Parameters:
|
| set_track_soloA | Set the solo state of a track. Parameters:
|
| set_track_armA | Set the arm (record enable) state of a track. Parameters:
|
| set_track_volumeA | Set the volume of a track. Parameters:
|
| set_track_panA | Set the panning of a track. Parameters:
|
| create_clipA | Create a new MIDI clip in the specified track and clip slot. Parameters:
|
| delete_clipA | Delete a clip from a clip slot. Parameters:
|
| get_clip_notesB | Get all MIDI notes from a clip. Parameters:
|
| add_notes_to_clipB | Add MIDI notes to a clip. Parameters:
|
| set_clip_nameB | Set the name of a clip. Parameters:
|
| set_tempoA | Set the tempo of the Ableton session. Parameters:
|
| load_instrument_or_effectC | Load an instrument or effect onto a track using its URI. Parameters:
|
| fire_clipA | Start playing a clip. Parameters:
|
| stop_clipB | Stop playing a clip. Parameters:
|
| start_playbackA | Start playing the Ableton session. |
| stop_playbackA | Stop playing the Ableton session. |
| get_device_parametersA | Get all parameters from a device on a track. Parameters:
|
| set_device_parameterA | Set a device parameter value. Parameters:
|
| get_all_scenesB | Get information about all scenes in the session. |
| create_sceneB | Create a new scene. Parameters:
|
| delete_sceneC | Delete a scene. Parameters:
|
| fire_sceneA | Fire (trigger) a scene to play all clips in that row. Parameters:
|
| stop_sceneA | Stop all clips in a scene. Parameters:
|
| set_scene_nameB | Set the name of a scene. Parameters:
|
| set_scene_colorA | Set the color of a scene. Parameters:
|
| duplicate_sceneC | Duplicate a scene. Parameters:
|
| delete_trackC | Delete a track. Parameters:
|
| duplicate_trackB | Duplicate a track with all its clips and devices. Parameters:
|
| freeze_trackB | Freeze a track (render all devices to audio for CPU optimization). Parameters:
|
| flatten_trackA | Flatten a frozen track (convert freeze to permanent audio). The track must be frozen first. Parameters:
|
| unarm_allA | Unarm all tracks in the session. Useful before recording to ensure only specific tracks will record. |
| move_device_leftA | Move a device one position to the left in the device chain. Parameters:
|
| move_device_rightA | Move a device one position to the right in the device chain. Parameters:
|
| set_track_colorA | Set the color of a track. Parameters:
|
| toggle_deviceA | Toggle a device on or off. Parameters:
|
| delete_deviceA | Delete a device from a track. Parameters:
|
| duplicate_clipA | Duplicate a clip to the next empty slot. Parameters:
|
| set_clip_colorB | Set the color of a clip. Parameters:
|
| set_clip_loopA | Set the loop settings of a clip. Parameters:
|
| remove_notesA | Remove notes from a clip within a specified range. Parameters:
|
| remove_all_notesB | Remove all notes from a clip. Parameters:
|
| transpose_notesA | Transpose all notes in a clip. Parameters:
|
| undoB | Undo the last operation in Ableton. |
| redoA | Redo the last undone operation in Ableton. |
| get_return_tracksA | Get information about all return (aux) tracks. |
| get_return_track_infoC | Get detailed information about a return track. Parameters:
|
| set_send_levelA | Set the send level from a track to a return track. Parameters:
|
| set_return_volumeA | Set the volume of a return track. Parameters:
|
| set_return_panB | Set the panning of a return track. Parameters:
|
| get_current_viewB | Get information about the current view state (selected track, scene, etc.). |
| focus_viewB | Focus a specific view in Ableton. Parameters:
|
| select_trackC | Select a track. Parameters:
|
| select_sceneC | Select a scene. Parameters:
|
| select_clipC | Select a clip slot. Parameters:
|
| start_recordingB | Start recording in Ableton. |
| stop_recordingB | Stop recording in Ableton. |
| toggle_session_recordC | Toggle session record mode. |
| toggle_arrangement_recordA | Toggle arrangement record mode. |
| set_overdubB | Set overdub mode. Parameters:
|
| capture_midiA | Capture MIDI that was played recently (like Ableton's Capture feature). |
| get_arrangement_lengthA | Get the length and loop settings of the arrangement. |
| set_arrangement_loopA | Set the arrangement loop region. Parameters:
|
| jump_to_timeA | Jump to a specific time in the arrangement. Parameters:
|
| get_locatorsA | Get all locators/cue points in the arrangement. |
| create_locatorA | Create a new locator/cue point. Parameters:
|
| delete_locatorC | Delete a locator. Parameters:
|
| get_track_input_routingB | Get the input routing of a track. Parameters:
|
| get_track_output_routingC | Get the output routing of a track. Parameters:
|
| get_available_inputsC | Get available input routing options for a track. Parameters:
|
| get_available_outputsC | Get available output routing options for a track. Parameters:
|
| set_track_input_routingA | Set the input routing of a track. Parameters:
|
| set_track_output_routingA | Set the output routing of a track. Parameters:
|
| get_cpu_loadA | Get the current CPU load of Ableton. |
| get_session_pathA | Get the file path of the current session. |
| is_session_modifiedA | Check if the session has unsaved changes. |
| get_metronome_stateA | Get the current metronome state. |
| set_metronomeA | Turn the metronome on or off. Parameters:
|
| get_scale_notesA | Get the notes in a musical scale. Parameters:
|
| quantize_clip_notesA | Quantize notes in a clip to a grid. Parameters:
|
| humanize_clip_timingA | Add random timing variation to notes in a clip for a more human feel. Parameters:
|
| humanize_clip_velocityA | Add random velocity variation to notes in a clip for a more human feel. Parameters:
|
| generate_drum_patternA | Generate a drum pattern and add it to a clip. Parameters:
|
| generate_basslineA | Generate a bassline pattern and add it to a clip. Parameters:
|
| get_browser_treeA | Get a hierarchical tree of browser categories from Ableton. Parameters:
|
| get_browser_items_at_pathA | Get browser items at a specific path in Ableton's browser. Parameters:
|
| load_drum_kitB | Load a drum rack and then load a specific drum kit into it. Parameters:
|
| get_master_infoA | Get information about the master track including volume, pan, and devices. |
| set_master_volumeA | Set the master track volume. Parameters:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 128 tools
Each tool targets a specific resource and action, with clear verb_noun naming that distinguishes between related operations (e.g., get_clip_notes vs. add_notes_to_clip vs. remove_notes). Even with 128 tools, there is no ambiguity—every tool has a distinctly defined purpose.
All tools follow a consistent lowercase snake_case convention, typically verb_noun or verb_noun_noun (e.g., create_audio_track, set_track_volume, get_clip_notes). There are no mixed conventions or cryptic abbreviations.
128 tools is far beyond the typical 3-15 range and exceeds the 50+ threshold for extreme mismatch. While the complexity of Ableton Live justifies many tools, this count feels overwhelming and could be streamlined by combining some parameterized getters/setters.
The tool surface covers nearly all core Ableton workflows: track/clip/scene management, device control, transport, browser, and performance tools. Minor gaps include lack of save/export functionality and arrangement-level automation, but the set is largely comprehensive.