ableton-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ABLETON_MCP_FIXTURE | No | `1` makes `npm start` serve fixture data without Live. | |
| ABLETON_MCP_CATALOG_PATH | No | NKS catalog database for preset search. | |
| ABLETON_MCP_SNAPSHOT_DIR | No | Saved track-state snapshots. | ~/.cavi/ableton-mcp/snapshots |
| ABLETON_MCP_BRIDGE_SOCKET | No | Bridge socket. Read by both the bridge inside Live and the server. | /tmp/cavi-ableton-mcp.sock |
| ABLETON_MCP_CONFIRMATION_DIR | No | Confirmation tokens for CLI `call`. | ~/.cavi/ableton-mcp/confirmations |
| ABLETON_MCP_BROWSER_METADATA_PATH | No | Tags and favorites for Live browser items. | ~/.cavi/ableton-mcp/browser-metadata.sqlite |
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 | {} |
| prompts | {
"listChanged": false
} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_presetsA | Search the optional local NKS preset catalog by name, across every product unless productSlug is given. Presets the last inventory did not find on disk are excluded. |
| get_presetA | Read one exact NKS preset catalog record. |
| get_preset_metadataA | Read user tags, favorite state, and revision for one preset. |
| set_preset_metadataB | Plan or update user tags and favorite state for one preset with an exact revision guard. |
| get_browser_item_metadataA | Read private MCP-managed tags, favorite state, and revision for one exact currently observed Live browser item. Does not read Live's native collections. |
| set_browser_item_metadataA | Plan or edit private MCP-managed browser tags and favorite state with exact Live item identity, revision, and single-use confirmation. Does not modify Live's native collections. |
| search_browser_item_metadataA | Search saved private browser item tags and favorites. Results are not reverified against current Live browser content and do not represent native Live collections. |
| get_live_stateA | Read Ableton bridge identity, capabilities, set file path, tempo, playback, and state version. |
| get_transport_contextA | Read transport playback, metronome, and count-in state. |
| set_transport_contextC | Plan or apply guarded metronome and count-in changes. |
| get_history_stateA | Read current Ableton undo and redo availability. |
| undoB | Plan or apply one guarded Ableton undo operation. |
| redoB | Plan or apply one guarded Ableton redo operation. |
| get_song_musical_contextA | Read key, scale, time signature, quantization, groove, swing, and Arrangement loop context. |
| get_live_scale_referenceA | Resolve one exact Ableton Live 12 scale and root to semitone intervals, pitch classes, note names, degrees, and scale family. Read-only. |
| list_live_scalesA | List Ableton Live 12 scale names with semitone intervals and musical families for exact scale selection. Read-only. |
| get_song_grid_referenceA | Read a signature-aware one-bar step map for straight 16ths, eighth triplets, and sixteenth triplets from current Live tempo and meter. Distinguishes the one bar downbeat, meter beat starts, and 4-denominator eighth offbeats; includes non-binding 4/4 hip-hop, house, and trap placements, perceived half-time versus actual tempo change, and related MCP tool references. No song edits. |
| plan_grid_envelope_patternA | Read current Live grid and return exact on/off Session clip envelope steps for a straight or triplet rhythm, including Beat Repeat Repeat. No Live edits. Supply the exact native on/off values; set_clip_parameter_envelope validates the destination clip and parameter before any write. Rejects grid/bar misalignment. |
| plan_drum_patternA | Plan explicit multi-lane drum notes against the current Live meter on a straight-sixteenth, eighth-triplet, or sixteenth-triplet grid. Supports per-lane accents without treating style examples as universal rules. |
| plan_drum_pattern_editA | Plan replacement of explicitly selected drum lanes and bars in an existing MIDI clip while preserving unrelated notes. Empty activeSteps clears that lane in the range. |
| plan_drum_variationB | Plan deterministic bounded timing and velocity humanization plus an optional explicit final-bar fill. Preserves unrelated notes and rejects collisions. |
| get_clip_groove_contextA | Read one native callback snapshot of exact clip/track names, MIDI note IDs and expression metadata or audio state, clip timing, complete Groove Pool and global musical context. Supports before/after validation of UI-only extraction and baking; does not execute them. |
| inspect_clip_groove_postconditionsA | Read current native context and inspect extraction or baking postconditions against a supplied pre-action get_clip_groove_context snapshot. Does not execute the UI action, prove provenance, or validate audible equivalence. Extraction expects one appended groove and unchanged source/timing; baking expects removed assignment and unchanged unrelated timing/shared context. |
| set_song_musical_contextC | Plan or apply guarded song key, scale, timing, quantization, groove, swing, or loop changes. |
| set_grooveA | Plan or apply guarded Groove Pool base-grid, name and percentage edits. Timing, random, pre-quantization use 0–100; velocity uses -100–100. Affects every clip using this shared groove; does not bake or extract a groove. |
| get_transport_recording_contextA | Read playhead and Arrangement, Session, and automation recording state. |
| set_transport_recording_contextB | Plan or apply guarded playhead and recording-mode changes. |
| list_arrangement_cue_pointsA | List Arrangement cue points with stable IDs and beat positions. |
| create_arrangement_cue_pointA | Plan or create an Arrangement cue point at an exact beat position. |
| rename_arrangement_cue_pointB | Plan or rename one exact Arrangement cue point. |
| delete_arrangement_cue_pointC | Plan or delete one exact Arrangement cue point. |
| jump_to_arrangement_cue_pointC | Plan or move the playhead to one exact Arrangement cue point. |
| list_tracksA | List stable Ableton track identities, mixer state, and existing group hierarchy. |
| list_scenesA | List stable Session scene identities, names, and per-scene launch quantization. |
| list_clipsA | List clip slots and clips on one exact track. |
| get_midi_clip_notesA | Read standard MIDI notes from one exact Session or Arrangement MIDI clip; Arrangement responses include timeline identity. |
| get_midi_clip_notes_extendedA | Read stable note IDs, probability, release velocity, deviation, and other per-note fields from one exact Session or Arrangement MIDI clip; Arrangement responses include timeline identity. |
| analyze_midi_clip_scaleA | Analyze one exact MIDI clip against the current Live key and scale. Returns per-note pitch names, scale degrees, chromatic note IDs, and bounded nearest in-scale correction candidates without editing notes. Read-only. |
| analyze_midi_clip_chordsA | Analyze sustained-note-aware chord events in one exact MIDI clip against the current Live key and scale. Returns deterministic chord candidates, inversions, Roman-numeral function, ambiguity, and chromatic pitch classes without editing notes. Read-only. |
| plan_scale_chord_progressionA | Plan exact MIDI notes for a scale-degree chord progression in the current Live key and scale. Supports functional harmony, block chords, grid-locked pulses, ascending or descending arpeggios, bounded register, and deterministic voice leading. |
| plan_scale_basslineA | Plan a deterministic scale-aware bassline from progression degrees in the current Live key. Places roots, root-octave motion, or roots with each chord's diatonic fifth on explicit straight or triplet grid steps. |
| plan_scale_melodyA | Plan an explicit scale-degree melody in the current Live key and meter on a straight or triplet grid. Omitted steps are rests; motifs can repeat deterministically. |
| plan_midi_humanizationA | Plan deterministic bounded timing and velocity humanization for exact MIDI note IDs. Preserves expression metadata and rejects new same-pitch collisions. |
| plan_midi_velocity_curveA | Plan exact crescendo, decrescendo, fixed, or repeating accent velocities across complete ordered MIDI onsets. |
| plan_midi_gate_patternA | Plan explicit repeating gate ratios across complete ordered MIDI onsets on a straight or triplet beat grid. |
| plan_midi_probability_patternB | Plan explicit repeating playback probabilities across complete ordered MIDI onsets. |
| plan_midi_ratchet_patternA | Plan explicit straight or triplet MIDI repeats across complete ordered onsets. |
| plan_midi_strum_patternB | Plan deterministic up, down, or alternating chord attacks while preserving every selected note end. |
| plan_midi_chord_inversionB | Plan deterministic octave rotation of complete chord onsets while preserving all non-pitch note state. |
| plan_midi_drop_voicingA | Plan deterministic drop-2, drop-3, or drop-2-and-4 voicings for complete chord onsets. |
| plan_midi_chord_voice_leadingA | Plan deterministic octave-only voice leading across complete chord onsets, anchored to the first chord. |
| plan_midi_chord_doublingB | Plan exact bass, top, or outer octave chord doublings across complete selected onsets. |
| plan_midi_chord_arpeggiationA | Plan deterministic up, down, up-down, or seeded-random arpeggiation of complete chord onsets. |
| plan_midi_transpositionA | Plan exact chromatic transposition of stable MIDI note IDs while preserving all non-pitch note state. |
| plan_midi_diatonic_transpositionA | Plan scale-degree transposition of exact in-scale MIDI note IDs using Live's current key and scale. |
| plan_midi_diatonic_harmonyA | Plan literal harmony voices above or below exact in-scale MIDI notes using Live's current key and scale. |
| plan_midi_scale_chord_remappingB | Plan complete chord onsets onto explicit degrees of Live's current scale while preserving chord intervals and expression. |
| plan_midi_diatonic_chord_qualityB | Plan complete selected onsets as scale-native, secondary-dominant, parallel-minor borrowed, suspended, added-tone, or altered-dominant voicings. Supports per-onset functions, recipes, inversions, voicing modes, and explicit scale-degree slash basses. |
| get_clip_timingA | Read clip loop, signature, launch quantization, and groove assignment for one exact Session or Arrangement clip; Arrangement responses include timeline identity. |
| set_clip_timingA | Plan or apply guarded clip loop, signature, quantization, and groove changes. |
| create_trackB | Plan or create an audio or MIDI track at an exact insertion index. |
| create_return_trackA | Plan or append a Return Track for shared send effects using Live's native bus API. Name is the raw label; Live prefixes the displayed return letter, and the result reports the observed display name. |
| create_sceneB | Plan or create a Session scene at an exact insertion index. |
| rename_session_objectA | Plan or rename an exact track, Return Track, scene, or Session clip. Return names are raw labels; Live prefixes the displayed bus letter. |
| duplicate_session_objectB | Plan or duplicate an exact track, Session scene, or clip, optionally naming a duplicated track. |
| delete_session_objectA | Plan or delete an exact track, Return Track, scene, or Session clip with explicit content authority. Return deletion discloses its devices and affected track-send lanes. |
| get_audio_clip_stateA | Read gain, pitch, warp, and marker state for one exact Session or Arrangement audio clip, including timeline identity for Arrangement clips. |
| get_audio_source_beat_timesA | Read native warped clip-beat positions for source-audio seconds. Uses Live's sample-to-beat converter, not interpolation from sparse warp markers; does not edit the clip. |
| propose_audio_transient_warpA | Analyze bounded source-audio onset candidates and propose review-only marker actions toward a beat grid using native Live source-to-beat conversion. Reports signed offsets from the clip-relative beat grid for every candidate, including candidates skipped for marker actions. Heuristic, source-only, no edit or audible validation; individually dry-run actions against current state before applying. |
| get_device_sidechain_routingA | Read exact native external-sidechain source type and channel choices for one loaded device. Reports unsupported explicitly; does not confuse device-sidechain routing with track input routing. |
| set_device_sidechain_routingA | Plan or apply one guarded native device-sidechain source type or channel change. Read refreshed channels after changing source type. Rejects unsupported devices and ambiguous choices; does not enable external sidechain automatically. |
| analyze_audio_fileA | Measure local source audio loudness, true peak, format, optional spectral peaks, spectrogram and monophonic pitch. Loudness measures the source stream; channel selection applies to optional analyses. Not Live processing or pitch correction. Requires ffmpeg and ffprobe. |
| analyze_audio_clipA | Measure an exact Session or Arrangement audio clip's local source file over a bounded window. Loudness measures the source stream; channel selection applies to optional analyses. Source-only, not rendered clip or track audio. |
| set_audio_clip_stateA | Plan or apply guarded audio-clip gain, pitch offsets, warp, and marker changes. Use beats for warped clips and seconds for unwarped clips; change warping separately from markers. |
| move_audio_warp_markerA | Plan or apply movement of an exact audio warp marker to a target beat. Preserves sample position; rejects neighbor crossing and the hidden terminal marker. |
| remove_audio_warp_markerA | Plan or apply deletion of an exact visible audio warp marker. Rejects the hidden terminal marker and stale clip state. |
| add_audio_warp_markerA | Plan or apply an audio warp anchor. Omit sampleTime to preserve playback timing; explicit sample positions are seconds. Live enforces sample bounds, neighbor ordering, and segment BPM limits. |
| quantize_audio_clipA | Plan or apply Live native quantization to one warped audio clip. Aligns warp markers with the selected grid, amount, and observed global swing; reads back native anchors. Requires unchanged audio state and swing. Live can adjust surrounding anchors. Does not quantize MIDI note ends. |
| crop_audio_clipA | Plan or apply Live native cropping of one exact audio clip. Preview reports the selected loop interval when enabled, otherwise start/end markers, in current units. Live may retain pre-loop playback material and creates a processed source. Selected interval is not a guarantee of exclusive source-file bounds. Binds audio and loop state and reads back native results. |
| duplicate_clipB | Plan or duplicate an exact occupied Session clip into an exact empty slot. |
| delete_clipA | Plan or delete one exact occupied Session clip. |
| duplicate_clip_loopB | Plan or duplicate the current loop region of one exact clip. |
| get_automation_capabilitiesA | Report exact supported and unsupported automation and per-note expression surfaces. |
| get_track_mixerA | Read bounded track volume, pan, mute, solo, and named return sends. |
| get_track_routingA | Read exact input, output, and monitoring choices for one track. Group Tracks expose monitoring as null because Live does not support it. |
| set_track_routingB | Plan or apply guarded track routing and monitoring changes by exact choice ID. |
| set_group_fold_stateB | Plan or apply the folded state of one exact existing group track. |
| route_tracks_to_busC | Plan or route existing tracks to one exact existing group bus using Live's available routing choices. |
| get_set_mixerA | Read master and return-bus mixer state. |
| list_producer_chain_blueprintsA | List deterministic producer starting points for ordered track, bus, return, mastering, and layered-instrument chains. |
| get_producer_chain_blueprintA | Return one ordered factory-device chain or shared-instrument-bus topology with exact browser paths, stage roles, execution tools, and explicit limitations. |
| inspect_producer_chainA | Read the devices on one exact track and compare their factory profiles and order with a named producer-chain blueprint. No devices are loaded or changed. |
| inspect_producer_busA | Read an existing Group Track, its ordered bus FX, child instrument identities, group membership and actual output routing against one layered-system blueprint. Reports mismatches without edits. |
| set_master_mixerC | Plan or apply guarded master mixer and available hardware output-channel changes. |
| move_deviceA | Plan or reorder one exact device within its current ordinary, Return, Main, or rack chain. Live may choose the nearest valid position; read actualPosition and the new device ID from the result. |
| list_arrangement_clipsA | Read timeline clip IDs, types, and start/end positions in beats for one track. |
| place_session_clip_in_arrangementB | Plan or copy a Session clip onto its track's Arrangement timeline. Rejects overlap with existing timeline material. |
| delete_arrangement_clipA | Plan or delete one exact Arrangement clip, preserving other timeline material. Requires current clip identity and confirmation; deletion is undoable in Live. |
| move_arrangement_clipA | Plan or move one exact Arrangement clip to a new beat position, preserving its span with staged copies, rollback, and an isolated undo step. Rejects collisions with other clips; self-overlap is supported. |
| duplicate_arrangement_clipA | Plan or duplicate one exact Arrangement clip at a non-overlapping beat position on the same track. Preserves the source and validates its identity again at the native write boundary. |
| create_audio_clipA | Plan or import a local audio file into one exact empty Session slot on an unfrozen audio track. The confirmed plan binds the source file identity, size, and modification time; Live validates the audio format. |
| set_return_mixerA | Plan or apply guarded return-bus volume, pan, mute, or solo changes. |
| list_factory_device_profilesA | List producer-oriented knowledge profiles for foundational Ableton factory devices. |
| get_factory_coverageA | Compare observed top-level Live factory browser devices with name-matched knowledge profiles. Reports missing profiles, not verified deep integration or all presets/Packs/plugins. |
| get_factory_device_contextA | Combine a loaded device's native parameters with matched factory knowledge and parameter-group coverage. For third-party PluginDevice instances, report exact Live-configured and currently writable control IDs; hidden plug-in state remains unavailable. |
| get_plugin_integration_contextA | Read product-aware integration state for a loaded supported third-party synth: Serum 2, Omnisphere, or VPS Avenger. Reports installed Live browser variants, preferred VST3 candidate, exact configured and writable parameter IDs, matching local NKS catalog coverage, product-specific preset-browser navigation, and explicit hidden-state/preset-recall boundaries. Read-only. |
| get_looper_performance_contextA | Read one native snapshot of a loaded Looper's State, Quantization, Monitor, Song Control, Tempo Control, all exposed parameters, global clip-launch quantization, track input/output routing, monitoring, and transport. Read-only; source readiness and audible outcome are not inferred. |
| get_beat_repeat_performance_contextA | Read one native snapshot of a loaded Beat Repeat's Repeat, Grid, Interval, Block Triplets, Mix Type, all exposed parameters and their display values, track routing, monitoring, and transport. Grid and Interval expose labels at their native integer positions; duplicate labels are not assumed equivalent, and quantized behavior is not inferred from this mapping. Read-only; no audible outcome is inferred. |
| get_factory_browser_itemsA | Browse one exact level of a Live factory browser root; optional offset and limit return a bounded child page. |
| load_factory_browser_itemA | Plan or load one exact factory browser item onto a guarded ordinary, Return, or Main track. |
| get_browser_itemsA | Browse one exact level of Live's factory, plug-in, Pack, Max for Live, project, or user-content browser. Supply offset and limit together to page large roots. |
| load_browser_itemC | Plan or load one exact Live browser item onto a guarded ordinary, Return, or Main track. |
| search_browser_itemsA | Search a bounded subtree of Live's browser and return exact paths usable by load_browser_item. |
| search_local_splice_samplesA | Search local downloaded Splice audio assets under an explicit directory. Read-only; not cloud catalog search, download, or sync. Returns exact local source paths for analyze_audio_file. |
| set_device_activeA | Plan or set the active state of one exact loaded device on an ordinary, Return, or Main track. |
| delete_deviceA | Plan or delete one exact loaded device from an ordinary, Return, Main, or rack chain. |
| get_device_hierarchyA | Read recursive rack chains, native chain mixer state, and populated Drum Rack pads for one device. |
| create_rack_chainA | Plan or create a named empty chain in an exact rack on an ordinary, Return, or Main track, including nested racks. Omitted index appends. Drum-pad assignment is separate. |
| set_rack_chain_mixerA | Plan or apply exact rack-chain volume, pan, mute, solo, and send levels using native ranges and guarded hierarchy state. |
| rename_rack_chainA | Plan or rename an exact rack chain with a guarded hierarchy snapshot. For return chains, name is a raw label; Live adds the return letter prefix. Use observed name for display, not verbatim restoration. |
| set_drum_pad_stateA | Plan or mute/solo an exact populated Drum Rack pad by MIDI note with a guarded rack snapshot. Does not assign sounds to pads. |
| set_rack_chain_note_routingA | Plan or reassign a Drum Rack chain to a MIDI pad note and optionally change its instrument output note. Occupied destinations layer chains rather than replace sounds. |
| move_device_to_chainA | Plan or move an exact device into a rack chain across ordinary, Return, or Main tracks, including nested destinations. Live may choose the nearest valid position; use the returned device ID and actualPosition. |
| get_clip_parameter_envelopeA | Sample one Session clip parameter envelope at exact beat positions. |
| list_devicesA | List loaded devices on one exact ordinary, Return, or Main track. |
| list_device_parametersA | List exact live parameter IDs, values, bounds, labels, and quantized choices. |
| capture_device_parameter_snapshotA | Capture exposed device parameters as persistable JSON, with a consistent live identity check. Not a native preset: excludes hidden plugin state, samples, automation and mappings. |
| capture_device_chain_snapshotA | Capture an ordinary, Return, or Main track's ordered top-level devices and exposed parameters as persistable JSON. Not a native rack or preset; excludes hidden plugin state, samples, automation, nested devices, and mappings. |
| recall_device_chain_snapshotA | Plan or recall exposed parameters and names onto the same exact compatible ordered device topology in one guarded Live undo step. Does not create, delete, or load devices and cannot restore hidden plugin state. |
| capture_track_state_snapshotA | Capture one consistent, persistable JSON snapshot of an existing track's mixer, routing, and exposed parameters for ordered top-level devices. Not a native track preset; excludes clips, nested devices, hidden state, samples, automation and mappings. |
| save_track_state_snapshotA | Capture one exact track state and save its JSON to the configured private local snapshot library under a new name. Never overwrites; excludes clips, nested devices, hidden plugin state, samples, automation and mappings. |
| load_track_state_snapshotA | Read a previously saved local track-state JSON capture for review and explicit guarded recall onto an already compatible track. Does not mutate Live. |
| recall_track_state_snapshotA | Plan or recall a captured track-state JSON snapshot onto the same exact compatible track topology. Restores track name, mixer, sends, routing and exposed top-level-device parameters in one guarded native undo step; does not load devices, clips, samples, hidden state, automation or mappings. |
| recall_device_parameter_snapshotA | Guarded recall of parameter JSON onto a matching native device class and exact ordered parameter layout. Supports ordinary, Return, and Main tracks; rejects incompatible bounds/choices and disabled changed controls. Does not restore hidden state. |
| set_device_parametersA | Plan or apply guarded bounded changes to exact loaded-device parameters on an ordinary, Return, or Main track. Native Looper State writes targeting Record or Overdub are flagged as recorded-content mutations: restoring a previous parameter value does not restore captured audio. |
| set_looper_stateA | Plan or request one exact native Looper State choice: Stop, Record, Play, or Overdub. Native execution rechecks the complete Looper, routing, and transport snapshot before writing State; result reports the immediately observed State parameter and whether it matches the target, not an audible or quantized-boundary outcome. Record/Overdub can mutate captured audio and cannot be rolled back by restoring a parameter value. This does not promise beat-scheduled execution; verify native quantization behavior separately. |
| set_beat_repeat_enabledA | Plan or request one exact native Beat Repeat Repeat choice, Off or On. Native execution rechecks the complete device, routing, and transport snapshot before writing Repeat and reports its immediately observed value. Does not promise beat-scheduled execution, a captured buffer, or an audible effect. |
| set_beat_repeat_gridA | Plan or request one exact native Beat Repeat Grid display division from get_beat_repeat_performance_context.gridChoices. Ambiguous or unavailable display labels fail closed. Native execution rechecks the complete device, routing, and transport snapshot before writing; observed parameter equality is reported, not an audible or beat-scheduled result. |
| set_beat_repeat_intervalA | Plan or request one exact native Beat Repeat Interval display from get_beat_repeat_performance_context.intervalChoices. Native integer-position labels are mapped without assuming a quantized parameter or scheduled trigger. Ambiguous or unavailable labels fail closed; execution rechecks the complete device, routing, and transport snapshot and reports immediately observed parameter equality, not an audible result. |
| create_midi_clipA | Plan or create a MIDI clip in an exact empty Session slot. |
| create_scale_chord_progression_clipC | Plan or create a functional scale-degree chord progression in one exact empty Session clip. Native execution independently rederives the signed harmony and verifies every generated note. |
| create_scale_bassline_clipB | Plan or create one scale-aware bassline in an exact empty Session clip. Binds the Live key, progression, rhythm, register, destination, and state version; native execution verifies every generated note. |
| create_scale_melody_clipA | Plan or create one exact scale-degree melody in an empty Session clip. Binds Live key, meter, grid, destination, and state; native execution verifies every generated note. |
| create_drum_pattern_clipA | Plan or create one exact multi-lane drum pattern in an empty Session clip. Binds current meter, tempo, grid, lanes, destination, and state; native execution verifies every generated note. |
| edit_drum_pattern_clipB | Plan or apply guarded replacement of selected drum lanes and bars in an existing MIDI clip. Preserves unrelated notes and verifies the complete native note set. |
| apply_drum_variationA | Plan or apply a guarded deterministic drum variation with exact native context and complete note readback. |
| humanize_midi_notesB | Plan or apply guarded deterministic MIDI timing and velocity humanization with exact clip, grid, and complete native note readback. |
| apply_midi_velocity_curveA | Plan or apply a guarded MIDI velocity curve while preserving timing, pitch, duration, probability, and expression metadata. |
| apply_midi_gate_patternB | Plan or apply guarded MIDI gate durations while preserving onset, pitch, velocity, probability, and expression metadata. |
| apply_midi_probability_patternB | Plan or apply guarded MIDI playback probabilities while preserving pitch, timing, velocity, mute, and expression metadata. |
| apply_midi_ratchet_patternA | Plan or apply guarded MIDI ratchets while preserving velocity, probability, mute, release velocity, and velocity deviation. |
| apply_midi_strum_patternA | Plan or apply guarded chord strumming while preserving pitch, velocity, probability, mute, release velocity, and velocity deviation. |
| apply_midi_chord_inversionA | Plan or apply guarded chord inversions with complete native note readback verification. |
| apply_midi_drop_voicingB | Plan or apply guarded chord drop voicings with complete native note readback verification. |
| apply_midi_chord_voice_leadingB | Plan or apply guarded chord voice leading with complete native note readback verification. |
| apply_midi_chord_doublingA | Plan or apply guarded chord doublings while preserving existing notes and verifying every native addition. |
| apply_midi_chord_arpeggiationB | Plan or apply guarded chord arpeggiation with stable native note IDs and complete readback verification. |
| apply_midi_transpositionA | Plan or apply guarded chromatic MIDI transposition with complete native readback verification. |
| apply_midi_diatonic_transpositionA | Plan or apply guarded scale-degree MIDI transposition bound to Live's current key and scale. |
| apply_midi_diatonic_harmonyA | Plan or apply guarded scale-aware harmony additions while preserving source notes and expression. |
| apply_midi_scale_chord_remappingB | Plan or apply guarded scale-aware chord remapping with optional bass voice leading and complete native readback. |
| apply_midi_diatonic_chord_qualityB | Plan or atomically apply guarded functional-harmony chord rebuilding with per-onset functions, recipes, inversions, voicing modes, slash basses, stable retained voices, and verified additions/removals. |
| set_clip_parameter_envelopeB | Plan or replace one Session clip parameter envelope with exact step data. |
| set_midi_note_propertiesB | Plan or apply guarded per-note timing, velocity, probability, mute, and pitch changes by stable note ID on one exact Session or Arrangement MIDI clip. |
| correct_midi_clip_to_scaleA | Plan or apply guarded pitch correction of exact chromatic MIDI notes into the current Live scale. Direction is explicit; equal nearest choices require an explicit tie break. Existing in-scale notes are never changed. |
| transform_midi_notesA | Plan or apply guarded quantize, legato, or duplicate transforms to exact MIDI note IDs on one exact Session or Arrangement MIDI clip. |
| panicB | Plan or stop Live playback immediately using the guarded panic operation. |
| transport_playB | Plan or start Ableton transport playback. |
| transport_stopA | Plan or stop Ableton transport playback. |
| set_tempoC | Plan or set song tempo within Live's accepted range. |
| set_track_mixerA | Plan or apply guarded track volume, pan, mute, solo, and return-send changes. |
| launch_sceneB | Plan or launch one exact Session scene. |
| launch_clipB | Plan or launch one exact Session clip slot. |
| stop_clipB | Plan or stop one exact Session clip slot. |
| arm_trackB | Plan or set the record-arm state of one exact track. |
| set_scene_launch_quantizationA | Plan or apply a guarded per-scene clip-launch quantization override from list_scenes. The global setting stays in song musical context; only the selected scene changes. |
| create_grooveA | Plan or create a new groove in Live's Groove Pool with an optional name. Adjust its base grid and amounts afterward with set_groove; groove deletion is not exposed by Live's public API. |
| get_track_midi_routingA | Read one track's native MIDI note routing (input/output notes and scale transposition) from its MIDIMap. Reports unsupported explicitly when Live does not expose it. |
| set_track_midi_routingA | Plan or apply guarded changes to one track's native MIDI input/output note and scale transposition. Affects every clip launched on the track; does not change device-level or rack-chain note routing. |
| get_track_freeze_stateA | Read one track's native freeze state. On the tested Live 12.4.5, is_frozen is readable but has no setter, so freeze/unfreeze remain UI-only; Live's native error surfaces if a future version exposes the setter. |
| set_track_freeze_stateA | Plan or toggle guarded track freeze. On the tested Live 12.4.5 the native is_frozen property has no setter, so execution fails closed with Live's own error; the plan still binds the observed state so newer Live versions can adopt the write without contract changes. Freezing renders the track's live material to audio and mutates audible content until unfrozen. |
| set_bulk_track_mixerA | Plan or apply guarded volume, pan, mute, and solo changes to multiple existing ordinary tracks in one confirmed step. Per-track values clamp to each observed native range; sends are unchanged. |
| stop_all_clipsA | Plan or stop every playing Session clip in one guarded step using Live's native stop-all action. Playback-only; does not delete or mute clips. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| session-overview | Survey the current Live Set: set file, tempo, key and scale, tracks, scenes, and undo availability. |
| produce-drum-pattern | Plan and write a drum pattern into an exact empty Session clip on the current meter and tempo. |
| harmonize-clip | Analyze a MIDI clip against the current Live key and correct or revoice it into scale. |
| build-producer-chain | Build a producer track chain from a named blueprint using factory browser loads and verify it. |
| arrangement-rework | Inspect and edit MIDI notes on a placed Arrangement clip with guarded transforms. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| nks://catalog/products | |
| nks://catalog/presets/{preset_id} | |
| nks://catalog/artwork/{artwork_id} | |
| ableton://live/status | |
| ableton://live/transport | |
| ableton://live/history | |
| ableton://set/musical-context | |
| ableton://set/mixer | |
| ableton://set/history | |
| ableton://set/tracks | |
| ableton://set/scenes | |
| ableton://track/{track_id}/mixer | |
| ableton://track/{track_id}/routing | |
| ableton://track/{track_id}/midi-routing | |
| ableton://track/{track_id}/freeze | |
| ableton://track/{track_id}/clips | |
| ableton://track/{track_id}/arrangement-clips | |
| ableton://track/{track_id}/clip/{clip_id}/timing | |
| ableton://track/{track_id}/clip/{clip_id}/audio | |
| ableton://track/{track_id}/clip/{clip_id}/notes | |
| ableton://track/{track_id}/devices | |
| ableton://device/{device_id}/parameters |
TDQS
Scored across 183 tools
Many tools are clearly distinct (e.g., list_tracks vs set_tempo), but there are numerous near-duplicate pairs like plan_midi_velocity_curve vs apply_midi_velocity_curve, or capture_track_state_snapshot vs save_track_state_snapshot, that could confuse an agent. The detailed descriptions help, but the sheer volume of 183 tools makes misselection likely without careful reading.
Names are mostly snake_case with a verb-first pattern, but the convention is mixed: some actions are split into plan_* and apply_* pairs, while others use a single verb like set_* that covers both planning and applying. Exceptions like panic, undo, redo, and transport_play break the noun/verb pattern slightly. It is readable but not fully consistent.
With 183 tools, the server is extremely over-scoped. Even for a complex DAW like Ableton Live, this many tools creates unreasonable context bloat and choice overload for an agent. The rubric explicitly marks 50+ as an extreme mismatch, and this is nearly four times that.
The tool surface covers an exceptionally broad range of Ableton Live functionality: tracks, devices, clips, automation, browser/presets, MIDI transformation, audio warp, transport, scenes, snapshots, routing, and specialized device contexts. There are no obvious dead ends; nearly every action has both planning and execution paths, and analysis/inspection tools are paired with mutating operations.