ableton-live-mcp
This server provides comprehensive, low-latency control over Ableton Live's object model, enabling AI agents to automate nearly any task within the DAW — from creating and manipulating clips to managing devices and integrating external content, with the flexibility to execute arbitrary Python code.
Core Object Model Access
Evaluate arbitrary Python expressions/statements inside Live (
live_eval,live_exec) withsong,app, andLivebindingsRead/write any property, call any method, and list children on Live objects (
live_get,live_set,live_call,live_children)Run multiple operations in a single round-trip for efficiency (
live_batch)
Session & Set Inspection
Get compact, filterable summaries of the entire Live set — tracks, devices, clips, return tracks, master track (
live_set_summary)Check bridge health and version (
live_ping)
MIDI Clip Editing
Create MIDI clips, add, update, and list notes (pitch, velocity, duration, mute, probability, etc.)
Automation & Envelopes
Inspect and edit clip automation envelopes for any parameter
Generate parameter automation driven by MIDI note velocities
Audio Clip Tools
Insert local audio files as Arrangement clips, manage warp markers and warp mode
Duplicate Session clips to the Arrangement view
Track & Device Control
Add tracks and insert built-in Ableton devices by name
List all device parameters with metadata (min, max, quantization) and set values with validation
Control third-party plugins (VSTs, AUs) via the object model
Browser / Asset Management
Search Ableton's browser for instruments, effects, samples, and presets
Load or preview browser items onto tracks
Audio Analysis & Feedback
Capture audio signals from any point in the signal chain via the built-in "Agent Audio Tap" Max for Live device, enabling mixing, mastering, signal analysis, and spectrogram generation
Event Observation
Subscribe to and drain property change events on any Live object for reactive workflows
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-live-mcp add a reverb effect to the vocal 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.
Ever wanted to control Ableton with just your voice? Me too! I made this MCP server so I could just ask Codex to do anything in Ableton Live for me, while I was nap-trapped by my baby.
Unlike other Ableton MCPs I tried, this one can do pretty much anything that is possible via Ableton's Object model; the agent can just eval arbitrary python that runs inside Ableton. It also has some tools defined for common tasks so those work faster and more reliably. I had Codex CLI optimize this for hours with the new /goal command to prioritize low end-to-end latency, high reliability, low token usage, while maintaining full flexibility.
Things you can use it for: create MIDI clips, insert audio files, general Ableton questions (with this, your agent can see your whole live set), add tracks with different devices and effects, analyze harmony, analyze audio signals at any point in the signal chain, generate spectrograms, clip automation, setting up mastering or vocal processing chains, insert MIDI the agent finds from the web... it's very general purpose, I'm not sure what the limits are.
How to setup
Just tell your AI agent (Codex, Claude Code, Cursor, Copilot, Gemini, etc.) to:
Set up the https://github.com/bschoepke/ableton-live-mcp MCP server for me
It should work on Mac and Windows with recent Ableton versions, but I have only tested it on Ableton Live Suite 12.3.8 on macOS Tahoe.
Back up your Live Set before using this. The MCP can edit your set directly and could corrupt it.
Related MCP server: Ableton Live MCP
How to update
git pull this repo or ask your agent to:
Update the https://github.com/bschoepke/ableton-live-mcp MCP server for me
Demos
Here are a couple examples of live sets made from scratch with Codex in just a few minutes, along with their prompts. After it makes something, you can ask for follow up changes.

