
Ableton Live MCP Server
io.github.wstierhoutPublished by GitHub account wstierhoutv1.8.1Updated Oct 24, 2026
Control Ableton Live with 156 typed tools for music production and offline .als analysis.
Overview
Local MCP server that lets an assistant build tracks, edit MIDI, load devices and mix inside a running Ableton Live set, plus analyze saved .als projects…
- What you can do
- Control session and transport: tempo, play/stop, loop, locators, scenes, undo, Link
- Create and manage tracks and mixer settings, including routing, sends and meters
- Create clips and write or edit MIDI notes, quantize, groove and warp settings
- Browse and load instruments and effects, read and set device parameters, drum pads and racks
- Arrange clips on the timeline, write automation, and run generators for drums, chords, basslines and melodies
- Record a section to WAV, detect key, scan the mix, and inspect or diff saved .als, .adg and .adv files without Live
- When to use it
- Useful when you want an AI assistant to help produce music in Ableton Live 11 or 12 — sketching beats, editing MIDI, sound design, mixing — or to inspect and compare saved Live project files without opening Live.
- Requirements
- Runs locally over stdio via uvx (Python 3.10+ and uv). Needs Ableton Live 11 or 12 with the bundled Remote Script installed and selected as a Control Surface; the bridge listens on 127.0.0.1:9877. Optional ABLETON_TOOLSETS, ABLETON_MCP_PORT and ABLETON_PORT variables tune the toolset and port.
Installation
In SourceWeft
- Open Ableton Live MCP Server in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Ableton Live MCP Server
[CI] [Release] [License: MIT] [Python] [Glama tool quality]
Website and installation guide: abletonmcp.com
Control Ableton Live from an AI assistant. This is a Model Context Protocol (MCP)
server that gives Claude, Cursor, Codex, or any MCP client 156 tools for building
tracks, editing MIDI, loading instruments and effects, mixing, and mastering inside
a running Ableton Live set, plus offline tools that read and diff saved .als
project files with Live closed.
A Remote Script runs inside Live and exposes the Live API over a local socket. The MCP server turns that into typed, validated tools that an AI can call correctly, with per-tool documentation, read-only and destructive hints, and workflow prompts.
Quickstart
You need Ableton Live 11 or 12, Python 3.10+, and uv
(brew install uv).
1. Register the MCP server.
Codex (local desktop, CLI or IDE host):
For manual configuration and troubleshooting, see the Codex guide.
Claude Code:
Claude Desktop or Cursor, in the mcpServers block of the config file:
(To run an unreleased revision instead, use
uvx --from git+https://github.com/wstierhout/ableton-live-mcp ableton-live-mcp.)
2. Install the Remote Script. This copies the Live-side script into your User Library:
Then activate the bridge in Live:
- Fully restart Ableton Live.
- Open Settings > Tempo & MIDI, then find the MIDI section and its Control Surface list.
- In an unused Control Surface row, select AbletonMCP. Leave existing hardware controller rows unchanged.
- In that same row, set Input: None and Output: None.
Link is a separate Settings page in current Live versions. In older versions, look under Link, Tempo & MIDI (or Link/MIDI) in Settings/Preferences, then find the MIDI section.
This selection is required for every MCP client. Installation copies the Remote Script; selecting the Control Surface starts it inside Live. The bridge uses a local socket, so its row does not need hardware MIDI input/output ports.
Run the installer again after upgrading the package so the Live-side script stays version-matched. See Ableton's guide to third-party Remote Scripts if the entry does not appear.
3. Check the setup.
Use the same --user-library "/path/to/User Library" for install and doctor if your
library has moved. If an older/different script exists, installation stops: review
it before adding --replace. A unique backup is retained. Restart Live before
diagnosing; doctor checks both installed bytes and the running bridge version.
4. Start read-only. Ask for the tempo and track names without changes. Then, in a disposable set, try: "Make a lofi beat at 80 BPM with a dusty drum kit, an upright bass, and Rhodes chords, then put a limiter on the master at -1 dB."
What it can do
There are also five workflow prompts (make_a_beat, mix_and_master, start_a_track,
sound_design, analyze_and_improve) and a set of server instructions that teach the
model the conventions before its first call:
0-based indices, beats for time, 0.85 volume equals 0 dB, and native ranges for
device parameters.
Notes
Every action is a specific tool with validated arguments; there is no arbitrary-code path. Some tools still make destructive edits (delete a track, replace a clip's notes, overwrite an arrangement region), so save your work before a big session.
Audio analysis and session changes
analyze_audio_file reads WAV (integer and floating point), AIFF/AIFF-C, FLAC,
Ogg Vorbis, MP3, AAC and M4A/MP4 (AAC or Apple Lossless) locally. The package installs
the PyAV decoder dependency. It preserves the file, sample rate, channel layout and
floating-point headroom; compressed files are measured after decoding. Analysis
covers the first 30 seconds by default (up to 120 seconds, with a 32-million-sample
processing budget), and reports when the result is partial. Measurements include
sample peak and RMS, not LUFS or true peak.
session_diff distinguishes renames, reordering and duplicate track names using
identifiers from the running bridge. Call it before and after an edit; the first
call establishes the comparison baseline. Installing an updated Remote Script and
restarting Live keeps the bridge's snapshot format matched to the server.
Focusing the toolset
The server registers 156 tools. That is a lot for a model to choose from on a small
task. Set ABLETON_TOOLSETS to load only the groups you need, for example
ABLETON_TOOLSETS=session,tracks,clips,generators. Groups (each may span several modules): session, tracks, clips, devices,
browser, arrangement, generators, audio, analysis, offline, recipes.
Unset loads everything.
Conventions
- Indices are 0-based. Times and lengths are in beats. Volume uses Live's 0.0 to 1.0 fader range where 0.85 is 0 dB.
- Device parameters use each parameter's own range. Read
get_device_parametersfirst and check min, max, and the display value before setting. add_notes_to_clipreplaces the clip's notes. Useedit_notesto add or remove a few without touching the rest.- Placing a session clip into the arrangement overwrites whatever is under it, which is also how you replace a section.
- Transport replies report the state before the command ran. Confirm with
get_session_info.
Troubleshooting
AbletonMCPis missing from the Control Surface list: the folder has to be named exactlyAbletonMCP, and Live only scans scripts at startup, so restart it.- Every command times out: a dialog is open in Live and it blocks the script. On the trial, that is the startup nag. Dismiss it and retry.
- Port 9877 is not listening: Live is not running, or the Control Surface is not
set. If another program already uses 9877, set
ABLETON_MCP_PORTin Live's launch environment andABLETON_PORTfor the server so both sides match. - You cannot export or freeze from a tool: Live's API has no render or freeze function, so those stay manual. For rendered audio, export with the shortcut and analyse the file separately.
Security
The Remote Script listens on 127.0.0.1:9877 with no authentication. It is bound to
loopback so only local processes can reach it. Do not forward that port or change the
bind address to a public interface. See SECURITY.md.
Development
CI runs lint, a byte-compile of the Remote Script, and tests on Python 3.10, 3.12, 3.13, and 3.14.
Frequently asked questions
What is the Ableton Live MCP Server?
It is a local Model Context Protocol server that lets AI clients such as Claude,
Cursor, and Codex inspect and control Ableton Live through typed tools. It can build
tracks, edit MIDI, load and configure devices, arrange clips, mix a set, and analyze
saved .als projects.
How is this different from other Ableton MCP servers?
This server exposes 156 specific, validated tools rather than an arbitrary-code
execution tool. It includes destructive/read-only hints, workflow prompts, built-in
music generators, mixing and analysis tools, and offline .als/.adg inspection.
The Remote Script and MCP package are versioned and tested together.
Can it work while Ableton Live is closed?
The real-time control tools require Ableton Live and the bundled Remote Script to be
running. The offline tools can summarize, inspect, lint, extract MIDI from, and diff
saved .als, .adg, and .adv files without launching Live.
Which MCP clients are supported?
Any client that can launch a local stdio MCP server can use it, including Claude
Desktop, Claude Code, Cursor, Codex, and compatible IDEs. The canonical command is
uvx mcp-server-ableton-live.
Is this an official Ableton product?
No. It is an independent, open-source integration and is not affiliated with or endorsed by Ableton.
Credits and license
MIT licensed, maintained by Wouter Stierhout.
See LICENSE. Ableton and Live are trademarks of Ableton AG. This independent
open-source project is not affiliated with or endorsed by Ableton AG.
Source: README.md at commit 55abd3a
Tools
0Version history
2- v1.8.1LatestSep 17, 2026
- v1.8.0Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts