What it takes off you is the mouse work between having an idea and hearing it. The agent makes the track, loads a kit from your own library, writes the notes and fires the clip, so what you are judging is playing in Live rather than sitting in a chat window.
A server that drives Ableton Live over a socket, in two parts: a MIDI Remote Script that runs inside Live, and a Python MCP server that talks to it. It creates MIDI and audio tracks, writes notes into clips, loads instruments from your own browser, and composes in the Arrangement View.
- The session and any track read back, so the agent works from what is there rather than from what it assumes
- MIDI and audio tracks created and modified
- Clips created, edited and triggered, with notes written into MIDI clips
- Instruments and effects loaded from Ableton's own browser — your library, not a generic sound set
- Full song arrangements built in the Arrangement View, including intro, buildup, drop, breakdown and outro sections
- Transport control across both views: playback started and stopped, clips fired, tempo and other session parameters changed
Ableton Live 10 or newer, Python 3.8 or newer, and uv. Install the Remote Script with `uvx --from ableton-mcp ableton-mcp-install-script`, which copies it into Live's User Library and backs up any file it replaces — the server never writes it on startup, so re-run the command after upgrading the package. Then restart Live, choose **AbletonMCP** in the Control Surface dropdown under Link, Tempo & MIDI, and set Input and Output to None. Live has to be open with the set you want changed. Complex arrangements are better broken into smaller steps, it works with Live's default devices and browser items, and saving before a long experiment is the standard advice. Anonymous telemetry is on and can be turned off.
One command — uvx ableton-mcp