https://www.youtube.com/watch?v=8dRRrIY7NI0
The chat messages I sent to Codex to make this:
in ableton, make a self reflective song, with audio vocals (via macos say) and chip tunes and 80's drum machines. should be a real edm banger
Follow up prompts:
i want midi for everything but vocals please, with ableton devices. not prerendered audio for instruments
needs some fills
and should hit way harder after "3-2-1 i become the sound"
the vocals are squished too much (read too quickly), give them a little more length
add some dynamics, the song is basically one volume. and some pumping side chain
improve dynamics of the clap, seems a bit flat and indistinguished, want it harder after the 3-2-1 drop
introduce a new element on a new track after the 3-2-1 drop, that comes in but then recedes before the final exit
doesn't seem like the new thing has any notes
the element is a bit muddy/indistinct. perhaps it needs simplification and more space, different instrument choice, i dunno
Prompt used to make this:
In Ableton, make a piano duet that tells the story of people debating the positive and negative merits of AI. The composition should be both beautiful and dynamic but surprising and fresh. Use Keyscape devices.
Built in Agent Audio Tap Max for Live device
The MCP includes an "Agent Audio Tap" Max for Live device that enables the agent to capture audio signals at any part of the signal processing chain. This gives the agent a full feedback loop for mixing and mastering tasks: it can capture audio signals for further processing with custom python, then tweak your Ableton devices, and then repeat.
Example usage where I asked Codex to generate a spectrogram of two piano tracks I had:
Ideas
Control your external synthesizers and other hardware with the MCP
Ask it questions like "why does my mix sound muddy?" or "how do I sidechain my bass track?"
Ask it to do things like "add a chord track that fits with my melody" or "give me a basic backing track for me to noodle on my guitar with"
You can tell it use third party plugins (VSTs, audio units) like Serum and Keyscape
Tell your agent to incorporate your existing vocal samples, including asking it to trim silence and transcribe your audio samples before creatively incorporating them into your live set
Ask your agent to set up crazy user controlled DJ effects
Experiment with VJ plugins like Videosync to make music videos driven by your live set
Available Tools
27 toolslive_batchB
Run multiple generic bridge operations in one Live main-thread request; preserves full object-model flexibility.
Inputs: operations (required), continue_on_error, include_traceback, expected_set_signature, +5 more.
live_browser_capabilitiesD
Browser roots/filter types/semantic API exposure.
Inputs: no named parameters.
live_browser_loadB
Load BrowserItem from search by id, uri, or path.
Inputs: item (required), target_track, timeout, expected_set_signature.
live_browser_previewC
Preview or stop previewing a BrowserItem.
Inputs: item, stop.
live_browser_rootsB
List app.browser roots.
Inputs: no named parameters.
live_browser_searchC
Bounded app.browser search; returns BrowserItem ids.
Inputs: query, roots, limit, max_depth, +6 more.
live_callC
Call one Live object method.
Inputs: ref (required), method (required), args, kwargs, +2 more.
live_childrenC
List child objects from a collection.
Inputs: ref (required), child (required), limit, detail, +4 more.
live_clip_add_notesC
Add MIDI notes to a clip from JSON note specs.
Inputs: ref (required), notes (required), clear, clear_range, +2 more.
live_clip_duplicate_to_arrangementB
Duplicate a Session clip to Arrangement on a target track.
Inputs: track (required), clip (required), destination_time (required), timeout, +1 more.
live_clip_envelopeC
Inspect or edit a clip automation envelope for one parameter.
Inputs: ref (required), parameter (required), create, clear, +6 more.
live_clip_notesC
List MIDI notes from a clip compactly.
Inputs: ref (required), limit, start_time, end_time, +5 more.
live_clip_update_notesC
Update existing MIDI notes by note_id.
Inputs: ref (required), updates (required), timeout, expected_set_signature.
live_clip_velocity_envelopeC
Create parameter automation from MIDI note velocities in a clip.
Inputs: ref (required), parameter (required), min_value, max_value, +7 more.
live_clip_warp_markersC
Inspect or edit audio clip warp state and markers.
Inputs: ref (required), warping, warp_mode, add_markers, +4 more.
live_device_parametersD
Compact Device parameter metadata.
Inputs: ref (required), query, limit, detail, +4 more.
live_evalA
Evaluate a Python expression inside Live with song, app, obj, and Live bindings. General Live object-model bridge; examples are heuristics, not limits. Use live_exec for statements; prefer installed browser/library assets before generated assets unless asked.
Inputs: expr (required), ref, detail, max_items, +3 more.
live_eventsC
Drain retained Live listener events.
Inputs: limit.
live_execC
Execute Python statements inside Live with song, app, obj, this, Live, and result bindings. Set result to a compact dict/list summary to return it. General Live object-model bridge; examples are heuristics, not limits.
Inputs: code (required), ref, detail, max_items, +4 more.
live_getC
Resolve object; read selected properties/children.
Inputs: ref (required), properties, children, child_limit, +5 more.
live_observeC
Add or remove a listener for an object's property.
Inputs: ref (required), property (required), enabled (required).
live_parameter_setB
Set one DeviceParameter value with min/max and quantized validation.
Inputs: ref (required), value (required), coerce, timeout, +1 more.
live_pingA
Check bridge health/version.
Inputs: no named parameters.
live_setC
Set a writable Live object property.
Inputs: ref (required), property (required), value (required), timeout, +1 more.
live_set_summaryD
Compact set summary.
Inputs: track_limit, clip_slot_limit, device_limit, arrangement_clip_limit, +8 more.
live_track_create_audio_clipC
Create an Arrangement audio clip on a track from a local audio file.
Inputs: ref (required), file_path (required), destination_time (required), name, +2 more.
live_track_insert_deviceC
Insert a named built-in Live device on a track.
Inputs: ref (required), device_name (required), device_index, timeout, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 27 tools
Many tools have clear, distinct purposes for specific resources like clips, devices, and browser. However, the generic object-model bridge tools (live_call, live_get, live_set, live_eval, live_exec, live_observe, live_batch) have overlapping functionality and subtle differences that could cause confusion for agents. Descriptions help but don't fully resolve ambiguity.
All tools start with 'live_' and most follow a 'live_[resource]_[action]' pattern, e.g., live_clip_add_notes, live_browser_search. A few generic tools like live_call, live_children, and live_ping deviate from this pattern but are still readable. The naming is mostly consistent with minor exceptions.
27 tools cover a broad range of Ableton Live functionality including clips, devices, browser, tracks, and a general object bridge. The count is slightly high but justified by the complexity of the domain. It is well-scoped and not excessive.
The tool set provides comprehensive coverage for major workflows: browser navigation, clip editing (notes, envelopes, warp), device control, and track management. The inclusion of general bridge tools (live_get, live_set, live_call, live_eval) fills any gaps, allowing agents to perform essentially any operation on the Live object model.
Maintenance
Related MCP Connectors
Score video, make music as an agent: 100+ AI instruments play your MIDI, audio, stems, Logic/Ableton
Autonomous music production for AI agents with MIDI generation, QC and provenance.
Compose, mix, master and export in Logic Pro, REAPER or Ableton Live by talking to an AI engineer.
AI music, video, image, and voice tools callable by agents with USDC payments via x402 on Base.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables programmatic control of Ableton Live using natural language to manage session transport, tracks, MIDI clips, and device parameters. It also integrates ElevenLabs for AI-generated audio and provides a high-performance framework for real-time performance tools.16MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to control and inspect Ableton Live by executing Python code directly against the Live Object Model. It allows for automated track management, MIDI note creation, and real-time session manipulation through a natural language interface.37 PyPI2MIT
- FlicenseCqualityCmaintenanceEnables full control of Ableton Live from AI assistants, including transport, tracks, clips, devices, and scene management through 143 tools.100-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to control Ableton Live with full access to Live's object model, including clip creation, device control, automation, and audio signal capture for mixing and mastering tasks.1MIT