AbletonMCP connects Ableton Live to AI models through the Model Context Protocol (MCP), allowing AI to directly interact with and control Ableton Live. This integration enables prompt-assisted music production, track creation, and Live session manipulation.
Give feedback, get inspired, and build on top of the MCP: Discord. Made by Siddharth
- Two-way communication: Connect AI models to Ableton Live through a socket-based server
- Multiple AI Model Support: Works with both Claude and Google's Gemini
- Track manipulation: Create, modify, and manipulate MIDI and audio tracks
- Instrument and effect selection: AI can access and load the right instruments, effects and sounds from Ableton's library
- Clip creation: Create and edit MIDI clips with notes
- Session control: Start and stop playback, fire clips, and control transport
The system consists of two main components:
- Ableton Remote Script (
Ableton_Remote_Script/__init__.py
): A MIDI Remote Script for Ableton Live that creates a socket server to receive and execute commands - MCP Server (
server.py
): A Python server that implements the Model Context Protocol and connects to the Ableton Remote Script
To install Ableton Live Integration automatically via Smithery:
npx -y @smithery/cli install @ahujasid/ableton-mcp --client claude
- Ableton Live 10 or newer
- Python 3.8 or newer
- uv package manager
If you're on Mac, please install uv as:
brew install uv
Otherwise, install from [uv's official website][https://docs.astral.sh/uv/getting-started/installation/]
- For Gemini API:
- Get your API key from Google AI Studio
- Add it to your
.env
file:GEMINI_API_KEY=your_api_key_here
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
Follow along with the setup instructions video
-
Download the
AbletonMCP_Remote_Script/__init__.py
file from this repo -
Copy the folder to Ableton's MIDI Remote Scripts directory. Different OS and versions have different locations. One of these should work, you might have to look:
For macOS:
- Method 1: Go to Applications > Right-click on Ableton Live app → Show Package Contents → Navigate to:
Contents/App-Resources/MIDI Remote Scripts/
- Method 2: If it's not there in the first method, use the direct path (replace XX with your version number):
/Users/[Username]/Library/Preferences/Ableton/Live XX/User Remote Scripts
For Windows:
- Method 1: C:\Users[Username]\AppData\Roaming\Ableton\Live x.x.x\Preferences\User Remote Scripts
- Method 2:
C:\ProgramData\Ableton\Live XX\Resources\MIDI Remote Scripts\
- Method 3:
C:\Program Files\Ableton\Live XX\Resources\MIDI Remote Scripts\
Note: Replace XX with your Ableton version number (e.g., 10, 11, 12)
- Method 1: Go to Applications > Right-click on Ableton Live app → Show Package Contents → Navigate to:
-
Create a folder called 'AbletonMCP' in the Remote Scripts directory and paste the downloaded '__init__.py' file
-
Launch Ableton Live
-
Go to Settings/Preferences → Link, Tempo & MIDI
-
In the Control Surface dropdown, select "AbletonMCP"
-
Set Input and Output to "None"
- Ensure the Ableton Remote Script is loaded in Ableton Live
- Make sure the MCP server is configured in Claude Desktop or Cursor
- The connection should be established automatically when you interact with the AI
- Full access to all Ableton Live features
- Natural language understanding of musical concepts
- Complex musical arrangement capabilities
- All core Ableton Live control features
- Optimized for real-time interaction
- Enhanced pattern recognition for musical analysis
Here are some examples of what you can ask the AI to do:
- "Create an 80s synthwave track" Demo
- "Create a Metro Boomin style hip-hop beat"
- "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"
- Connection issues: Make sure the Ableton Remote Script is loaded, and the MCP server is configured correctly
- API key errors: Verify your Gemini API key is correctly set in the
.env
file - 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 the AI client and Ableton Live
The system uses a simple JSON-based protocol over TCP sockets:
- Commands are sent as JSON objects with a
type
and optionalparams
- Responses are JSON objects with a
status
andresult
ormessage
- Creating complex musical arrangements might need to be broken down into smaller steps
- The tool is designed to work with Ableton's default devices and browser items
- Always save your work before extensive experimentation
- API keys are stored locally and never transmitted
Contributions are welcome! Please feel free to submit a Pull Request.
This is a third-party integration and not made by Ableton or Google.