Browse by type
Connect Ableton Live to Claude AI
Prompt-assisted music production, end-to-end track creation, and Live session and arrangement manipulation — driven by AI.
Setup Video · Discord · Issues
Three steps: install uv, point your MCP client at the server, install the Ableton Remote Script.
1. Install uv
# macOS
brew install uv
Otherwise, install from uv's official website.
Warning: Do not proceed before installing uv.
2. Add the MCP server to your client
Claude Desktop — Settings → Developer → Edit Config
{
"mcpServers": {
"AbletonMCP": {
"command": "uvx",
"args": [
"ableton-mcp"
]
}
}
}
Cursor — Settings → MCP
Paste this as a command:
uvx ableton-mcp
Warning: Only run one instance of the MCP server (either on Cursor or Claude Desktop), not both.
3. Install the Ableton Remote Script
uvx --from ableton-mcp ableton-mcp-install-script
uvx --from ableton-mcp ableton-mcp-install-script --list-targets # preview target folders first
4. Connect
That's it — ask Claude to build something.
| Two-way communication | Connect Claude AI to Ableton Live through a socket-based server |
| Track manipulation | Create, modify, and manipulate MIDI and audio tracks |
| Instrument and effect selection | Claude can access and load the right instruments, effects and sounds from Ableton's library |
| Clip creation | Create and edit MIDI clips with notes |
| Arrangement view composition | Build full songs autonomously in Arrangement View, including sections like intro, buildup, drop, breakdown, and outro |
| Session control | Start and stop playback, fire clips, and control transport across Session View and Arrangement View |
| Anonymous telemetry | Usage tracking to help improve the tool (can be disabled) |
The system consists of two main components:
Ableton_Remote_Script/__init__.py) — a MIDI Remote Script for Ableton Live that creates a socket server to receive and execute commandsserver.py) — a Python server that implements the Model Context Protocol and connects to the Ableton Remote ScriptIf you're on Mac, please install uv as:
brew install uv
Otherwise, install from uv's official website
Warning: Do not proceed before installing uv.
Follow along with the setup instructions video
Go to Claude → Settings → Developer → Edit Config → claude_desktop_config.json to include the following:
{
"mcpServers": {
"AbletonMCP": {
"command": "uvx",
"args": [
"ableton-mcp"
]
}
}
}
Run ableton-mcp without installing it permanently through uvx. Go to Cursor Settings → MCP and paste this as a command:
uvx ableton-mcp
Warning: Only run one instance of the MCP server (either on Cursor or Claude Desktop), not both.
In the terminal, run:
claude mcp add AbletonMCP uvx ableton-mcp
Follow along with the setup instructions video
Install the Remote Script with:
uvx --from ableton-mcp ableton-mcp-install-script
uvx --from ableton-mcp ableton-mcp-install-script --list-targets # preview target folders first
If you installed the package with
piporpipx, the command is on your PATH directly — just runableton-mcp-install-script.
This copies the matching Remote Script into your Ableton User Library's Remote Scripts folder — the location Live (10.1.13+) scans for third-party control surface scripts. The installer reads the User Library location from Live's Library.cfg, falling back to the default (~/Music/Ableton/User Library on macOS, Documents\Ableton\User Library on Windows). If a different version of the script is already there, the existing file is backed up to __init__.py.bak before being replaced.
If your User Library lives somewhere non-standard and isn't detected, point the installer at it directly:
uvx --from ableton-mcp ableton-mcp-install-script --target "/path/to/User Library/Remote Scripts"
The legacy
Preferences/User Remote Scriptsfolder (used for instant-mapping configs, not Python control surfaces) is no longer targeted by default; pass--legacyif you need it for an old Live version.
Then restart Ableton (or re-select the AbletonMCP control surface) so Live loads it. Re-run the command after upgrading the package — the server logs a warning when the loaded script version doesn't match what it expects.
Note: The server does not install the script on startup. Writing into Ableton's preferences directory is an explicit action, not a side effect of launching a server.
First-time Ableton setup:
uvx --from ableton-mcp ableton-mcp-install-scriptManual fallback locations (User Library → Remote Scripts)
~/Music/Ableton/User Library/Remote Scripts/AbletonMCP/C:\Users\[Username]\Documents\Ableton\User Library\Remote Scripts\AbletonMCP\If you've moved your User Library, use its actual location (shown in Live under Preferences → Library → Location of User Library), and create the Remote Scripts folder inside it if it doesn't exist yet.
The MCP server and Remote Script share a version handshake (get_remote_script_info). If they diverge, newer tools degrade gracefully until Live is restarted.
Once the config file has been set on Claude, and the remote script is running in Ableton, you will see a hammer icon with tools for the Ableton MCP.
Here are some examples of what you can ask Claude to do:
| Prompt | Demo |
|---|---|
| "Create an 80s synthwave track" | Watch |
| "Create a Metro Boomin style hip-hop beat" | |
| "Create a full arrangement with an intro, buildup, drop, breakdown, and outro" | |
| "Create a new MIDI track with a synth bass instrument" | |
| "Add reverb to my drums" | |
| "Create a 4-bar MIDI clip with a simple melody" | |
| "Get information about the current Ableton session" | |
| "Load a 808 drum rack into the selected track" | |
| "Add a jazz chord progression to the clip in track 1" | |
| "Set the tempo to 120 BPM" | |
| "Play the clip in track 2" |
| Problem | Fix |
|---|---|
| Connection issues | Make sure the Ableton Remote Script is loaded, and the MCP server is configured on Claude |
| Timeout errors | Try simplifying your requests or breaking them into smaller steps |
| Have you tried turning it off and on again? | If you're still having connection errors, try restarting both Claude and Ableton Live |
The system uses a simple JSON-based protocol over TCP sockets:
type and optional paramsstatus and result or messageAbletonMCP collects usage data to help improve the tool. This includes:
Telemetry is on by default. To see exactly what data is collected, see the Terms & Data Use.
To disable telemetry, set one of these environment variables before starting the MCP server:
export ABLETON_MCP_DISABLE_TELEMETRY=true
Or use any of these alternatives:
DISABLE_TELEMETRY=trueMCP_DISABLE_TELEMETRY=trueFor Claude Desktop, add the environment variable to your config:
{
"mcpServers": {
"AbletonMCP": {
"command": "uvx",
"args": ["ableton-mcp"],
"env": {
"ABLETON_MCP_DISABLE_TELEMETRY": "true"
}
}
}
}
Give feedback, get inspired, and build on top of the MCP: Discord
Contributions are welcome! Please feel free to submit a Pull Request.
This is a third-party integration and not made by Ableton. Made by Siddharth.
If Ableton MCP is useful to you, consider starring the repo
$ claude mcp add ableton-mcp \
-- python -m otcore.mcp_server <graph>