A production surface, not a command demo
The goal is not a large tool count for its own sake. The goal is to expose the operations a client needs as specific, documented actions it can select and sequence correctly.
Ableton Live's control-surface API is broad, but raw access alone does not make a useful MCP server. AbletonMCP turns that API into task-level tools for tracks, clips, notes, devices, arrangement, automation, analysis and project files. Server instructions teach the important conventions before the first call: zero-based indices, beat-based time, Live's fader scale and native device-parameter ranges.
There is no arbitrary-code tool. Each operation has a defined input shape, and destructive or read-only behavior can be described to the MCP client.
A small, local signal path
The Python package launches a standard stdio MCP server. A bundled Remote Script runs inside Live and exposes selected Live API operations over a loopback socket.
MCP client
→ stdio MCP server
→ 127.0.0.1:9877
→ bundled AbletonMCP Remote Script
→ Ableton Live APIThe project does not operate a cloud relay. The package installs the matching Live-side script into the User Library; rerun the installer after package upgrades so both halves stay aligned.
One connected workflow
Broad coverage matters because music work crosses boundaries. A useful request may create clips, load devices, arrange a section, automate a parameter and inspect the result in one sequence.
Compose and edit
Create tracks, clips and scenes; write or transform MIDI; generate drums, chords, basslines, melodies and genre starters.
Shape and mix
Browse and load devices, inspect native parameter ranges, route tracks, control sends, read meters and adjust the mixer.
Arrange and automate
Move ideas onto the timeline, inspect arrangement clips, work with locators and write automation instead of stopping at Session View.
Inspect and improve
Analyze the running set, detect changes and inspect saved .als, .adg and .adv files even when Ableton Live is closed.
Why 154 typed tools beat one generic escape hatch
- Selection: names and descriptions tell the client which operation fits the request.
- Validation: structured arguments catch invalid shapes before they reach the Live-side script.
- Context: read tools let the client inspect tracks, clips, parameters and routing before editing.
- Efficiency: batch operations can group many edits into one round trip and one undo step.
- Guidance: workflow prompts and server instructions encode the conventions needed to use the tools well.
- Maintenance: the server, Remote Script, tests and package releases are versioned together.
Useful with Live open—and after it closes
LIVE OPEN
Build and control the set
Use real-time tools for transport, tracks, clips, notes, devices, routing, meters, arrangement, automation and capture.
LIVE CLOSED
Inspect saved projects
Summarize, lint and diff .als projects; extract MIDI; read mixer and locator data; and inspect .adg and .adv device files.
Designed around real limits
AbletonMCP is intentionally direct about what it cannot promise. Live's control-surface API does not expose every interface action, including final export and freeze. The real-time tools require Live and the Remote Script to be running. Some operations replace or delete musical material, so saving before a large session still matters.
The local socket is bound to 127.0.0.1 and has no authentication; do not forward it to a public interface. Your MCP client and model provider may still process tool requests and results under their own privacy terms.