home / mcp / abletonmcp server
Provides two‑way MCP control to manipulate Ableton Live sessions via Claude AI, including tracks, clips, tempo, and instrument loading.
Configuration
View docs{
"mcpServers": {
"ahujasid-ableton-mcp": {
"command": "uvx",
"args": [
"ableton-mcp"
]
}
}
}AbletonMCP lets Claude AI connect to Ableton Live through a socket-based server, enabling two‑way control of tracks, clips, instruments, and transport directly from prompts. This makes prompt-driven music production practical, letting you create and manipulate live sessions programmatically.
Start by loading the Ableton MCP server alongside Ableton Live. Claude can then send commands to manipulate tracks, load instruments and effects, create clips, and control playback. You can ask Claude to create tracks, generate MIDI clips, fire clips, adjust tempo, and load sounds from Ableton’s library. The system supports two‑way communication over a socket, so you can monitor session state and trigger actions in real time.
To begin a session, ensure Ableton Live has the remote script loaded and the MCP server is running. Establish the connection from Claude’s MCP settings; once connected, you’ll see the Ableton MCP interface indicator. You can then issue natural language prompts to Claude like loading a drum rack, creating a MIDI track, or starting playback on a specific track.
Prerequisites you need on your workstation are Ableton Live 10 or newer, Python 3.8 or newer, and UV, the MCP runtime. If you’re on macOS, install UV with Homebrew. On other systems, install UV from its official source.
Configure Claude Desktop to load the MCP server with the runtime. Create or edit your claude_desktop_config.json to include the Ableton MCP server entry that points to the UV runtime and the ableton-mcp package.
Cursor integration allows you to run the MCP server without permanent installation by using UVX. Run the MCP server from Cursor or Claude Desktop, but do not run both instances at the same time.
Install the Ableton Remote Script to enable Ableton Live to receive commands from the MCP server. Follow these steps:
1. Download the AbletonMCP_Remote_Script/__init__.py file and place it into a folder named AbletonMCP inside Ableton Live’s MIDI Remote Scripts directory.
2. Locate Ableton’s Remote Scripts directory for your OS and Ableton version. Then create a folder named AbletonMCP inside that directory and paste the downloaded __init__.py file.
3. Launch Ableton Live.
4. Open Preferences > Link, Tempo & MIDI. In the Control Surface dropdown, select AbletonMCP and set Input and Output to None.
5. Ensure the MCP server is configured to run from UVX for Claude Desktop or Cursor, so the two can connect automatically when you interact with Claude.
If you want to start the MCP server on demand, use the UVX command from your environment, for example: uvx ableton-mcp.
The MCP system communicates over a simple protocol where Claude sends structured commands to control Ableton Live. You can create or modify MIDI and audio tracks, build MIDI clips with notes, load instruments and effects, and control playback and transport. Always save your work before performing extensive experiments.
If you encounter connection or timeout issues, verify that the Ableton Remote Script is loaded, the MCP server is configured in Claude, and try restarting both Claude and Ableton Live. Start with simpler prompts if you experience timeout problems.
Retrieve current session details such as track list, tempo, and transport state to inform your next actions.
Create a new MIDI or audio track with specified name and type, ready to receive notes or audio data.
Modify properties of an existing track, such as color, name, input routing, or device chain.
Load an instrument from Ableton's browser into a target track or device chain.
Load an effect from Ableton's browser into a target device chain.
Create or edit MIDI clips on a specified track, including adding notes and setting clip length.
Fire or stop a MIDI clip to start playback on a given track.
Control playback, stop, record, and cue transport states for the current Ableton session.
Change the session tempo to a specified BPM value.