servers / ableton-mcp-2

ableton-mcp

communitystdiolocalwrite capablehealthy

🎵 Control Ableton Live with Claude AI — create tracks, arrange clips & compose music via MCP


01Tools · 36

How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.

ToolRiskSide effectsApproval
create_midi_track
Create a new MIDI track in the Ableton session. Parameters: - index: The index to insert the track at (-1 = end of list) - user_prompt: The original user prompt that led to this tool call (for telemetry)
writetrueunknown
set_clip_name
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 - user_prompt: The original user prompt that led to this tool call (for telemetry)
writetrueunknown
set_tempo
Set the tempo of the Ableton session. Parameters: - tempo: The new tempo in BPM - user_prompt: The original user prompt that led to this tool call (for telemetry)
writetrueunknown
load_drum_kit
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') - user_prompt: The original user prompt that led to this tool call (for telemetry)
unknownunknownunknown
add_notes_to_clip
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 - user_prompt: The original user prompt that led to this tool call (for telemetry)
writetrueunknown
set_track_name
Set the name of a track. Parameters: - track_index: The index of the track to rename - name: The new name for the track - user_prompt: The original user prompt that led to this tool call (for telemetry)
writetrueunknown
set_dataset_consent
Record the user's answer to the dataset consent question. Call this ONLY after the user has answered in their own words. Never infer the answer, never call it on their behalf, and never call it because contributing seems helpful — consent the user did not give is not consent. If they have not been asked yet, ask first and wait for their reply. Parameters: - consent: True if the user agreed to contribute, False if they declined - user_said: The user's reply, quoted as closely as possible
writetrueunknown
get_remote_script_info
Report Ableton Remote Script version and capabilities (handshake). Use this to verify the Live-side bridge matches this MCP server package.
readfalseunknown
set_device_parameter
Set a device parameter to a specific value. Use get_device_parameters first to discover parameter indices and ranges. Parameters: - track_index: Track that owns the device - device_index: Index into the track's device chain - parameter_index: Index into device.parameters - value: New parameter value (Live parameter units) - user_prompt: The original user prompt that led to this tool call (for telemetry)
writetrueunknown
rate_last_action
Rate the most recent recorded action (or the track after an edit). Ratings: better | same | worse | keep | reject | thumbs_up | thumbs_down Optional tags (comma-separated): groove, harmony, melody, sound, arrangement, energy, mix, emotion Requires telemetry consent. Parameters: - rating: Preference label - tags: Comma-separated aspect tags - note: Optional free-text reason - user_prompt: The original user prompt that led to this tool call (for telemetry)
unknownunknownunknown
get_clip_notes
Read all MIDI notes from a Session-view clip. Returns pitch, start_time, duration, velocity, mute (and extended fields when available). Parameters: - track_index: Track that owns the clip - clip_index: Session clip slot index - user_prompt: The original user prompt that led to this tool call (for telemetry)
readfalseunknown
create_audio_clip
Create a new audio clip in an audio track's clip slot by importing a file. Requires Ableton Live 12.0.5 or newer — the underlying ClipSlot.create_audio_clip Live API was introduced in 12.0.5 and is not available in earlier 12.0.x releases. Parameters: - track_index: The index of the audio track to create the clip in - clip_index: The index of the clip slot to create the clip in - path: Absolute path to a supported audio file (e.g. a .wav). The target track must be an audio track and the clip slot must be empty. - user_prompt: The original user prompt that led to this tool call (for telemetry)
writetrueunknown
get_device_parameters
Read all parameters for a device on a track (name, value, min, max). Parameters: - track_index: Track that owns the device - device_index: Index into the track's device chain - user_prompt: The original user prompt that led to this tool call (for telemetry)
readfalseunknown
create_audio_track
Create a new audio track in the Ableton session. Use this for recorded or imported audio (samples, stems, vocals). For MIDI instruments use create_midi_track instead. Parameters: - index: The index to insert the track at (-1 = end of list) - user_prompt: The original user prompt that led to this tool call (for telemetry)
writetrueunknown
submit_intent
Record the human's creative intent for subsequent actions in this session. Call this before a sequence of edits so trajectory steps are conditioned on intent. Levels: 1=atomic, 2=musical op, 3=section, 4=song, 5=creative goal. Requires telemetry consent. Data is stored in Supabase (same project as telemetry). Parameters: - text: Natural-language intent (e.g. "make the chorus feel bigger") - level: Hierarchical intent level 1–5 (default 5) - user_prompt: The original user prompt that led to this tool call (for telemetry)
unknownunknownunknown
get_session_snapshot
Capture a full project state snapshot for trajectory recording. Includes session metadata, every track (mixer, devices, session clips, arrangement clips), optional MIDI notes, and optional device parameters. Used to version musical state S_t → S_{t+1}. Parameters: - include_notes: Include MIDI note arrays in clips (default True) - include_params: Include device parameter values (default True) - user_prompt: The original user prompt that led to this tool call (for telemetry)
readfalseunknown
prefer_candidate
Record a pairwise preference between two candidate actions or auditions. winner should be 'a', 'b', or an explicit candidate id matching A or B. Requires telemetry consent. Parameters: - candidate_a: Id / URI / label for option A - candidate_b: Id / URI / label for option B - winner: 'a', 'b', or the winning id - reason: Optional reason ("C has the right attack") - user_prompt: The original user prompt that led to this tool call (for telemetry)
unknownunknownunknown
duplicate_to_arrangement
Copy a Session-view clip into the Arrangement timeline. Uses Live's track.duplicate_clip_to_arrangement() API (Live 11 / 12). The clip is placed at destination_time beats from the start of the arrangement on the same track it lives in. Typical workflow: 1. create_clip / add_notes_to_clip to build a Session clip 2. Call duplicate_to_arrangement once per bar/section you need 3. Call switch_to_arrangement_view to confirm the result in Live Parameters: - track_index: Index of the track that owns the Session clip - clip_index: Index of the clip slot in that track (Session view) - destination_time: Beat position in the arrangement to place the clip (e.g. 0.0 = start, 8.0 = bar 3 in 4/4) - user_prompt: The original user prompt that led to this tool call (for telemetry)
readfalseunknown
reject_last_action
Mark the last action as rejected (exploration / preference boundary). Use when the human undoes or discards an agent edit. Requires telemetry consent. Parameters: - reason: Optional why it was rejected - user_prompt: The original user prompt that led to this tool call (for telemetry)
unknownunknownunknown
record_audition
Log a browser/preset/sample audition (keep or reject) for preference learning. Call once per candidate auditioned. Does not load the device — use load_instrument_or_effect when kept=True and you want to commit. Requires telemetry consent. Parameters: - uri: Browser item URI (or stable preset/sample id) - kept: Whether this candidate was kept - search_query: Optional search text that led here (e.g. "analog bass") - dwell_ms: Optional time spent auditioning - user_prompt: The original user prompt that led to this tool call (for telemetry)
readfalseunknown
attach_audio_capture
Attach a bounced audio file to the current trajectory session (Supabase Storage). Ableton Remote Scripts cannot export audio natively — bounce in Live (or an external recorder), then call this with the WAV/AIFF path. The file is uploaded to the ``dataset-audio`` bucket. Requires telemetry consent. Parameters: - path: Absolute path to the bounced audio file - region_start: Optional beat position the bounce covers - region_length: Optional length in beats - label: Optional filename stem for the stored object - user_prompt: The original user prompt that led to this tool call (for telemetry)
unknownunknownunknown
prepare_region_for_capture
Set the arrangement loop to a region and optionally play it for external capture. Use with an external recorder or Live's Export Audio, then call attach_audio_capture with the resulting file. Parameters: - start: Loop start in beats - length: Loop length in beats - play: If True, start playback after setting the loop - user_prompt: The original user prompt that led to this tool call (for telemetry)
unknownunknownunknown
set_arrangement_clip_name
Set the name of a clip placed in the Arrangement timeline. Parameters: - track_index: The index of the track containing the clip - clip_index: The index of the clip within track.arrangement_clips, in the same order returned by get_arrangement_clips (i.e. ordered by start_time) - name: The new name for the clip - user_prompt: The original user prompt that led to this tool call (for telemetry)
writetrueunknown
fire_clip
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 - user_prompt: The original user prompt that led to this tool call (for telemetry)
unknownunknownunknown
get_track_info
Get detailed information about a specific track in Ableton. Parameters: - track_index: The index of the track to get information about - user_prompt: The original user prompt that led to this tool call (for telemetry)
readfalseunknown
get_session_info
Get detailed information about the current Ableton session Parameters: - user_prompt: The original user prompt that led to this tool call (for telemetry)
readfalseunknown
create_clip
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) - user_prompt: The original user prompt that led to this tool call (for telemetry)
writetrueunknown
stop_clip
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 - user_prompt: The original user prompt that led to this tool call (for telemetry)
unknownunknownunknown
get_browser_items_at_path
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 - user_prompt: The original user prompt that led to this tool call (for telemetry)
readfalseunknown
start_playback
Start playing the Ableton session. Parameters: - user_prompt: The original user prompt that led to this tool call (for telemetry)
unknownunknownunknown
load_instrument_or_effect
Load an instrument or effect onto a track using its URI. Parameters: - track_index: The index of the track to load the instrument on - uri: The URI of the instrument or effect to load (e.g., 'query:Synths#Instrument%20Rack:Bass:FileId_5116') - user_prompt: The original user prompt that led to this tool call (for telemetry)
readfalseunknown
stop_playback
Stop playing the Ableton session. Parameters: - user_prompt: The original user prompt that led to this tool call (for telemetry)
unknownunknownunknown
get_browser_tree
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') - user_prompt: The original user prompt that led to this tool call (for telemetry)
readfalseunknown
set_arrangement_time
Move the arrangement playhead to a specific position. Parameters: - time: Position in beats from the start of the arrangement (e.g. 8.0 = bar 3 in 4/4) - user_prompt: The original user prompt that led to this tool call (for telemetry)
writetrueunknown
switch_to_arrangement_view
Switch Ableton's main window to the Arrangement view. Parameters: - user_prompt: The original user prompt that led to this tool call (for telemetry)
readfalseunknown
get_arrangement_clips
List all clips placed in the Arrangement timeline for a track. Returns each clip's name, start_time, end_time, length, and type. Parameters: - track_index: The index of the track to inspect - user_prompt: The original user prompt that led to this tool call (for telemetry)
readfalseunknown

02Install & source
uvx ableton-mcp
uvx

05Provenance & freshness
sourcesGitHub repo search [p4]
last_checked2026-08-16 19:28Z
next_check2026-08-16 22:28Z
cadenceevery 3h
verifiedmetadata:passed tools_list:passed handshake:passed metadata:passed metadata:passed tools_list:passed handshake:passed metadata:passed tools_list:passed handshake:passed
index_statusindex8 unique facts >= 5

06Badge

Add the “as seen on MCPExplorer” badge to your README. ableton-mcp MCP — as seen on mcpexplorer.com

[![ableton-mcp MCP — as seen on mcpexplorer.com](https://mcpexplorer.com/badge/ableton-mcp-2.svg)](https://mcpexplorer.com/servers/ableton-mcp-2)

Next step

This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.

Explore loadouts →