ableton-mcp
Supports optional production specialist roles backed by installed Ollama models, enabling separate creative and functional model contexts while retaining confirmation guards for Live changes.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ableton-mcp Show me the devices on my selected track."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ableton-mcp
Local-first Ableton Live control for MCP clients. It has three parts: a Remote Script bridge that runs inside Live, a stdio MCP server, and an ableton-mcp CLI. Every change to the Live Set is planned first and runs only with a single-use confirmation.
Install
Requirements: macOS, Ableton Live 12 (tested with 12.4.6), Node.js 22.13 or newer, and ffmpeg for the audio analysis tools.
npm install -g @cavi-ai/ableton-mcp
ableton-mcp installIn Live's preferences, select CaviMcpBridge as a Control Surface. Then check the connection:
ableton-mcp doctor --jsonTo update, run the same npm install -g command, then ableton-mcp install, and restart Live so the bridge matches the server.
To run from a source checkout instead, clone the repository, run npm ci, and use npm run cli -- in place of ableton-mcp.
Related MCP server: ableton-agent-mcp
Quickstart
Register the stdio server with your MCP client:
{
"mcpServers": {
"ableton": {
"command": "ableton-mcp",
"args": ["serve"]
}
}
}If your client does not inherit your shell's PATH, use the absolute path printed by which ableton-mcp.
Or call tools from the shell:
ableton-mcp status --json
ableton-mcp call list_devices --args '{"trackId":"track-0"}' --jsonFind workflow guidance before choosing individual tools:
ableton-mcp call get_producer_workflow --args '{"query":"silent part","limit":3}' --jsonSearch returns keyword candidates with their required arguments. Retrieve a chosen reference by its exact workflow name and named string arguments. Searching and reading guidance do not execute Live operations.
To try client wiring without Live, run ABLETON_MCP_FIXTURE=1 ableton-mcp serve.
For a smaller initial tool catalog, set ABLETON_MCP_TOOL_PROFILE=core in the MCP server's environment. It advertises 63 common tools instead of the full catalog. Use the default all profile when an agent needs the complete MIDI, audio, rack, or snapshot toolset; restart the server after changing profiles. The CLI's direct call command remains independent of the discovery profile.
What it does
For separate creative and functional model contexts, configure optional production specialists. ABLETON_MCP_TOOL_PROFILE=producer exposes twelve tools, with detailed context and durable session history stored in private artifacts. Each role can use the local model served by an mlx-agent gateway, an installed Ollama model, a configured ACP agent or an explicitly enabled API client for Claude, Codex, OpenClaw, Hermes, OpenCode or AGY; Live changes retain their existing confirmation guards.
Reads: transport, tempo, key and scale, quantization, grooves, cue points, tracks, scenes, clips, notes, clip envelopes, devices and parameters, mixer and routing, rack hierarchies, and the Live browser.
Guarded mutations: track, scene and clip lifecycle, device loading and parameters, MIDI note editing, mixing and routing, undo and redo, and panic.
Music helpers: scale-aware chords, basslines, melodies, voicings, arpeggios, strums, drum patterns, humanization and velocity curves.
Audio analysis: loudness, true peak, spectrum, pitch, transients and tuning of local audio files.
Optional NKS preset catalog: search, tags and favorites for presets discovered from your plug-in libraries.
It publishes 329 tools, 9 concrete resources, 13 resource templates and 89 prompt templates. When Live's Remote Script API doesn't expose something, such as Arrangement automation, the tool reports that boundary and fails closed.
Documentation
Configuration
Variable | Default | Purpose |
|
| Bridge socket. Read by both the bridge inside Live and the server. |
| unset | NKS catalog database for preset search. |
|
| Tags and favorites for Live browser items. |
| Existing macOS | Override with a JSON array of absolute local Splice folders. Set |
|
| Confirmation tokens for CLI |
|
| Saved track, device-chain, group-system, and MIDI-feel snapshots in separate subdirectories. |
| unset |
|
|
|
|
Security
The bridge listens on a Unix domain socket and opens no TCP port. Live Set mutations require an observed state version, return a dry-run plan by default, and execute only with a 60-second, single-use token bound to the plan's hash. See the security model and SECURITY.md.
Tests
npm test
npm run eval:core
npm run verify:packagenpm test runs the pipeline and server suites, the bridge's Python tests, and the docs tests. eval:core checks the compact MCP catalog and read-only tool behavior with MCP Eval. ImageMagick 7 (magick) and ffmpeg must be installed. verify:package packs the npm tarball, installs it into a temporary project, and drives the installed CLI and server.
Readiness scoring also requires a running Live bridge, a configured preset catalog, and available MIDI clips, audio sources, and devices. The manifest gate and readiness score are reported separately.
For model-driven mixer, MIDI, device and reconnect/resume checks against a saved scratch Set, see workflow validation.
Project status
See GitHub Releases and the changelog for released versions and changes. The tool surface can still change before 1.0.
Contributing
See CONTRIBUTING.md.
License
The code and the generic example artwork are MIT licensed. Third-party product names belong to their owners. No vendor artwork, logos or presets are included, and no endorsement is implied.
Available Tools
328 toolsadd_audio_warp_markerADestructive
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.
Inputs: clipId (required), trackId (required), beatTime (required), expectedStateVersion (required), +4 more. Returns: object
adjust_rack_macro_countADestructive
Plan or invoke one native add/remove macro action on an exact rack, then report the observed count. Removal is refused while any macro mapping exists because Live does not expose the affected mapping target.
Inputs: action (required), trackId (required), deviceId (required), expectedStateVersion (required), +3 more. Returns: object
adopt_instrument_comparisonADestructive
Plan or bind a new runtime comparison handle to two explicitly chosen existing MIDI parts, including after restart. Binds current notes, timing, devices, routing and topology; no tracks, notes, mutes or playback are changed. Restore uses both adoption-time mutes, not an unknown prior baseline. Refuses active pairs, recording, solo, live-input conflicts and two unmuted tracks. Does not prove historical identity or matching copies.
Inputs: original (required), variation (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
advance_production_sessionADestructive
Advance one durable session phase with optimistic revision checks. propose runs a bounded specialist; choose selects a saved creative alternative; apply retains original dry-run and confirmation guards. resume inspects fresh state and preserves uncertain or partially failed execution. replan explicitly starts a new proposal from that inspection and its saved ledger. evaluate uses listening or caller-postcondition completion. Interrupted execution is never replayed.
Inputs: action (required), projectId (required), sessionId (required), expectedRevision (required), +8 more. Returns: object
analyze_arrangement_sectionARead-onlyIdempotent
Read one explicit Arrangement beat window across all or selected ordinary tracks. Report overlapping clips and projected stored-MIDI tonal evidence with loop repeats and trimmed boundaries. Optional includeHarmony adds timed pitch sets, literal chord candidates and gaps. Includes muted material; audio, drums, recording and large clips remain explicit exclusions. Not playback, a detected key, or a meter/key map. Read-only; no focus changes.
Inputs: endBeats (required), startBeats (required), trackIds, includeHarmony. Returns: object
analyze_audio_clipARead-onlyIdempotent
Measure a Session or Arrangement clip's local source window, with optional approximate note events. A target note proposes absolute clip pitch accounting for current pitch settings for stable monophonic windows; review only, no edits or correction of changing notes. Loudness uses the source stream; optional analyses use the selected channel. Excludes rendered clip/track audio.
Inputs: clipId (required), trackId (required), channelIndex, includePitch, +9 more. Returns: object
analyze_audio_fileARead-onlyIdempotent
Measure local source loudness, true peak, format, and optional spectrum, spectrogram, monophonic pitch or note events. A target note proposes a review-only whole-clip offset for stable monophonic windows; no edits or correction of changing notes. Loudness uses the source stream; optional analyses use the selected channel. Excludes Live processing. Requires ffmpeg/ffprobe.
Inputs: sourcePath (required), channelIndex, includePitch, startSeconds, +8 more. Returns: object
analyze_midi_clip_chordsARead-onlyIdempotent
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.
Inputs: clipId (required), trackId (required). Returns: object
analyze_midi_clip_scaleARead-onlyIdempotent
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.
Inputs: clipId (required), trackId (required). Returns: object
analyze_midi_feelARead-onlyIdempotent
Measure stored MIDI timing/velocity by grid slot over 1–8 clip-meter bars, with optional exact notes and cycle origin. Defaults: all notes, beat zero. Read-only; assigned native groove playback is not measured or extracted.
Inputs: grid (required), clipId (required), trackId (required), bars, +2 more. Returns: object
analyze_midi_partsARead-onlyIdempotent
Read 1-8 explicit Session/Arrangement clips together. Report per-part register, duration-weighted pitch classes and combined diatonic compatibility. Loop/marker ranges only; not simultaneous playback or detected key. Audio, drums, recording and oversized clips are excluded explicitly. No edits or focus changes.
Inputs: parts (required). Returns: object
apply_drum_variationCDestructive
Plan or apply a guarded deterministic drum variation with exact native context and complete note readback.
Inputs: bars (required), grid (required), seed (required), clipId (required), +11 more. Returns: object
apply_midi_chord_arpeggiationADestructive
Plan or apply guarded chord arpeggiation with stable native note IDs and complete readback verification.
Inputs: gate (required), mode (required), seed (required), clipId (required), +7 more. Returns: object
apply_midi_chord_doublingCDestructive
Plan or apply guarded chord doublings while preserving existing notes and verifying every native addition.
Inputs: mode (required), clipId (required), noteIds (required), trackId (required), +4 more. Returns: object
apply_midi_chord_inversionBDestructive
Plan or apply guarded chord inversions with complete native note readback verification.
Inputs: steps (required), clipId (required), noteIds (required), trackId (required), +5 more. Returns: object
apply_midi_chord_voice_leadingBDestructive
Plan or apply guarded chord voice leading with complete native note readback verification.
Inputs: mode (required), clipId (required), noteIds (required), trackId (required), +6 more. Returns: object
apply_midi_diatonic_chord_qualityBDestructive
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.
Inputs: mode (required), clipId (required), noteIds (required), trackId (required), +11 more. Returns: object
apply_midi_diatonic_harmonyADestructive
Plan or apply guarded scale-aware harmony additions while preserving source notes and expression.
Inputs: clipId (required), noteIds (required), trackId (required), degreeOffsets (required), +4 more. Returns: object
apply_midi_diatonic_transpositionADestructive
Plan or apply guarded scale-degree MIDI transposition bound to Live's current key and scale.
Inputs: clipId (required), noteIds (required), trackId (required), scaleSteps (required), +4 more. Returns: object
apply_midi_drop_voicingADestructive
Plan or apply guarded chord drop voicings with complete native note readback verification.
Inputs: mode (required), clipId (required), noteIds (required), trackId (required), +4 more. Returns: object
apply_midi_feel_templateADestructive
Plan or transfer a stored-MIDI feel template or measured source-audio feel summary onto exact target note IDs. MIDI templates support timing and velocity blends; audio feel is timing-only and requires velocityAmount zero because audio strength is not MIDI velocity. Preserves note IDs, durations and expression metadata through guarded per-note edits. Rejects a target with an assigned native groove; this is not Live Groove Pool baking.
Inputs: clipId (required), trackId (required), template (required), timingAmount (required), +7 more. Returns: object
apply_midi_gate_patternBDestructive
Plan or apply guarded MIDI gate durations while preserving onset, pitch, velocity, probability, and expression metadata.
Inputs: clipId (required), noteIds (required), trackId (required), gridBeats (required), +5 more. Returns: object
apply_midi_probability_patternBDestructive
Plan or apply guarded MIDI playback probabilities while preserving pitch, timing, velocity, mute, and expression metadata.
Inputs: clipId (required), noteIds (required), trackId (required), probabilities (required), +4 more. Returns: object
apply_midi_ratchet_patternBDestructive
Plan or apply guarded MIDI ratchets while preserving velocity, probability, mute, release velocity, and velocity deviation.
Inputs: gate (required), clipId (required), noteIds (required), trackId (required), +6 more. Returns: object
apply_midi_scale_chord_remappingBDestructive
Plan or apply guarded scale-aware chord remapping with optional bass voice leading and complete native readback.
Inputs: mode (required), clipId (required), noteIds (required), trackId (required), +5 more. Returns: object
apply_midi_strum_patternBDestructive
Plan or apply guarded chord strumming while preserving pitch, velocity, probability, mute, release velocity, and velocity deviation.
Inputs: clipId (required), noteIds (required), trackId (required), direction (required), +5 more. Returns: object
apply_midi_transpositionBDestructive
Plan or apply guarded chromatic MIDI transposition with complete native readback verification.
Inputs: clipId (required), noteIds (required), trackId (required), semitones (required), +4 more. Returns: object
apply_midi_velocity_curveADestructive
Plan or apply a guarded MIDI velocity curve while preserving timing, pitch, duration, probability, and expression metadata.
Inputs: curve (required), clipId (required), noteIds (required), trackId (required), +4 more. Returns: object
apply_monophonic_audio_tuningADestructive
Plan or apply an exact Live clip coarse/fine pitch offset from full-source, stable monophonic analysis of a mono or stereo local source at most 60 seconds long. Every stereo channel must agree; confirmation binds a SHA-256 source hash and current clip state, then verifies native pitch readback. Whole-clip tuning only: not note-by-note vocal correction, rendered audio analysis, or audible validation.
Inputs: clipId (required), trackId (required), targetMidiNote (required), expectedStateVersion (required), +3 more. Returns: object
apply_production_operationADestructive
Plan one proposed operation through its original tool, or execute using that exact plan's confirmation. Requires unchanged task state; later operations require the preceding applied receipt. Returns bounded result references and observed postconditions, not an audible judgment.
Inputs: taskId (required), projectId (required), operationIndex (required), expectedStateVersion (required), +4 more. Returns: object
arm_trackCDestructive
Guard exact-track arming; inspect verified and partial state.
Inputs: armed (required), trackId (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
audition_arrangement_passageADestructive
Plan/start a looping Arrangement passage from stopped transport with recording off and no pending launches. Return only explicit ordinary tracks from Session override; reject Groups. Changes global loop/playhead and starts global playback until stopped. Other tracks may sound. Partial failure reports observed controls; earlier Session phase is not restored. Requires all profile.
Inputs: endBeats (required), trackIds (required), startBeats (required), expectedStateVersion (required), +3 more. Returns: object
bounce_track_in_placeADestructive
Destructively commit one whole ordinary track to audio, removing its devices in Session and Arrangement. Duplicate first to keep an editable source. Requires saved Set, stopped transport, unarmed visible target and macOS English Live. Rechecks native identity/selection and verifies audio layout, controls and file coverage; no audible-equivalence claim.
Inputs: trackId (required), expectedStateVersion (required), dryRun, planHash, +1 more. Returns: object
browse_local_splice_directoryARead-onlyIdempotent
Page through immediate subfolders and audio files inside a configured local Splice root. Optionally join private MCP tags and favorites for audio files. Returned folder paths can be searched individually when a broad search is truncated. Skips symlinks and non-audio files; not Splice cloud browsing, downloads, or license verification.
Inputs: rootPath (required), limit, offset, includeMetadata. Returns: object
capture_device_chain_snapshotARead-onlyIdempotent
Capture ordered devices, nested rack topology, exposed parameters, Return or master mixer, available master output channel, chain mixer, Drum Rack note routing and populated pad mute/solo as persistable JSON. Not a native rack or preset; excludes hidden plugin state, samples, automation, and mappings.
Inputs: trackId (required). Returns: object
capture_device_parameter_snapshotARead-onlyIdempotent
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.
Inputs: trackId (required), deviceId (required). Returns: object
capture_group_system_snapshotARead-onlyIdempotent
Capture an existing Group Track, nested groups and all descendant tracks in Live order as persistable JSON. Every track snapshot and the final hierarchy must match one state version. Read-only; does not save clips, samples, hidden plug-in state, automation or mappings, or create/recall tracks.
Inputs: busTrackId (required). Returns: object
capture_live_audioADestructive
Plan or start a bounded Live Resampling recording of current playback into a new muted, monitor-off audio track. Requires playback, recording off and no armed tracks. Only its capture is stopped/disarmed automatically, even after client disconnect. No isolated-stem, hardware or listener proof.
Inputs: name (required), beats (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
capture_midi_sessionADestructive
Capture Live's hidden recent MIDI input into Session globally. Rechecks native identities, existing note/timing, routing, arms, monitoring and musical/recording state. May start playback/add scenes/change tempo. Known playing-clip changes require explicit allowExistingClipChanges. Read changedSlots and captureVerified; no exact buffer preview or automatic rollback.
Inputs: expectedStateVersion (required), dryRun, planHash, confirmationToken, +1 more. Returns: object
capture_session_sceneADestructive
Natively capture AND immediately launch the currently playing Session combination as a named scene below the selected anchor. Binds sources/layouts and rechecks at undo entry. Requires playing transport, all explicit/implicit arms off, recording/count-in off and settled launches. Live can adjust copied start markers; verifies other exposed material and reports exact marker differences and playback separately. Full-row launch can affect Arrangement overrides and empty tracks. Partial work remains without rollback/replay. No rendered audio or mixer recall. Updated bridge; all profile.
Inputs: name (required), afterSceneId (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
capture_track_state_snapshotARead-onlyIdempotent
Capture one consistent, persistable JSON snapshot of group membership, track mixer, routing, ordered devices, nested rack parameters, chain mixer, Drum Rack note routing and populated pad mute/solo. Not a native track preset; excludes clips, hidden state, samples, automation and mappings.
Inputs: trackId (required). Returns: object
claim_nks_generation_jobADestructive
Atomically lease one pending NKS generation job for a worker. Returns its catalog preset without loading the plugin or saving a file.
Inputs: workerId (required), productSlug (required). Returns: object
collect_project_mediaADestructive
Collect all four native media categories into the current Project and save its clean named Live 12 Set. Requires stopped transport and macOS English Live. Binds saved references and source bytes; verifies Project-relative sample copies. Can copy large libraries. No automatic replay or complete-portability claim.
Inputs: expectedStateVersion (required), expectedSetFingerprint (required), dryRun, planHash, +1 more. Returns: object
compare_audio_referenceARead-onlyIdempotent
Compare equal 3–60-second local mono/stereo mix and reference windows for LUFS, true peak and loudness range. Binds both files with identity and SHA-256 before/after measurement; maximum 512 MiB each. Returns mix-minus-reference differences and attenuation-only level-match proposals. Read-only: no playback, normalization, mix edits, tonal or quality judgment. All profile; ffmpeg/ffprobe required.
Inputs: mixPath (required), referencePath (required), durationSeconds, mixStartSeconds, +1 more. Returns: object
complete_nks_generation_jobADestructive
Mark an owned NKS job done only after its catalog preset contains verified saved-artifact evidence. Does not generate or validate the artifact itself.
Inputs: presetId (required), workerId (required). Returns: object
copy_arrangement_clip_to_trackA
Copy one exact Arrangement MIDI or audio clip onto another compatible ordinary track at an explicit empty interval and name. Binds native owners, layouts and exposed source content, rechecks at undo entry and verifies actual copy readback. Retains partial work without rollback or replay. Does not copy devices, routing or hidden/envelope state; audio shares its source file. Updated bridge; all profile.
Inputs: name (required), clipId (required), trackId (required), startBeats (required), +5 more. Returns: object
copy_device_ab_slotADestructive
Request native copying of current device state over the other A/B slot. Requires explicit overwriteOtherSlot true; previous other-slot contents are not backed up. Binds native identity/current controls and refuses recording, frozen owner or active/unknown automation. Copy request is not hidden-state verification. No automatic rollback.
Inputs: trackId (required), deviceId (required), overwriteOtherSlot (required), expectedStateVersion (required), +3 more. Returns: object
correct_midi_clip_to_scaleADestructive
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.
Inputs: clipId (required), trackId (required), direction (required), expectedStateVersion (required), +5 more. Returns: object
create_arrangement_audio_clipA
Import a local audio file directly onto an ordinary audio track with an empty Arrangement, at an explicit start and name. Binds native ownership and file metadata, rechecks at undo entry and verifies actual reference/settings/span. Native import determines duration/warping; populated timelines refuse. Partial work remains without rollback or replay. Does not bind file bytes or decoded cache, start playback or use Session staging. Updated bridge; all profile.
Inputs: name (required), trackId (required), sourcePath (required), startBeats (required), +4 more. Returns: object
create_arrangement_cue_pointB
Plan or create an Arrangement cue point at an exact beat position.
Inputs: name (required), timeBeats (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
create_arrangement_midi_clipA
Create one named MIDI part directly in an empty Arrangement interval on an ordinary MIDI track, with up to 4096 basic notes relative to the clip start. Binds native owner/layout, rechecks at undo entry and reports actual interval, notes and timing. Preserves existing layout and processing; partial work remains without rollback or replay. Does not start playback or use Session staging. Updated bridge; all profile.
Inputs: name (required), notes (required), trackId (required), startBeats (required), +5 more. Returns: object
create_audio_clipA
Plan/import local audio into an empty Session slot on an unfrozen audio track. Binds source identity, size and mtime; Live validates format.
Inputs: clipId (required), trackId (required), sourcePath (required), expectedStateVersion (required), +4 more. Returns: object
create_clip_mixer_envelopeA
Create an absent Session volume, Stereo pan or exact Return-send envelope with 1–128 ordered steps. Exact raw values; volume/send also accept finite native dB targets. Pan refuses Split Stereo or unknown modes. No clamping. Requires stopped playback, recording off and inactive target automation. Binds clip, mixer and Return identity; verifies sampled interiors. Existing lanes are preserved. All profile.
Inputs: clipId (required), points (required), trackId (required), mixerControl (required), +6 more. Returns: object
create_clip_parameter_envelopeA
Create an absent Session clip device-parameter envelope with 1–128 ordered, nonoverlapping steps in beats. Accepts exact native values or supported unit displays. Requires stopped playback and recording off; preserves existing lanes. Verifies sampled steps, not the full curve. Requires all profile.
Inputs: clipId (required), points (required), trackId (required), deviceId (required), +5 more. Returns: object
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.
Inputs: bars (required), grid (required), name (required), lanes (required), +7 more. Returns: object
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.
Inputs: expectedStateVersion (required), name, dryRun, planHash, +1 more. Returns: object
create_midi_clipB
Plan or create a MIDI clip in an exact empty Session slot.
Inputs: notes (required), clipId (required), trackId (required), lengthBeats (required), +5 more. Returns: object
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.
Inputs: name (required), trackId (required), deviceId (required), expectedStateVersion (required), +4 more. Returns: object
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.
Inputs: name (required), expectedStateVersion (required), dryRun, planHash, +1 more. Returns: object
create_scale_bassline_clipA
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.
Inputs: gate (required), name (required), clipId (required), degrees (required), +13 more. Returns: object
create_scale_chord_progression_clipB
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.
Inputs: name (required), clipId (required), degrees (required), trackId (required), +15 more. Returns: object
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.
Inputs: gate (required), grid (required), name (required), clipId (required), +12 more. Returns: object
create_sceneA
Plan or create a Session scene at an exact insertion index. Native execution rechecks the neighboring scene records and verifies the new scene in one Live undo step.
Inputs: name (required), expectedStateVersion (required), index, dryRun, +2 more. Returns: object
create_trackB
Plan/create an audio/MIDI track at an insertion index. Live rechecks neighbors and verifies inserted type/name in one undo step.
Inputs: name (required), type (required), expectedStateVersion (required), index, +3 more. Returns: object
crop_audio_clipADestructive
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.
Inputs: clipId (required), trackId (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
crop_midi_clipADestructive
Request native MIDI crop to the observed loop or marker interval. Can discard notes/expression and change source coordinates or IDs. Binds native context and returns complete exposed readback; no automatic rollback.
Inputs: clipId (required), trackId (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
delete_arrangement_clipADestructive
Plan or delete one exact whole Arrangement clip with native identity, exposed content and layout confirmation. Observes target clearance and other clip identities/metadata. Includes clip envelopes and note expression; the snapshot is not a restorable backup.
Inputs: clipId (required), trackId (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
delete_arrangement_cue_pointBDestructive
Plan or delete one exact Arrangement cue point.
Inputs: cuePointId (required), expectedStateVersion (required), dryRun, planHash, +1 more. Returns: object
delete_clipADestructive
Plan or delete one exact whole Session clip with native identity, exposed content and layout confirmation. Includes clip envelopes and note expression; the snapshot is not a restorable backup.
Inputs: clipId (required), trackId (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
delete_deviceCDestructive
Plan or delete one exact loaded device from an ordinary, Return, Main, or rack chain.
Inputs: trackId (required), deviceId (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
delete_rack_macro_variationADestructive
Plan or delete one exact zero-based rack macro variation. Destructive: Live does not expose saved variation contents for preview or reconstruction. Requires confirmation and reports observed count.
Inputs: trackId (required), deviceId (required), variationIndex (required), expectedStateVersion (required), +3 more. Returns: object
delete_session_objectADestructive
Delete an exact track/Group, Return, scene or whole Session clip. Binds native identity and exposed content, including Group descendants or affected Return send lanes. Requires explicit content authority; retains partial outcomes. Clip removal includes envelopes and note expression.
Inputs: targetId (required), targetType (required), expectedStateVersion (required), dryRun, +4 more. Returns: object
duplicate_arrangement_clipA
Plan or duplicate one exact Arrangement clip at a non-overlapping beat position on the same track. Binds native identity, exposed source content and prior layout; rechecks at undo entry and verifies actual copy/source state. Retains the source name. Partial copies remain without rollback or replay. Requires the updated bridge; hidden state and envelope contents are not compared.
Inputs: clipId (required), trackId (required), startBeats (required), expectedStateVersion (required), +3 more. Returns: object
duplicate_clipA
Copy a Session audio/MIDI clip into an empty compatible slot. Destination defaults to source track. Binds owners/layout and exposed content, rechecks at undo entry and reports explicit copy/name/preservation outcomes. Partial copies remain without cleanup/replay. Hidden state/envelopes/processing/file bytes not verified; audio shares its file. Updated bridge required.
Inputs: clipId (required), trackId (required), destinationClipId (required), expectedStateVersion (required), +5 more. Returns: object
duplicate_clip_loopCDestructive
Plan or duplicate the current loop region of one exact clip.
Inputs: clipId (required), trackId (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
duplicate_midi_clip_variationsA
Copy 1-4 named Session MIDI clips to empty slots on the same track. Binds notes/timing; verifies exposed copies and preserves original. One undo step; removes copies on failure. Edit identical copies separately.
Inputs: trackId (required), variants (required), sourceClipId (required), expectedStateVersion (required), +3 more. Returns: object
duplicate_session_objectA
Copy an exact track/Group, scene or Session clip. Binds native identity and exposed material; verifies insertion before naming. Clip copies use the following empty slot. Refuses armed track sources. Retains partial copies without replay or cleanup. Updated bridge required.
Inputs: targetId (required), targetType (required), expectedStateVersion (required), name, +4 more. Returns: object
edit_drum_pattern_clipADestructive
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.
Inputs: bars (required), grid (required), lanes (required), clipId (required), +6 more. Returns: object
enqueue_nks_generation_jobsADestructive
Plan or enqueue only explicitly selected eligible discovered presets, in batches of at most 100, using a single-use confirmation. Serum 2 and Omnisphere are limited to their deterministic factory pilots until every pilot record is validated. Does not generate or mark any preset saved.
Inputs: presetIds (required), productSlug (required), dryRun, planHash, +1 more. Returns: object
export_audio_mixADestructive
Export Main as stereo WAV through the macOS English Live dialog. Requires stopped transport, recording off, unarmed tracks and an absent destination. Rechecks document/mix controls and verifies native settings and file format. Full-range render completion remains unconfirmed. Current Session overrides are included. Updates export preferences; no overwrite or musical-quality claim.
Inputs: path (required), start (required), length (required), expectedStateVersion (required), +6 more. Returns: object
export_audio_trackADestructive
Export one exact ordinary/Group/Return audio output as stereo WAV through the macOS English Live dialog without changing solo/mutes. The ordered eligible menu and selected position bind duplicate names. Include Return/Main effects only when explicitly chosen. Requires stopped transport, recording off, unarmed tracks and an absent destination. Rechecks document/mix controls and verifies native settings and file format. Full-range render completion remains unconfirmed. Current Session overrides are included. Updates export preferences; no overwrite or musical-quality claim.
Inputs: path (required), start (required), length (required), trackId (required), +8 more. Returns: object
export_looper_clipADestructive
Export a fixed nonempty native Looper buffer into an empty unarmed audio Session slot. Binds exposed context and native identities; never launches, clears Looper or overwrites a clip. Partial material is retained. Buffer audio equivalence is not verified.
Inputs: trackId (required), deviceId (required), destinationClipId (required), destinationTrackId (required), +5 more. Returns: object
export_midi_clipADestructive
Export one exact Session or Arrangement MIDI clip through native macOS English Live to a new .mid file. Changes selection/focus; requires stopped recording/playback. Refuses overwrites. Verifies SMF0, source preservation and unmuted note pitch/timing/velocity within file resolution. Includes stored notes outside loop markers; no Live playback, MPE/controller or audible equivalence claim.
Inputs: path (required), clipId (required), trackId (required), expectedStateVersion (required), +3 more. Returns: object
fail_nks_generation_jobADestructive
Record a worker failure and return the leased NKS job to pending, or quarantine it after the retry limit. Does not change preset lifecycle.
Inputs: reason (required), presetId (required), workerId (required). Returns: object
finish_arrangement_takeADestructive
Release a stopped Arrangement take handle and retain its material. Cancel true stops only owned global record/playback early; partial material retained. Ownership loss leaves transport untouched and retains the handle until stopped. Does not disarm, restore setup, save or delete; all profile.
Inputs: takeId (required), expectedStateVersion (required), cancel, dryRun, +2 more. Returns: object
finish_beat_repeat_fillCDestructive
Release a terminal fill handle; cancel true attempts owned Repeat Off early. Preserves manual Repeat edits and other controls. Cleanup failure stays explicit; releasing a terminal handle does not repair its device. Updated bridge; all profile.
Inputs: fillId (required), expectedStateVersion (required), cancel, dryRun, +2 more. Returns: object
finish_live_audio_captureADestructive
Plan or release a completed capture handle, keeping its track/file. Cancel true stops and disarms an active capture early and retains partial audio. A pending native stop returns captureActive true with stopping status; read until confirmed, then finish. Cleanup failure is explicit and preserves the handle. Never stops source playback.
Inputs: captureId (required), expectedStateVersion (required), cancel, dryRun, +2 more. Returns: object
finish_session_arrangement_recordingADestructive
Release a settled Session-to-Arrangement recording handle, retaining material. Explicit cancel true requests early global record/transport stop only under unchanged observed recording scope; changed scope remains untouched and unresolved recording cannot be released. Growing clips and advancing time are excluded from stop confirmation. Updated bridge; all profile.
Inputs: recordingId (required), expectedStateVersion (required), cancel, dryRun, +2 more. Returns: object
finish_session_clip_holdADestructive
Release a terminal Session hold handle, or cancel:true to request early release of its retained native clip. Does not globally stop playback or stop a continuing Repeat clip. A failed release retains its handle and track reservation until an explicit cancel retry succeeds. Updated bridge; all profile.
Inputs: holdId (required), expectedStateVersion (required), cancel, dryRun, +2 more. Returns: object
get_arrangement_takeARead-onlyIdempotent
Read one Arrangement recording handle, new clip spans, range coverage and control ownership, or list handles after a lost reply. Start acceptance and range coverage do not prove recorded performance, audio-file finalization or sound. Handles last until release or bridge restart; all profile.
Inputs: takeId. Returns: object
get_audio_clip_stateBRead-onlyIdempotent
Read Session/Arrangement audio settings, markers and timeline identity. Unavailable fades report supported=false.
Inputs: clipId (required), trackId (required). Returns: object
get_audio_source_beat_timesARead-onlyIdempotent
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.
Inputs: clipId (required), trackId (required), sourceSeconds (required). Returns: object
get_automation_capabilitiesBRead-onlyIdempotent
Report exact supported and unsupported automation and per-note expression surfaces.
Inputs: no named parameters. Returns: object
get_beat_repeat_fillARead-onlyIdempotent
Read a temporary Repeat fill or list retained handles after reconnect. Reports current native IDs, status, Off observation, historical release verification and cleanup errors. Handles are not saved in the Set.
Inputs: fillId. Returns: object
get_beat_repeat_performance_contextARead-onlyIdempotent
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.
Inputs: trackId (required), deviceId (required). Returns: object
get_browser_item_metadataARead-onlyIdempotent
Read private MCP-managed tags, favorite state, and revision for one exact observed Live browser item or local audio sample. A Live user-folder sample shares the local Splice record only when its URI unambiguously matches a configured local Splice file; reserved URI delimiters and existing separate Live metadata preserve exact Live identity. For a local sample, use root local_splice and path [absolute directory, relative audio path]. Does not read native collections.
Inputs: path (required), root (required). Returns: object
get_browser_itemsARead-onlyIdempotent
Browse one level of Live factory/plug-in/Pack/Max/project/user content. Page with offset and limit together. Optional private MCP tags/favorites use exact child identities; not native collections.
Inputs: root (required), path, limit, offset, +1 more. Returns: object
get_browser_preview_contextCRead-onlyIdempotent
Read native browser preview/stop availability and optional exact item with document/selection guards. Does not observe active preview, route, duration or audible output. No input or loading; all profile.
Inputs: path, root. Returns: object
get_clip_groove_contextBRead-onlyIdempotent
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.
Inputs: clipId (required), trackId (required). Returns: object
get_clip_mixer_envelopeARead-onlyIdempotent
Read an ordinary Session clip volume, Stereo pan or exact Return-send envelope without changing focus or playback. MIDI/warped audio beats. Pan requires known Stereo mode. Samples do not recover the complete curve.
Inputs: clipId (required), trackId (required), mixerControl (required), sendId, +2 more. Returns: object
get_clip_parameter_envelopeBRead-onlyIdempotent
Sample one Session clip parameter envelope at exact beat positions.
Inputs: clipId (required), trackId (required), deviceId (required), parameterId (required), +1 more. Returns: object
get_clip_timingARead-onlyIdempotent
Read Session/Arrangement loops and markers, plus Session launch modes. Units: MIDI/warped beats, unwarped seconds. Unavailable: supported=false.
Inputs: clipId (required), trackId (required). Returns: object
get_crossfader_contextARead-onlyIdempotent
Read Main crossfader value, native bounds, availability and automation plus every ordinary/Group/Return A/B assignment and Group relationship. Unsupported fields remain explicit. No playback, selection or mixer changes; all profile.
Inputs: no named parameters. Returns: object
get_device_ab_contextARead-onlyIdempotent
Read one device's native A/B capability, active slot, exposed parameters, identity and recording context without changing focus. Other-slot contents and hidden state are unavailable. Updated bridge; all profile.
Inputs: trackId (required), deviceId (required). Returns: object
get_device_activation_contextBRead-onlyIdempotent
Read one exact device's binary Device On control, local on/off, effective native activation, enclosing rack activation, automation and edit-safety context. Preserves focus/playback; unsupported controls explicit. All profile; updated bridge.
Inputs: trackId (required), deviceId (required). Returns: object
get_device_hierarchyARead-onlyIdempotent
Read rack chains/mixers, populated Drum Rack pads and macro/variation state. Available macro_mappings include displayed target path, parameter and min/max; paths are descriptive, not stable IDs. Variation contents are unavailable.
Inputs: trackId (required), deviceId (required). Returns: object
get_device_sidechain_routingARead-onlyIdempotent
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.
Inputs: trackId (required), deviceId (required). Returns: object
get_factory_browser_itemsARead-onlyIdempotent
Browse one exact level of a Live factory browser root; optional offset and limit return a bounded child page. Optionally join private MCP tags and favorites for exact child identities, not native Live collections.
Inputs: root (required), path, limit, offset, +1 more. Returns: object
get_factory_coverageARead-onlyIdempotent
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.
Inputs: no named parameters. Returns: object
get_factory_device_contextARead-onlyIdempotent
Read native parameters, matched factory knowledge and group coverage. Auto Shift includes song key, Scale Aware, manual Root/Scale and selected scale source; no proof of audible correction. Includes configured plug-in controls or exposed/enabled Max for Live parameter IDs and duplicate-name warnings. Excludes hidden plug-in state, Max patch internals and modulation targets.
Inputs: trackId (required), deviceId (required). Returns: object
get_history_stateARead-onlyIdempotent
Read current Ableton undo and redo availability.
Inputs: no named parameters. Returns: object
get_instrument_comparisonARead-onlyIdempotent
Read a runtime instrument comparison and current track IDs, mute states and readiness. Omit comparisonId to list this bridge instance's active comparisons, including after a timed-out preparation. No edits.
Inputs: comparisonId. Returns: object
get_live_audio_captureARead-onlyIdempotent
Read a capture's status, current native track/clip IDs, cleanup errors and stable completed file provenance. Omit captureId to list handles after reconnect or a timed-out start. No edits; runtime handles are not saved in the Set.
Inputs: captureId. Returns: object
get_live_object_colorsARead-onlyIdempotent
Read native RGB colors and palette indices for one to 64 explicit tracks, Returns, Main, scenes or existing Session/Arrangement clips. Preserves focus. All profile.
Inputs: objectIds (required). Returns: object
get_live_scale_referenceBRead-onlyIdempotent
Resolve one exact Ableton Live 12 scale and root to semitone intervals, pitch classes, note names, degrees, and scale family. Read-only.
Inputs: rootNote (required), scaleName (required). Returns: object
get_live_stateARead-onlyIdempotent
Read bridge identity, capabilities, Set path, tempo, playback and state version.
Inputs: no named parameters. Returns: object
get_looper_export_contextARead-onlyIdempotent
Read native Looper export capability, buffer length, state and an exact destination slot without changing focus or playback. Buffer audio bytes are unavailable.
Inputs: trackId (required), deviceId (required), destinationClipId (required), destinationTrackId (required). Returns: object
get_looper_performance_contextARead-onlyIdempotent
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.
Inputs: trackId (required), deviceId (required). Returns: object
get_midi_capture_contextARead-onlyIdempotent
Read global Capture MIDI readiness, armed/monitored candidates, playing-clip risks, input routing, full-note digests and clip timing with native identity. Does not expose buffer contents or reserve a moving playhead.
Inputs: no named parameters. Returns: object
get_midi_clip_notesARead-onlyIdempotent
Read standard MIDI notes from one exact Session or Arrangement MIDI clip; Arrangement responses include timeline identity.
Inputs: clipId (required), trackId (required). Returns: object
get_midi_clip_notes_extendedBRead-onlyIdempotent
Read complete Session/Arrangement MIDI notes and timeline identity.
Inputs: clipId (required), trackId (required). Returns: object
get_midi_note_insertion_contextARead-onlyIdempotent
Read complete notes, timing, native identity and edit safety for adding notes to one Session/Arrangement MIDI clip. Read-only, up to 4096 notes without sampling; all profile.
Inputs: clipId (required), trackId (required). Returns: object
get_midi_note_removal_contextARead-onlyIdempotent
Read complete notes, timing, native target identity and safety for explicit note deletion from a Session/Arrangement MIDI clip. Read-only, up to 4096 notes without sampling; all profile.
Inputs: clipId (required), trackId (required). Returns: object
get_midi_note_selectionARead-onlyIdempotent
Read stable native note selection for one exact current detail Session/Arrangement MIDI clip without moving focus or selecting notes. Returns selected IDs/properties and a token for optional set_midi_note_properties guarding. Empty, unavailable and not-detail-clip are distinct. Up to 4096 selected notes, no truncation; all profile.
Inputs: clipId (required), trackId (required). Returns: object
get_mixer_panning_contextBRead-onlyIdempotent
Read exact track, Group, Return or Main panning mode and Stereo/left/right native values, displays, bounds, enablement and automation. Binds native owner/mixer/parameter identities. Read-only; unsupported fields explicit. All profile.
Inputs: trackId (required). Returns: object
get_nks_generation_jobARead-onlyIdempotent
Read one durable NKS generation job and its ordered event history without creating or changing the queue.
Inputs: presetId (required). Returns: object
get_nks_generation_statusARead-onlyIdempotent
Read discovered preset and durable job counts for one product. Serum 2 and Omnisphere also report pilot size, validated count, gate state, queueable factory count (including already queued presets), remaining discovered pilot IDs, and unqueued discovered pilot IDs without a durable job. Does not create a queue or contact Live.
Inputs: productSlug (required). Returns: object
get_parameter_automation_contextARead-onlyIdempotent
Read discoverable device parameters or mixer controls and native automation handoff support on an exact track, Group, Return or Main. Omit parameterId to list, supply one observed ID for a target read. Unsupported controls remain explicit. Read-only; all profile.
Inputs: trackId (required), deviceId, parameterId. Returns: object
get_plugin_integration_contextARead-onlyIdempotent
Inspect loaded Serum 2/Omnisphere/VPS Avenger: installed variants, controls, NKS counts, browser limits and Live UI save/User Library load. Loading in Live does not verify hidden plug-in state.
Inputs: trackId (required), deviceId (required). Returns: object
get_presetBRead-onlyIdempotent
Read one exact NKS preset catalog record.
Inputs: presetId (required). Returns: object
get_preset_metadataARead-onlyIdempotent
Read user tags, favorite state, and revision for one preset.
Inputs: presetId (required). Returns: object
get_producer_chain_blueprintBRead-onlyIdempotent
Return one ordered factory-device chain or shared-bus topology with exact browser paths, stage roles, execution tools, and explicit limitations.
Inputs: target (required). Returns: object
get_producer_workflowARead-onlyIdempotent
Find workflow references by optional keyword query (default 5 results, maximum 20), list all, or retrieve one exact workflow with named string arguments. Search matches metadata words/prefixes and may return partial matches. Does not call Live or execute work. Available in all and producer profiles.
Inputs: limit, query, workflow, arguments. Returns: object
get_production_contextA
Capture consistent Live selection and musical context in a persistent private artifact; return a bounded overview and contextRef. No model call or Live edit.
Inputs: projectId (required). Returns: object
get_production_sessionARead-onlyIdempotent
Read a bounded durable session summary, or list up to twenty sessions in this project when sessionId is omitted. Does not refresh Live; use advance action resume before continuing.
Inputs: projectId (required), offset, sessionId. Returns: object
get_project_mediaARead-onlyIdempotent
Inspect saved Live 12 sample references and file contents in the current Project. Reports missing, ambiguous and external samples; distinguishes the saved snapshot from unsaved Live edits. Does not certify plug-in libraries, licenses, Max dependencies or other Sets. Requires macOS English Live for native clean-state observation.
Inputs: no named parameters. Returns: object
get_rack_performance_contextARead-onlyIdempotent
Read one native snapshot of visible rack macros, exact mapped descendant parameters, ranges, current values, automation and variation count/index. Unresolved mappings and unknown layouts are explicit. Saved variation contents and audible results are unavailable.
Inputs: trackId (required), deviceId (required). Returns: object
get_return_routingARead-onlyIdempotent
Read the exact output destination and available choices of one Return Track without changing routing, selection or playback. Reports unavailable native properties explicitly; send pre/post mode is not exposed.
Inputs: returnTrackId (required). Returns: object
get_scene_launch_contextARead-onlyIdempotent
Preview an exact Session scene in one native read: every track/slot, clip/stop/Group actions, arms, recording risks, current playback and global/scene musical context. Preserves selection and playback. Launch metadata only; no audible or follow-action prediction. All profile.
Inputs: sceneId (required). Returns: object
get_selected_parameter_contextARead-onlyIdempotent
Resolve Live’s selected native device or track/Return/Main mixer parameter without changing focus. Includes exact target IDs, control bounds/display/automation and selection token. None, unavailable and unresolved are distinct; chain mixers and hidden controls are unresolved. All profile.
Inputs: no named parameters. Returns: object
get_selection_contextARead-onlyIdempotent
Read selected track/scene/device, displayed clip and highlighted slot together without changing focus. Null is unresolved; clip and slot can differ.
Inputs: no named parameters. Returns: object
get_session_arrangement_recordingARead-onlyIdempotent
Read a retained Session-to-Arrangement recording or list handles after reconnect. Without an ID also reads current controls, native barPosition and all Arrangement clip metadata, up to 8192 clips, with appendAfterBeats for preparation. Reports native recording/stop observations, captured clip metadata, preservation limits and inspection errors. Runtime handles are not saved in the Set. No focus or playback changes; all profile.
Inputs: recordingId. Returns: object
get_session_clip_holdARead-onlyIdempotent
Read one retained Session clip hold, or list holds after a lost response. Reports press/release command receipts, current native clip IDs, playback snapshots and cleanup errors. No input or playback changes. Runtime state may disappear after reload; missing handles do not prove release. All profile.
Inputs: holdId. Returns: object
get_session_midi_overdub_contextARead-onlyIdempotent
Read readiness and identity of one already playing Session MIDI loop for interactive overdub. Requires an armed unfrozen target, other explicit/implicit arms off, no pending launches, Arrangement recording/count-in/automation arm off. Binds input, timing, musical controls and initial note digest; incoming notes are excluded while recording. No focus or playback changes. Updated bridge; all profile.
Inputs: clipId (required), trackId (required). Returns: object
get_session_orientationBRead-onlyIdempotent
Read Set, recording, selection, clip and instruments together; configured scale and ambiguous MIDI evidence. No edits, playback or focus changes.
Inputs: no named parameters. Returns: object
get_set_mixerARead-onlyIdempotent
Read master and return-bus mixer levels, sends, and routing from the current Live Set.
Inputs: no named parameters. Returns: object
get_simpler_sample_stateBRead-onlyIdempotent
Read one existing Simpler, including nested racks: path, length/start-end markers/slices in sample frames, rate in Hz, native warp/slicing controls, playback mode, parameters and edit context. No edits. All profile; requires updated bridge.
Inputs: trackId (required), deviceId (required). Returns: object
get_song_grid_referenceBRead-onlyIdempotent
Read a meter/tempo-aware bar of straight 16ths and eighth/sixteenth triplets, downbeats/offbeats and advisory 4/4 genre placements. Read-only.
Inputs: no named parameters. Returns: object
get_song_musical_contextARead-onlyIdempotent
Read key, scale, time signature, quantization, groove, swing, and Arrangement loop context.
Inputs: no named parameters. Returns: object
get_take_lane_audition_contextARead-onlyIdempotent
Read native take inventory and currently exposed macOS English Live audition checkboxes without changing view, focus or playback. Hidden lanes have unknown audition state. Requires a saved Set with native document identity, one Live instance and an updated bridge; all profile.
Inputs: trackId (required). Returns: object
get_take_lane_contextARead-onlyIdempotent
Inspect one track take-lane inventory and optionally one complete stored take clip. Read-only; preserves focus. Selected MIDI reports up to 4096 notes; audio reports exposed source/timing controls. Does not expose comp selections, envelopes or rendered sound. All profile.
Inputs: trackId (required), takeClipId. Returns: object
get_track_arm_contextARead-onlyIdempotent
Read exact native track arm capability, input, all arm states and recording readiness without changing focus or controls. Explains refusals; all profile.
Inputs: trackId (required). Returns: object
get_track_freeze_stateARead-onlyIdempotent
Read one track native freeze state. A frozen flag does not prove saved state or audio equivalence.
Inputs: trackId (required). Returns: object
get_track_grouping_statusARead-onlyIdempotent
Inspect a retained native grouping handle from a group_tracks plan, including after a lost reply. Resolves actual Group/member IDs, hierarchy, exposed material and controls. Read-only; does not repeat grouping or restore anything. Runtime handles can expire or disappear after bridge reload; missing handles require current-track inspection. All profile.
Inputs: groupingId (required). Returns: object
get_track_midi_routingARead-onlyIdempotent
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.
Inputs: trackId (required). Returns: object
get_track_mixerBRead-onlyIdempotent
Read bounded track volume, pan, mute, solo, and named return sends.
Inputs: trackId (required). Returns: object
get_track_routingARead-onlyIdempotent
Read exact input, output, and monitoring choices for one track. Group Tracks expose monitoring as null because Live does not support it.
Inputs: trackId (required). Returns: object
get_track_signal_activityARead-onlyIdempotent
Read native input/output peak-hold meters and control flags for one trackId, or 1-64 unique trackIds in one callback with shared transport and ordered tracks. Track, Group, Return and Main supported. Native 0–1; not dB, sample-synchronous audio, silence or speaker proof. Unavailable meters stay unknown. Includes bounded native Group ancestry and shared explicit track/Return solo context; unknown or limited context is explicit, not proof of routing or isolation. No edits; all profile.
Inputs: trackId, trackIds. Returns: object
get_track_ungrouping_statusARead-onlyIdempotent
Inspect actual removal, retained descendants, membership, exposed material and routing for a retained ungroupingId, including after a lost reply. Read-only; never repeats removal or regroups. Runtime handles can expire or disappear after bridge reload. Missing handles require current-track inspection. All profile.
Inputs: ungroupingId (required). Returns: object
get_transport_contextARead-onlyIdempotent
Read transport playback, metronome, and count-in state.
Inputs: no named parameters. Returns: object
get_transport_recording_contextARead-onlyIdempotent
Read playhead, Arrangement and Session recording modes, automation arm, and native Capture MIDI readiness with MIDI track IDs.
Inputs: no named parameters. Returns: object
group_tracksADestructive
Create a native Group through macOS English Live UI from two to 64 consecutive ungrouped ordinary audio-producing tracks feeding Main. Saved Set, stopped playback/recording, unarmed/unfrozen sources and no pending launches required. Changes focus, hierarchy, routing and track IDs. Verifies retained objects and exposed material/controls. Partial results remain; no automatic undo. Retain groupingId for lost-response inspection. All profile.
Inputs: trackIds (required), expectedStateVersion (required), expectedSetFingerprint (required), dryRun, +2 more. Returns: object
heartbeat_nks_generation_jobADestructive
Extend an unexpired NKS generation lease owned by this worker.
Inputs: presetId (required), workerId (required). Returns: object
hold_session_clipADestructive
Hold one existing Gate/Repeat Session clip for 0.25–8 wall-clock seconds, then request native release without this client. Requires global playback, recording off, an unarmed/unfrozen target and no pending launches or other playing Session clip on its track. Honors quantization; may override target Arrangement. Gate may stop on release; Repeat may continue. Concurrent controller input cannot be distinguished. Command receipts are not button-state or audible proof. All profile.
Inputs: clipId (required), trackId (required), durationSeconds (required), expectedStateVersion (required), +4 more. Returns: object
humanize_midi_notesBDestructive
Plan or apply guarded deterministic MIDI timing and velocity humanization with exact clip, grid, and complete native note readback.
Inputs: seed (required), clipId (required), noteIds (required), trackId (required), +7 more. Returns: object
import_midi_fileADestructive
Import a local MIDI file through macOS English Live into an entirely empty final Session MIDI staging track. Requires muted, unarmed, monitoring off, No Output and stopped recording/playback. Verifies exact file selection and observed clip/object structure; multitrack files may add tracks. No complete event or audible equivalence claim. All profile.
Inputs: clipId (required), trackId (required), sourcePath (required), expectedStateVersion (required), +4 more. Returns: object
insert_midi_notesA
Add explicit notes to an existing Session/Arrangement MIDI clip without rewriting existing notes. Rejects same-pitch overlaps, stale sources, recording/count-in, frozen or pending targets. Preserves timing/playback. Reports partial native work without rollback or replay; all profile.
Inputs: notes (required), clipId (required), trackId (required), expectedStateVersion (required), +3 more. Returns: object
inspect_clip_groove_postconditionsARead-onlyIdempotent
Read current native context and inspect extraction, baking, or plain groove-removal 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; removal also requires unchanged source content.
Inputs: before (required), clipId (required), trackId (required), operation (required). Returns: object
inspect_producer_busARead-onlyIdempotent
Read an existing Group or ordinary audio bus, ordered FX, child sources and routing against a layered blueprint. Audio uses two matching snapshot passes; checks No Input, monitor In, Main output and child Track In routes. Optional pluginId selects an explicitly chosen Serum 2, Omnisphere or VPS Avenger instead of the blueprint's factory instrument; this verifies loaded identity, not preset or sound.
Inputs: target (required), children (required), busTrackId (required), busKind. Returns: object
inspect_producer_chainBRead-onlyIdempotent
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.
Inputs: target (required), trackId (required). Returns: object
inspect_producer_return_busARead-onlyIdempotent
Read an existing Return bus, ordered FX, child sources, sends and Sends Only routing against a layered blueprint. Optional pluginId selects an explicitly chosen Serum 2, Omnisphere or VPS Avenger instead of the blueprint's factory instrument; this verifies loaded identity, not preset or sound.
Inputs: target (required), children (required), returnTrackId (required). Returns: object
jump_to_arrangement_cue_pointADestructive
Plan or request one native locator jump with identity and recording guards. Stopped receipts verify position; playing jumps can be quantized and do not establish arrival or audible Arrangement playback.
Inputs: cuePointId (required), expectedStateVersion (required), dryRun, planHash, +1 more. Returns: object
launch_clipBDestructive
Launch a Session slot. recordLengthBeats records an empty armed slot; updated bridge rechecks input, native identity and recording readiness. launchQuantization overrides once. Receipt does not prove take completion.
Inputs: clipId (required), trackId (required), expectedStateVersion (required), dryRun, +4 more. Returns: object
launch_sceneBDestructive
Plan/fire a scene with full-row recheck. May stop, record or change tempo/meter. Request-only receipt. Requires updated bridge.
Inputs: sceneId (required), expectedStateVersion (required), dryRun, planHash, +2 more. Returns: object
list_arrangement_clipsBRead-onlyIdempotent
Read timeline clip IDs, types, and start/end positions in beats for one track.
Inputs: trackId (required). Returns: object
list_arrangement_cue_pointsARead-onlyIdempotent
List Arrangement cue points with current inventory IDs and beat positions.
Inputs: no named parameters. Returns: object
list_browser_rootsARead-onlyIdempotent
List Live's general browser roots with observed availability and immediate child counts. Read-only; this is not Splice cloud search or a filesystem inventory.
Inputs: no named parameters. Returns: object
list_clipsARead-onlyIdempotent
List clip slots and clips on one exact track, including arm/freeze recording readiness and native one-shot launch quantization choices.
Inputs: trackId (required). Returns: object
list_device_parametersBRead-onlyIdempotent
List exact live parameter IDs, values, bounds, labels, and quantized choices.
Inputs: trackId (required), deviceId (required). Returns: object
list_devicesARead-onlyIdempotent
List loaded devices on one exact ordinary, Return, or Main track.
Inputs: trackId (required). Returns: object
list_factory_device_profilesBRead-onlyIdempotent
List producer-oriented knowledge profiles for foundational Ableton factory devices.
Inputs: no named parameters. Returns: object
list_live_scalesARead-onlyIdempotent
List Ableton Live 12 scale names with semitone intervals and musical families for exact scale selection. Read-only.
Inputs: no named parameters. Returns: object
list_local_splice_rootsARead-onlyIdempotent
List existing local Splice folders and cache paths, including detected macOS defaults and explicitly configured roots. Does not search Splice cloud assets, verify licenses, or download files.
Inputs: no named parameters. Returns: object
list_producer_chain_blueprintsBRead-onlyIdempotent
List deterministic producer starting points for ordered track, bus, return, mastering, and layered-instrument chains.
Inputs: no named parameters. Returns: object
list_saved_snapshotsARead-onlyIdempotent
List names of regular local capture files in the private track, device-chain, group-system, or MIDI-feel library. Does not validate capture contents or change Live; load a name to inspect its format and contents.
Inputs: kind (required). Returns: object
list_scenesARead-onlyIdempotent
List stable Session scene identities, names, and per-scene launch quantization.
Inputs: no named parameters. Returns: object
list_tracksBRead-onlyIdempotent
List stable Ableton track identities, mixer state, and existing group hierarchy.
Inputs: no named parameters. Returns: object
load_browser_itemADestructive
Plan/load an exact browser item on ordinary/Return/Main tracks. Binds native item and Set topology. Reports device, clip and track effects, rebased IDs and partial errors. MIDI may create tracks; observations are immediate.
Inputs: path (required), root (required), trackId (required), expectedStateVersion (required), +3 more. Returns: object
load_device_chain_snapshotARead-onlyIdempotent
Read a named local device-chain snapshot for review and guarded recall onto an already compatible track, Return, or Main device owner. Does not mutate Live.
Inputs: name (required). Returns: object
load_factory_browser_itemBDestructive
Guarded factory-item load on ordinary/Return/Main tracks. Binds native item and Set topology. Reports device, clip and track effects, rebased IDs and partial errors; observations are immediate.
Inputs: path (required), root (required), trackId (required), expectedStateVersion (required), +3 more. Returns: object
load_group_system_snapshotARead-onlyIdempotent
Read one saved group-system JSON capture for review or guarded recall onto compatible existing topology. Loading the JSON does not mutate Live or recreate tracks.
Inputs: name (required). Returns: object
load_midi_feel_templateARead-onlyIdempotent
Load a named stored-MIDI feel template from the private local library for review or guarded transfer. Does not change Live or retrieve native Groove Pool patterns.
Inputs: name (required). Returns: object
load_simpler_sampleADestructive
Load a local audio file into an existing single-sample Simpler. Requires stopped transport and an inactive unarmed target; loaded samples require allowReplace. Binds native context/file metadata and verifies exposed readback. Failure may leave partial state; no full sample rollback. All profile.
Inputs: trackId (required), deviceId (required), sourcePath (required), expectedStateVersion (required), +5 more. Returns: object
load_track_state_snapshotARead-onlyIdempotent
Read a previously saved local track-state JSON capture for review and explicit guarded recall onto an already compatible track. Does not mutate Live.
Inputs: name (required). Returns: object
map_rack_macro_to_parameterADestructive
Plan or create one native macro mapping to an exact descendant device parameter. Rechecks rack and target-parameter snapshots at the native boundary, then reads back the observed mapping. Live chooses the default mapping range; inspect the result.
Inputs: trackId (required), deviceId (required), macroIndex (required), parameterId (required), +5 more. Returns: object
move_arrangement_clipADestructive
Move one exact Arrangement MIDI or audio clip on its current track. Binds native identity, exposed source content and prior layout; verifies staging before source removal and destination before staging removal. Self-overlap is supported; other collisions refuse. Reports partial work without rollback or replay. Same position skips writes. Updated bridge required; hidden state and clip envelopes are not verified.
Inputs: clipId (required), trackId (required), startBeats (required), expectedStateVersion (required), +3 more. Returns: object
move_audio_warp_markerADestructive
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.
Inputs: clipId (required), trackId (required), beatTime (required), targetBeatTime (required), +4 more. Returns: object
move_deviceADestructive
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.
Inputs: trackId (required), deviceId (required), targetPosition (required), expectedStateVersion (required), +3 more. Returns: object
move_device_to_chainADestructive
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.
Inputs: trackId (required), deviceId (required), targetChainId (required), targetTrackId (required), +5 more. Returns: object
open_live_setADestructive
Plan/open a macOS Set; launch requires closed Live and configured app.
Inputs: path (required), mode, dryRun, planHash, +3 more. Returns: object
override_parameter_automationBDestructive
Explicitly take one exact active or overridden device/mixer automation control into manual control at one absolute native value or finite unit display. Keeps the envelope and playback. Active automation may advance before confirmation; manual values and native ancestry remain bound. Recording/count-in and unsafe targets refuse. One write with bounded readback; partial work remains without rollback/replay. All profile.
Inputs: trackId (required), parameterId (required), expectedStateVersion (required), value, +5 more. Returns: object
panicCDestructive
Plan or stop Live playback immediately using the guarded panic operation.
Inputs: expectedStateVersion (required), dryRun, planHash, confirmationToken. Returns: object
perform_beat_repeat_fillADestructive
Set an existing native Beat Repeat's Repeat On for 0.25–8 requested wall-clock seconds, then release Off on Live display ticks without a client. Requires authorized playback, Repeat Off and no source recording/Repeat automation. Owns only Repeat; manual changes relinquish ownership. No beat timing, bypass or audible-result guarantee. Updated bridge; all profile.
Inputs: trackId (required), deviceId (required), durationSeconds (required), expectedStateVersion (required), +3 more. Returns: object
place_session_clip_in_arrangementADestructive
Copy a Session MIDI/warped-audio clip using its full loop plus lead-in or nonlooped marker span. Binds source identity/content; excludes file bytes and automation. Refuses overlap, frozen, recording and pending launches. Partial work remains with verification receipts. Limit: 4096 notes/clips. Updated bridge.
Inputs: clipId (required), trackId (required), startBeats (required), expectedStateVersion (required), +3 more. Returns: object
plan_arrangement_repeatARead-onlyIdempotent
Read an inventory map for repeating a whole Arrangement passage on explicit tracks into an empty destination window. Preserves relative clip offsets and gaps; reports boundary clips, destination content and planned overlaps. Up to 64 tracks, 512 source beats, 16 repeats and 256 placements. Non-atomic metadata preview, not a confirmation or content/automation verification. Each copy needs fresh guarded confirmation. All profile.
Inputs: trackIds (required), sourceEndBeats (required), sourceStartBeats (required), destinationStartBeats (required), +1 more. Returns: object
plan_audio_midi_sketchARead-onlyIdempotent
Propose approximate monophonic source-audio MIDI notes in native warped clip beats. Uses current loop/markers or an explicit region, 0.256–30 seconds, one selected channel and assigned uniform velocity. Does not render clip pitch, groove or effects, change audio, or create MIDI.
Inputs: clipId (required), trackId (required), endBeats, velocity, +2 more. Returns: object
plan_drum_patternBRead-onlyIdempotent
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.
Inputs: bars (required), grid (required), lanes (required), startBeat. Returns: object
plan_drum_pattern_editARead-onlyIdempotent
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.
Inputs: bars (required), grid (required), lanes (required), clipId (required), +2 more. Returns: object
plan_drum_variationARead-onlyIdempotent
Plan deterministic bounded timing and velocity humanization plus an optional explicit final-bar fill. Preserves unrelated notes and rejects collisions.
Inputs: bars (required), grid (required), seed (required), clipId (required), +7 more. Returns: object
plan_grid_envelope_patternARead-onlyIdempotent
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.
Inputs: bars (required), grid (required), onValue (required), offValue (required), +2 more. Returns: object
plan_group_system_recallARead-onlyIdempotent
Read a saved group-system capture and check a one-to-one mapping onto existing tracks in matching Live order and group hierarchy. Validates each exposed track state for individual guarded recall; does not mutate Live or perform a multi-track transaction.
Inputs: name (required), mapping (required), busTrackId (required). Returns: object
plan_midi_chord_arpeggiationBRead-onlyIdempotent
Plan deterministic up, down, up-down, or seeded-random arpeggiation of complete chord onsets.
Inputs: gate (required), mode (required), seed (required), clipId (required), +3 more. Returns: object
plan_midi_chord_doublingBRead-onlyIdempotent
Plan exact bass, top, or outer octave chord doublings across complete selected onsets.
Inputs: mode (required), clipId (required), noteIds (required), trackId (required). Returns: object
plan_midi_chord_inversionARead-onlyIdempotent
Plan deterministic octave rotation of complete chord onsets while preserving all non-pitch note state.
Inputs: steps (required), clipId (required), noteIds (required), trackId (required), +1 more. Returns: object
plan_midi_chord_voice_leadingARead-onlyIdempotent
Plan deterministic octave-only voice leading across complete chord onsets, anchored to the first chord.
Inputs: mode (required), clipId (required), noteIds (required), trackId (required), +2 more. Returns: object
plan_midi_diatonic_chord_qualityBRead-onlyIdempotent
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.
Inputs: mode (required), clipId (required), noteIds (required), trackId (required), +7 more. Returns: object
plan_midi_diatonic_harmonyARead-onlyIdempotent
Plan literal harmony voices above or below exact in-scale MIDI notes using Live's current key and scale.
Inputs: clipId (required), noteIds (required), trackId (required), degreeOffsets (required). Returns: object
plan_midi_diatonic_transpositionBRead-onlyIdempotent
Plan scale-degree transposition of exact in-scale MIDI note IDs using Live's current key and scale.
Inputs: clipId (required), noteIds (required), trackId (required), scaleSteps (required). Returns: object
plan_midi_drop_voicingBRead-onlyIdempotent
Plan deterministic drop-2, drop-3, or drop-2-and-4 voicings for complete chord onsets.
Inputs: mode (required), clipId (required), noteIds (required), trackId (required). Returns: object
plan_midi_gate_patternBRead-onlyIdempotent
Plan explicit repeating gate ratios across complete ordered MIDI onsets on a straight or triplet beat grid.
Inputs: clipId (required), noteIds (required), trackId (required), gridBeats (required), +1 more. Returns: object
plan_midi_humanizationARead-onlyIdempotent
Plan deterministic bounded timing and velocity humanization for exact MIDI note IDs. Preserves expression metadata and rejects new same-pitch collisions.
Inputs: seed (required), clipId (required), noteIds (required), trackId (required), +3 more. Returns: object
plan_midi_probability_patternBRead-onlyIdempotent
Plan explicit repeating playback probabilities across complete ordered MIDI onsets.
Inputs: clipId (required), noteIds (required), trackId (required), probabilities (required). Returns: object
plan_midi_ratchet_patternBRead-onlyIdempotent
Plan explicit straight or triplet MIDI repeats across complete ordered onsets.
Inputs: gate (required), clipId (required), noteIds (required), trackId (required), +2 more. Returns: object
plan_midi_scale_chord_remappingARead-onlyIdempotent
Plan complete chord onsets onto explicit degrees of Live's current scale while preserving chord intervals and expression.
Inputs: mode (required), clipId (required), noteIds (required), trackId (required), +1 more. Returns: object
plan_midi_strum_patternBRead-onlyIdempotent
Plan deterministic up, down, or alternating chord attacks while preserving every selected note end.
Inputs: clipId (required), noteIds (required), trackId (required), direction (required), +1 more. Returns: object
plan_midi_transpositionARead-onlyIdempotent
Plan exact chromatic transposition of stable MIDI note IDs while preserving all non-pitch note state.
Inputs: clipId (required), noteIds (required), trackId (required), semitones (required). Returns: object
plan_midi_velocity_curveBRead-onlyIdempotent
Plan exact crescendo, decrescendo, fixed, or repeating accent velocities across complete ordered MIDI onsets.
Inputs: curve (required), clipId (required), noteIds (required), trackId (required). Returns: object
plan_scale_basslineARead-onlyIdempotent
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.
Inputs: gate (required), degrees (required), maxPitch (required), minPitch (required), +6 more. Returns: object
plan_scale_chord_progressionARead-onlyIdempotent
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.
Inputs: degrees (required), maxPitch (required), minPitch (required), velocity (required), +8 more. Returns: object
plan_scale_melodyBRead-onlyIdempotent
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.
Inputs: gate (required), grid (required), events (required), repeats (required), +5 more. Returns: object
prepare_instrument_comparisonADestructive
Plan or natively duplicate a MIDI instrument track for comparison. Binds exposed devices, routing, clips and notes; verifies source/copy and cleans up a failed copy. Requires stopped transport. Temporarily mutes source, restores it, leaves copy muted/unarmed with input monitoring off. IDs shift. Opaque state/audio unverified.
Inputs: name (required), clipId (required), trackId (required), expectedStateVersion (required), +3 more. Returns: object
propose_audio_transient_warpARead-onlyIdempotent
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 and one-hop detector resolution in beats for every candidate; suppresses actions within that resolution or competing with a closer onset at the same slot. Optional musical roles label bars, downbeats, quarter pulses and half-beat upbeats from the clip meter. Optional feelBars aggregates one to eight bars of selected onset timing and strength by grid slot; this is not native Groove Pool extraction or baking. Heuristic, source-only, no edit or audible validation; individually dry-run actions against current state before applying.
Inputs: clipId (required), trackId (required), gridBeats (required), feelBars, +4 more. Returns: object
quantize_audio_clipADestructive
Plan or request Live native quantization for one warped audio clip at a selected grid, amount, and observed global swing. Dry runs warn that Live may insert many warp markers and shift existing source start/end anchors; duplicate the clip first if the original edit must be preserved. Returns native anchors and a measured before/after marker-change summary; an existing marker is not guaranteed to snap to the grid. Use move_audio_warp_marker for an exact anchor move. Requires unchanged audio state and swing. Does not quantize MIDI note ends.
Inputs: grid (required), amount (required), clipId (required), trackId (required), +4 more. Returns: object
randomize_rack_macrosADestructive
Plan or invoke Live's native randomization of eligible mapped rack macros. Binds exact rack and parameter state, then reports observed values. No seed or predictable outcome is available.
Inputs: trackId (required), deviceId (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
read_production_artifactARead-onlyIdempotent
Read a bounded page of one private project artifact. Follow nextOffset for more detail; truncated pages are not complete evidence.
Inputs: projectId (required), artifactId (required), limit, offset. Returns: object
recall_device_chain_snapshotADestructive
Plan or recall Return or master mixer, available master output channel, exposed device parameters, rack-chain mixer, Drum Rack note routing and populated pad mute/solo onto exactly compatible topology in one guarded Live undo step. Legacy v1-v5 captures remain supported. Does not create, delete, or load devices or restore hidden plugin state.
Inputs: trackId (required), snapshot (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
recall_device_parameter_snapshotADestructive
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.
Inputs: trackId (required), deviceId (required), snapshot (required), expectedStateVersion (required), +3 more. Returns: object
recall_group_system_snapshotADestructive
Plan or apply a saved group-system capture onto one-to-one mapped compatible existing Group Track and descendants. One guarded native callback and Live undo step restore exposed track mixer, routing, device and rack state; on failure the bridge attempts rollback across every changed track. Does not recreate tracks/devices/clips or hidden plugin state.
Inputs: name (required), mapping (required), busTrackId (required), expectedStateVersion (required), +3 more. Returns: object
recall_rack_macro_variationADestructive
Plan or recall one existing rack macro variation by zero-based index. Binds exact rack and current parameter state; Live exposes observed values after recall, not the saved variation contents beforehand.
Inputs: trackId (required), deviceId (required), variationIndex (required), expectedStateVersion (required), +3 more. Returns: object
recall_track_state_snapshotADestructive
Plan or recall captured track-state JSON onto exactly compatible topology and group membership (when captured). Restores track and rack-chain mixer, sends, routing, Drum Rack note routing, populated pad mute/solo and exposed nested parameters in one guarded native undo step; older snapshots without group context remain supported. Does not load devices, clips, samples, hidden state, automation or mappings.
Inputs: trackId (required), snapshot (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
record_arrangement_takeADestructive
Record one armed unfrozen ordinary track into an empty Arrangement beat range. Requires stopped playback/recording, no other arms, Session playback/overrides or pending launches. Uses native punch-in/out, disables loop/overdub/Automation Arm, changes loop bounds/playhead, and stops owned record/playback at the end without a client. Leaves target armed and setup controls in place. Partial material retained; all profile.
Inputs: trackId (required), endBeats (required), startBeats (required), expectedStateVersion (required), +3 more. Returns: object
record_production_noteAIdempotent
Store explicit user intent or feedback as a private immutable artifact. Supply its noteRef in later task contextRefs to reuse it.
Inputs: kind (required), text (required), projectId (required), contextRefs. Returns: object
record_session_arrangementADestructive
Record Session clip/scene choices into an empty Arrangement tail after all existing clips. Requires stopped playback, playhead already at a native bar start aligned with the global launch grid, all explicit/implicit arms off, loop/punch/automation arm/Session recording off and supported count-in. Sets and verifies the insert marker at startBeats, then starts global Arrangement record/playback; leaves that marker at the start. Native display ticks request both stopped at endBeats or 300 seconds while scope remains owned, even after client disconnect. Tempo/meter and Session choices may change; track/arm/insert-marker/recording control changes relinquish cleanup. Retains partial clips and endpoint overhang; no exact timing, rendered audio, input or gesture-automation proof. Updated bridge; all profile.
Inputs: endBeats (required), startBeats (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
redoBDestructive
Plan or apply one guarded Ableton redo operation.
Inputs: expectedStateVersion (required), dryRun, planHash, confirmationToken. Returns: object
re_enable_parameter_automationADestructive
Hand one exact overridden device or mixer control back to native automation. Binds native owner/device/control identities and current manual value. Requires supported enabled control, unfrozen target and recording/count-in off; preserves playback. Values may jump. Reports active automation separately from requested handoff. Partial work remains; no rollback or replay. All profile.
Inputs: trackId (required), parameterId (required), expectedStateVersion (required), dryRun, +3 more. Returns: object
remove_audio_warp_markerADestructive
Plan or apply deletion of an exact visible audio warp marker. Rejects the hidden terminal marker and stale clip state.
Inputs: clipId (required), trackId (required), beatTime (required), expectedStateVersion (required), +3 more. Returns: object
remove_midi_notesADestructive
Delete exact note IDs and their expression from one Session/Arrangement MIDI clip. Keeps other notes and timing; playback can continue. Rejects stale or unsafe sources. Reports actual partial work without rollback or reconstruction. Explicit deletion intent required; all profile.
Inputs: clipId (required), noteIds (required), trackId (required), expectedStateVersion (required), +3 more. Returns: object
rename_arrangement_clipBDestructive
Rename one exact Arrangement MIDI or audio clip without changing selection, playback or musical controls. Binds native ownership, clip layout, interval and prior name, then rechecks at undo entry. Reports actual name and retained identity; no-op writes are skipped. Partial work remains without rollback or replay. All profile; updated bridge.
Inputs: name (required), clipId (required), trackId (required), expectedStateVersion (required), +3 more. Returns: object
rename_arrangement_cue_pointCDestructive
Plan or rename one exact Arrangement cue point.
Inputs: name (required), cuePointId (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
rename_rack_chainADestructive
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.
Inputs: name (required), chainId (required), trackId (required), deviceId (required), +4 more. Returns: object
rename_rack_macroADestructive
Plan or rename one exact rack macro when Live exposes an unambiguous macro parameter layout and name readback. Rechecks the full rack snapshot and confirms the observed name after the native write.
Inputs: name (required), trackId (required), deviceId (required), macroIndex (required), +4 more. Returns: object
rename_session_objectADestructive
Rename an exact track, Group, Return, scene or Session clip. Binds native identity/layout and prior label; rechecks at undo entry. Reports partial outcomes. Return labels omit the bus letter. Updated bridge required.
Inputs: name (required), targetId (required), targetType (required), expectedStateVersion (required), +4 more. Returns: object
return_tracks_to_arrangementADestructive
Return explicit ordinary tracks from Session override while preserving global playback and loop settings, without seeking. May stop their Session clips and reveal Arrangement material or silence. Refuses Groups, recording, armed/frozen targets, pending target launches and unresolved holds. Native identity guards; partial results retained. Immediate, not beat-scheduled or audible proof. Updated bridge; all profile.
Inputs: trackIds (required), expectedStateVersion (required), dryRun, planHash, +1 more. Returns: object
reverse_audio_clipADestructive
Reverse one exact Session or Arrangement audio clip through macOS English Live's Clip View. Requires a saved Set, unique clip name, stopped/unarmed/unfrozen state, PCM/FLAC source up to 60 seconds/64 MiB and ffmpeg. Selects the clip, changes its source and native timing/warp placement. Verifies decoded reverse frames and unchanged original source bytes; does not verify envelope contents or audible outcome. Partial work retained; never replay automatically. All profile; updated bridge.
Inputs: clipId (required), trackId (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
route_tracks_to_busCDestructive
Plan or route existing tracks to one exact existing group bus using Live's available routing choices.
Inputs: trackIds (required), busTrackId (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
route_tracks_to_return_busADestructive
Plan or route existing tracks to one exact Return bus using matching sends and Sends Only outputs. Prevalidates all sources; Live applies one undo step but runtime failures can interrupt it.
Inputs: trackIds (required), sendValue (required), returnTrackId (required), expectedStateVersion (required), +3 more. Returns: object
run_production_taskB
Run configured creative and/or functional specialists with bounded private context. Returns an immutable proposal reference, never executes Live changes. Optional caller postconditions define required final field checks. Provider use follows explicit server configuration.
Inputs: goal (required), projectId (required), roles, scope, +5 more. Returns: object
save_device_chain_snapshotA
Capture a device chain including Return or master mixer, available master output channel, exposed rack-chain controls and populated Drum Rack pad mute/solo into the private named local chain library. Never overwrites. Does not save hidden plugin state, samples, automation, or mappings.
Inputs: name (required), trackId (required). Returns: object
save_group_system_snapshotA
Capture an existing Group Track and descendants into a private named local JSON file. Never overwrites; preserves exposed mixer, routing, device and rack state but not clips, samples, hidden plug-in state, automation or mappings.
Inputs: name (required), busTrackId (required). Returns: object
save_live_setCDestructive
Save macOS Set; verify write or clean state. Path: Save As without overwrite.
Inputs: expectedStateVersion (required), expectedSetFingerprint (required), path, dryRun, +2 more. Returns: object
save_midi_feel_templateA
Analyze exact MIDI notes with an optional cycle origin and save a private named timing/velocity template. Never overwrites. Rejects assigned native grooves; does not capture their playback effects.
Inputs: grid (required), name (required), clipId (required), trackId (required), +3 more. Returns: object
save_native_device_presetADestructive
Save an exact device or rack as a new native User Library preset through macOS English Live. Sets intended preset naming and changes focus; may rename the source. Requires saved Set and stopped transport. Refuses existing names; verifies Live XML/VST3 artifacts and exposed source state. Audio Unit artifact verification is unavailable. No recall, audible-equivalence or sample-portability claim.
Inputs: name (required), trackId (required), deviceId (required), expectedStateVersion (required), +3 more. Returns: object
save_track_state_snapshotA
Capture one exact track state and save its JSON to the private named local snapshot library. Never overwrites; excludes clips, hidden plugin state, samples, automation and mappings.
Inputs: name (required), trackId (required). Returns: object
search_browser_item_metadataARead-onlyIdempotent
Search saved private tags and favorites for Live browser items or local_splice samples. Results are not reverified against Live or the local filesystem and do not represent native collections.
Inputs: root, tags, limit, favorite. Returns: object
search_browser_itemsARead-onlyIdempotent
Search a bounded subtree of Live's browser and return exact paths usable by load_browser_item. Optionally join private MCP tags and favorites by exact root, path, and URI; not native Live collections.
Inputs: root (required), query (required), path, limit, +2 more. Returns: object
search_browser_rootsARead-onlyIdempotent
Search selected/all available Live roots in order. Returns exact root/path, unavailable roots and result/scan truncation. Optional private MCP tags/favorites match root/path/URI; not native collections or Splice cloud.
Inputs: query (required), limit, roots, maxDepth, +2 more. Returns: object
search_local_splice_samplesARead-onlyIdempotent
Search existing local Splice audio files by filename/folder, private favorite state and/or private tags. Query is optional when a metadata filter is supplied. Filtering happens before pagination; visited and truncated report an incomplete bounded scan. Private metadata is not a native Splice collection; no cloud search, license verification, download, or sync.
Inputs: rootPath (required), tags, limit, query, +5 more. Returns: object
search_presetsARead-onlyIdempotent
Search optional local NKS presets by name, across products unless productSlug is given. Missing inventory records are excluded. Result catalog.configured distinguishes unavailable configuration from no matches.
Inputs: tags, limit, query, favorite, +1 more. Returns: object
select_device_ab_slotADestructive
Load exact native device A/B slot A or B while preserving transport. Binds current device identity/parameters and refuses recording, frozen owner or active/unknown automation. Switching can disable automation without re-enabling it on return. Reports observed slot/controls; no hidden preset, automation-preservation, phase or audible proof.
Inputs: trackId (required), deviceId (required), targetSlot (required), expectedStateVersion (required), +3 more. Returns: object
select_instrument_comparisonADestructive
Plan or switch only the original/alternative pair's mutes in one native step. Restore uses the reported preparation/adoption mute baseline. Refuses recording, frozen, solo and live-input conflicts. No playback, routing or note edits. Optional finish ends the handle and preserves both tracks.
Inputs: choice (required), comparisonId (required), expectedStateVersion (required), dryRun, +3 more. Returns: object
select_take_lane_auditionADestructive
Select audition for one entire visible take lane, or return its track to the comp with laneId null. Rechecks native and UI identities/flags. Does not start playback, edit the comp or change mutes/solos/routing. Requires a saved Set with native document identity and one Live instance; macOS English Live, all profile.
Inputs: laneId (required), trackId (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
set_audio_clip_stateCDestructive
Guard audio settings and bounds: warped beats or unwarped seconds. Change warp separately. Verify independent readback.
Inputs: clipId (required), trackId (required), expectedStateVersion (required), gain, +11 more. Returns: object
set_beat_repeat_enabledADestructive
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.
Inputs: enabled (required), trackId (required), deviceId (required), expectedStateVersion (required), +3 more. Returns: object
set_beat_repeat_gridADestructive
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.
Inputs: trackId (required), deviceId (required), gridDisplayValue (required), expectedStateVersion (required), +3 more. Returns: object
set_beat_repeat_intervalADestructive
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.
Inputs: trackId (required), deviceId (required), expectedStateVersion (required), intervalDisplayValue (required), +3 more. Returns: object
set_browser_item_metadataADestructive
Plan or edit private MCP-managed tags and favorite state with observed Live browser identity or local audio-file version, exact revision, and single-use confirmation. A Live user-folder sample shares the local Splice record only when its URI unambiguously matches a configured local Splice file; reserved URI delimiters and existing separate Live metadata preserve exact Live identity. For a local sample, use root local_splice and path [absolute directory, relative audio path]. Does not modify native collections.
Inputs: path (required), root (required), expectedMetadataRevision (required), tags, +4 more. Returns: object
set_browser_previewADestructive
Request start for an exact native browser item, or global stop. Can replace or stop a user preview. Guarded single native call; no loading, transport edits, ownership, active-state or audible verification. Start requires recording/count-in off. No automatic cleanup or replay. Updated bridge; all profile.
Inputs: action (required), expectedStateVersion (required), path, root, +3 more. Returns: object
set_bulk_track_mixerADestructive
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.
Inputs: trackIds (required), expectedStateVersion (required), pan, mute, +5 more. Returns: object
set_clip_parameter_envelopeADestructive
Plan/set 1–512 ordered Session envelope steps with native context checks and explicit clamping. Existing lanes require replaceExisting:true, which discards the whole curve, including unsampled edits. No full-curve backup or restoration. Playback must be stopped; recording off. Verifies sampled interiors.
Inputs: clipId (required), points (required), trackId (required), deviceId (required), +6 more. Returns: object
set_clip_slot_stop_buttonADestructive
Plan or change the stop button of one empty ordinary Session slot. Binds native full-row context, verifies readback and attempts owned rollback. Does not launch, stop playback or guarantee armed-empty recording behavior. Requires updated bridge; all profile.
Inputs: clipId (required), trackId (required), hasStopButton (required), expectedStateVersion (required), +3 more. Returns: object
set_clip_timingCDestructive
Loop, meter, launch, Legato, mute, groove and grid edits. Loops bind native identity/material; partial readback, no rollback.
Inputs: clipId (required), trackId (required), expectedStateVersion (required), loop, +10 more. Returns: object
set_crossfader_stateADestructive
Change either 1-64 exact track/Group/Return A/B assignments or the Main crossfader position in separate confirmations. Binds all native mixer identities and bus membership; requires recording/count-in off and known inactive Main automation. Position affects all assigned members. Immediate requests, not a timed fade or atomic audio transition. Partial work retained; no rollback/replay. Updated bridge; all profile.
Inputs: expectedStateVersion (required), dryRun, planHash, position, +2 more. Returns: object
set_device_activeBDestructive
Set local Device On with native identity and power-automation guards; preserves focus/playback.
Inputs: active (required), trackId (required), deviceId (required), expectedStateVersion (required), +3 more. Returns: object
set_device_parameter_displayADestructive
Set one continuous device parameter to a finite native unit display (Hz/kHz, ms/s, dB, %). Resolves through Live's formatter without guessing raw values; refuses automation, recording and unrepresentable targets. Requires all profile.
Inputs: trackId (required), deviceId (required), parameterId (required), targetDisplay (required), +4 more. Returns: object
set_device_parametersADestructive
Plan/set bounded device parameters on ordinary/Return/Main tracks. Strings select exact unambiguous quantized labels; numbers retain native clamping. Looper State Record/Overdub writes mutate recorded content: restoring a parameter does not restore captured audio.
Inputs: changes (required), trackId (required), deviceId (required), expectedStateVersion (required), +3 more. Returns: object
set_device_sidechain_routingADestructive
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.
Inputs: trackId (required), deviceId (required), expectedStateVersion (required), dryRun, +4 more. Returns: object
set_drum_pad_stateBDestructive
Plan or mute/solo an exact populated Drum Rack pad by MIDI note with a guarded rack snapshot. Does not assign sounds to pads.
Inputs: note (required), trackId (required), deviceId (required), expectedStateVersion (required), +5 more. Returns: object
set_grooveADestructive
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.
Inputs: grooveId (required), expectedStateVersion (required), name, dryRun, +7 more. Returns: object
set_group_fold_stateADestructive
Plan or apply the folded state of one exact existing group track.
Inputs: folded (required), trackId (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
set_live_object_colorsADestructive
Set colors for one to 64 exact tracks, Returns, Main, scenes or existing Session/Arrangement clips in one undo step. Binds native identity and current color/name/selection. Live may choose a nearby palette color; reports actual RGB and exactMatch. Track color inheritance can affect Rack-chain appearance. No automatic clip recoloring or musical writes. Partial changes remain. All profile.
Inputs: changes (required), expectedStateVersion (required), expectedSetFingerprint (required), dryRun, +2 more. Returns: object
set_looper_stateADestructive
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.
Inputs: trackId (required), deviceId (required), targetState (required), expectedStateVersion (required), +3 more. Returns: object
set_master_mixerADestructive
Guard Main volume, Stereo pan, cue, crossfader and exact hardware-channel edits with native identities, recording/automation checks and deferred readback. Binds Main controls, routes and crossfader membership. Partial writes remain without rollback or replay; inspect verified and writes. Mix-wide scope required.
Inputs: expectedStateVersion (required), pan, dryRun, volume, +5 more. Returns: object
set_midi_clip_markersADestructive
Set start/end markers of one loop-enabled Session or Arrangement MIDI clip in absolute source beats. Omitted bound stays unchanged. Preserves stored notes and loop settings; same values make no write. Native guards and partial readback; no automatic rollback.
Inputs: clipId (required), trackId (required), expectedStateVersion (required), dryRun, +4 more. Returns: object
set_midi_note_propertiesBDestructive
Edit exact MIDI notes with native guards and partial readback; optional selection token.
Inputs: clipId (required), changes (required), trackId (required), expectedStateVersion (required), +4 more. Returns: object
set_mixer_panningADestructive
Change one mixer panning mode or its active Stereo balance / Split Stereo channel positions in separate confirmations. Recording/count-in off, unfrozen target, known inactive affected automation and native identities required. Immediate edits; partial work retained without rollback/replay. No timed sweep or audible image claim. Updated bridge; all profile.
Inputs: trackId (required), expectedStateVersion (required), pan, left, +5 more. Returns: object
set_preset_metadataADestructive
Plan or update user tags and favorite state for one preset with an exact revision guard.
Inputs: presetId (required), expectedMetadataRevision (required), tags, dryRun, +3 more. Returns: object
set_rack_chain_mixerADestructive
Plan or apply exact rack-chain volume, pan, mute, solo, and send levels using native ranges and guarded hierarchy state.
Inputs: chainId (required), trackId (required), deviceId (required), expectedStateVersion (required), +8 more. Returns: object
set_rack_chain_note_routingBDestructive
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.
Inputs: chainId (required), trackId (required), deviceId (required), expectedStateVersion (required), +5 more. Returns: object
set_rack_macro_mapping_edgeADestructive
Plan or change one native min or max endpoint of a rack macro with exactly one observed nonquantized mapping. Value is in the target parameter's native range. Rechecks the full rack snapshot and reads back the result; reversed ranges are possible.
Inputs: edge (required), value (required), trackId (required), deviceId (required), +5 more. Returns: object
set_return_mixerADestructive
Guard Return volume, Stereo pan, mute and solo edits with native owner/control identity, recording/automation checks and deferred readback. Existing solos and selected routes remain. Partial writes remain without rollback or replay; inspect verified and writes. A Return affects every routed source.
Inputs: returnTrackId (required), expectedStateVersion (required), pan, mute, +5 more. Returns: object
set_scene_launch_quantizationADestructive
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.
Inputs: sceneId (required), launchQuantization (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
set_scene_musical_contextADestructive
Plan or set an exact Session scene tempo and/or time-signature override. Disabled overrides inherit the song context; enabled overrides take effect when the scene is launched.
Inputs: sceneId (required), expectedStateVersion (required), tempo, dryRun, +6 more. Returns: object
set_selected_parameterADestructive
Edit the exact currently selected native control at one absolute value or finite unit display. Requires fresh selection token and unchanged identity/value/context; rejects active/unknown automation, recording/count-in and unsafe owners. Preserves focus/playback; partial work retained without rollback/replay. All profile.
Inputs: expectedStateVersion (required), expectedSelectionToken (required), value, dryRun, +3 more. Returns: object
set_session_clip_entryBDestructive
Set one inactive Session launch entry in explicit units: separate MIDI/warped marker, or unwarped nonlooped range start. Retains the end, repeating loop and exposed material. Binds native identity/content/controls; refuses recording, arms, frozen targets and pending launches. Reports partial work without rollback or replay. Does not launch or rewrite notes/files. Updated bridge; all profile.
Inputs: unit (required), start (required), clipId (required), trackId (required), +4 more. Returns: object
set_session_midi_overdubADestructive
Start or stop open-ended native Session MIDI overdub on the exact already playing loop. Toggles only global session_record with other explicit/implicit arms off and fresh guarded context. Keeps playback, routing and arms. Recording survives client disconnect; no fixed duration or automatic cleanup. May change same-pitch notes; copy the original first. Partial native work retained without rollback/replay. Control and clip-state observations do not prove a performance. Updated bridge; all profile.
Inputs: clipId (required), enabled (required), trackId (required), expectedStateVersion (required), +3 more. Returns: object
set_simpler_manual_slicesADestructive
Set an exact manual slice layout on a loaded single-sample Simpler, including nested racks. Selects Slicing/Manual mode, disables Pad Slicing and clears prior manual cuts, including outside the active region. Requires stopped transport and an inactive unarmed target; verifies native slices and retained sample. No file crop/reload or automatic rollback. All profile.
Inputs: trackId (required), deviceId (required), slicesFrames (required), expectedStateVersion (required), +4 more. Returns: object
set_simpler_sample_regionADestructive
Set a loaded Simpler playback region in native sample frames, including nested racks. At least one marker; omitted bound stays unchanged. Requires stopped transport and an inactive unarmed single-sample target. Binds native context and verifies exact markers; does not crop the source file. Partial failure requires inspection; no automatic rollback. All profile.
Inputs: trackId (required), deviceId (required), expectedStateVersion (required), dryRun, +4 more. Returns: object
set_song_musical_contextBDestructive
Plan or apply guarded song key, scale, timing, quantization, groove, swing, or loop changes.
Inputs: expectedStateVersion (required), key, loop, dryRun, +5 more. Returns: object
set_tempoADestructive
Plan or apply a guarded tempo change from 20 to 999 BPM; returns the plan or observed tempo.
Inputs: tempo (required), expectedStateVersion (required), dryRun, planHash, +1 more. Returns: object
set_track_freeze_stateADestructive
Plan/apply native track freeze or unfreeze. Requires a saved Set, stopped playback/recording, an unarmed visible ordinary track and macOS English Live. Changes focus and selection; verify freezeVerified and inspect uncertain outcomes before continuing.
Inputs: frozen (required), trackId (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
set_track_midi_routingADestructive
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.
Inputs: trackId (required), expectedStateVersion (required), dryRun, inNote, +5 more. Returns: object
set_track_mixerADestructive
Plan or apply guarded track volume, pan, mute, solo, and return-send changes.
Inputs: trackId (required), expectedStateVersion (required), pan, mute, +6 more. Returns: object
set_track_routingADestructive
Plan or apply guarded track routing and monitoring changes by exact choice ID.
Inputs: trackId (required), expectedStateVersion (required), dryRun, planHash, +6 more. Returns: object
set_track_send_dbADestructive
Set one track-to-Return send in native dB or to its verified silent minimum. Rechecks track, send and Return identity, current value and automation. Refuses recording, frozen or disabled sends and unsupported levels.
Inputs: sendDb (required), sendId (required), trackId (required), returnTrackId (required), +4 more. Returns: object
set_track_volume_dbADestructive
Set a track, Group, Return or Main fader in dB using Live's native display, with native owner/mixer/fader identity, value and automation rechecks. Refuses recording/count-in, frozen, disabled or automated faders and unrepresentable levels. Return/Main edits affect all routed audio. Updated bridge; all profile.
Inputs: trackId (required), volumeDb (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
set_transport_contextADestructive
Plan/apply metronome or count-in settings. Count-in requires stopped playback/recording, a saved Set and macOS English Live UI; changes focus.
Inputs: expectedStateVersion (required), dryRun, planHash, metronome, +2 more. Returns: object
set_transport_recording_contextADestructive
Plan or apply guarded playhead and recording-mode changes. Absolute seeks use native Set identity, allow playing clock progress and require recording/count-in off. Playing position is unverified; partial seek writes are not rolled back. Stop active recording separately before seeking.
Inputs: expectedStateVersion (required), dryRun, session, planHash, +4 more. Returns: object
show_live_objectADestructive
Select and show an exact track, Session slot/clip, Arrangement clip or device in native Live views. Omit clipId/deviceId for the track. Plans preserve focus; confirmation changes selection and control-surface focus and may unfold Group ancestors, expand devices and reveal Rack chains. No playback or musical writes requested. Recording must be off. Native view readback does not prove desktop activation, timeline scrolling or plug-in editor visibility. All profile.
Inputs: view (required), trackId (required), expectedStateVersion (required), expectedSetFingerprint (required), +5 more. Returns: object
show_take_lanesADestructive
Show Arrangement and one track take lanes through the macOS English Live UI. Requires an unarmed unfrozen track, recording off and unfolded ancestor groups. Requires a saved Set with native document identity and one Live instance. Changes visible UI/focus; no playback or comp edit.
Inputs: trackId (required), expectedStateVersion (required), dryRun, planHash, +1 more. Returns: object
start_production_sessionA
Capture a durable production brief and current Set identity. Starts at inspect; does not call a model or change Live. Keep the returned sessionId for later conversations.
Inputs: goal (required), projectId (required), roles, scope, +4 more. Returns: object
stop_all_clipsADestructive
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.
Inputs: expectedStateVersion (required), dryRun, planHash, confirmationToken. Returns: object
stop_clipCDestructive
Plan or stop one exact Session clip slot.
Inputs: clipId (required), trackId (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
store_rack_macro_variationA
Plan or store a new native variation of mapped rack macros. Binds exact rack and parameter state, reports the observed count and appended storedVariationIndex independently of selection; variation contents are not exposed by Live's API.
Inputs: trackId (required), deviceId (required), expectedStateVersion (required), dryRun, +2 more. Returns: object
transform_midi_notesADestructive
Plan/apply exact-ID quantize, legato, duplicate, scaleTime or reverseTime MIDI transforms. reverseTime reflects whole selected note spans in an explicit clip-beat window, retaining duration and other exposed properties; hidden expression/envelopes are not reversed.
Inputs: clipId (required), noteIds (required), trackId (required), operation (required), +4 more. Returns: object
transport_playBDestructive
Plan or start Ableton transport playback.
Inputs: expectedStateVersion (required), dryRun, planHash, confirmationToken. Returns: object
transport_stopCDestructive
Plan or stop Ableton transport playback.
Inputs: expectedStateVersion (required), dryRun, planHash, confirmationToken. Returns: object
undoBDestructive
Plan or apply one guarded Ableton undo operation.
Inputs: expectedStateVersion (required), dryRun, planHash, confirmationToken. Returns: object
ungroup_tracksADestructive
Remove one native Group through macOS English Live UI, promoting its children to the enclosing Group or root. Removes its processing/mixer stage, shifts IDs and numbered labels, and can change sound/routing. Saved Set, stopped transport/recording, unarmed/unfrozen descendants and visible Group required. Refuses exposed external dependencies. Group devices require allowContent. Verifies retained descendants and exposed controls. No automatic undo/regrouping. Retain ungroupingId before execution. All profile.
Inputs: groupTrackId (required), expectedStateVersion (required), expectedSetFingerprint (required), dryRun, +3 more. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 328 tools
With 328 tools, many near-duplicate or overlapping operations exist, such as get_midi_clip_notes vs get_midi_clip_notes_extended, multiple get_*_context readers, and large plan/apply/context triplets for the same domain. Descriptions are unusually detailed and often distinguish safe read-only vs guarded write behavior, but the sheer number of similarly named context, plan, apply, and status tools makes tool selection error-prone.
The tool set overwhelmingly uses consistent snake_case with predictable verb_noun patterns like get_*, set_*, list_*, create_*, plan_*, apply_*, and delete_*. There are minor deviations such as panic, undo, redo, transport_play, and transport_stop, but the convention remains readable throughout.
328 tools is an extreme mismatch for practical agent use and far exceeds any reasonable scoped tool surface. Even for a complex DAW, this many narrowly separated tools creates enormous selection overhead and makes the set unwieldy despite each tool potentially earning its place in some workflow.
The surface covers an enormous range of Ableton Live operations: tracks, clips, devices, racks, mixer, transport, browser, presets, recording, automation, export, and snapshots. Some gaps remain, such as native groove deletion and hidden plug-in state, but these are largely explicit API limitations with documented workarounds.
Maintenance
Related MCP Connectors
Hosted remote MCP for protected account access, permissions, activity history and supported undo.
Create, co-edit, analyze, publish, and export collaborative step-sequencer sessions through MCP.
JW3.ai remote MCP server for market reads and confirm-gated trading execution.
Governed MCP front door to FLOCORE; write calls need human approval and signed receipts.
Related MCP Servers
- AlicenseBqualityCmaintenanceTurns Ableton Live into an MCP-accessible control surface, providing tools for controlling transport, tracks, clips, and devices, as well as resources for reading live state.510035 PyPI3MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that exposes Ableton Live control (session state, transport, tracks, devices, clips, MIDI note editing) as tools for LLM agents, enabling natural language manipulation of a Live session.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to programmatically control an Ableton Live 12 session, including tracks, clips, MIDI notes, devices, parameters, mixer, scenes, warping, and rendering, over streamable HTTP.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables exposing any REST or GraphQL API as MCP tools from a single JSON spec, with writes requiring explicit confirmation before being sent.MIT