AbletonMCP connects Ableton Live to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Ableton Live. This integration enables AI-assisted music production, track creation, and Live session manipulation.
200+ tools for near-complete Ableton Live Object Model (LOM) coverage including AI-powered music generation.
| Method | Best For | Requirements |
|---|---|---|
| MCP Server (Claude Desktop / Cursor) | Claude AI integration | Claude Desktop or Cursor |
| REST API (Ollama / OpenAI / Any LLM) | Any LLM, custom apps | Python, FastAPI |
| Max for Live Device | In-Ableton AI chat | Ableton Suite / M4L |
- Play, stop, record, overdub, capture MIDI, tap tempo, continue playing
- Tempo, time signature, metronome, count-in, swing, groove
- Arrangement loop, locators, jump to time, scrub
- Create/delete/duplicate MIDI, audio, group, and return tracks
- Volume, pan, mute, solo, arm, color, monitoring, delay
- Freeze/flatten, fold/unfold groups, implicit arm
- Input/output routing, crossfade assign
- Multi-track operations: solo exclusive, unsolo all, unmute all, unarm all
- Create/delete/duplicate/fire/stop clips
- Loop settings, start/end markers, gain, pitch, color
- Warp modes, warp markers, RAM mode
- Launch modes, launch quantization, follow actions
- Clip fades (in/out), trigger quantization
- Playing position, velocity amount
- Add/remove/transpose notes, get notes in range
- Move notes (time + pitch shift), replace all notes
- Quantize, deselect all, duplicate loop
- Select all notes, set clip notes
- Load instruments/effects from browser, toggle on/off, delete
- Get/set any device parameter, device presets
- Move devices (left/right/to position), collapse/expand
- Rack chains, rack macros, drum rack pads (mute/solo/name)
- Simpler/Sampler sample info and parameters
- Create/delete/duplicate/fire/stop scenes, color, name
- Clip automation envelopes (get/set/clear)
- Session automation record, arrangement overdub
- Re-enable automation
- Navigate browser tree, search, load items
- Browse by path, get children, categories
- Focus view (Session/Arrangement/Detail)
- Select track/scene/clip/device
- Detail clip, highlighted clip slot
- Draw mode, follow mode, grid quantization, zoom
- Arm, record, overdub, capture MIDI
- Session/arrangement record modes
- MIDI recording quantization
- Track/master output metering (L/R)
- Send levels, pre/post send
- Return track volume/pan
- Master volume/pan, cue volume
- Crossfader position
- Root note, scale, signature
- Groove amount, exclusive arm/solo
- Punch in/out, back to arrangement
- Record mode, can capture MIDI
- Scale reference (12+ scale types)
- Drum pattern generation (8 styles: house, techno, hip-hop, trap, dnb, jazz, funk, basic)
- Bassline generation (6 styles: basic, walking, synth, funk, octave, arpeggiated)
- Quantize/humanize timing and velocity
- Ableton Live 10 or newer
- Python 3.8 or newer
- uv package manager
Install uv:
# macOS
brew install uv
# Other platforms
# See https://docs.astral.sh/uv/getting-started/installation/Add to your claude_desktop_config.json:
Location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"AbletonMCP": {
"command": "uvx",
"args": ["ableton-mcp"]
}
}
}npx -y @smithery/cli install @ahujasid/ableton-mcp --client claude-
Download
AbletonMCP_Remote_Script/__init__.pyfrom this repo -
Copy to Ableton's MIDI Remote Scripts directory:
macOS:
- Right-click Ableton Live app > Show Package Contents >
Contents/App-Resources/MIDI Remote Scripts/ - Or:
/Users/[Username]/Library/Preferences/Ableton/Live XX/User Remote Scripts
Windows:
C:\Users\[Username]\AppData\Roaming\Ableton\Live x.x.x\Preferences\User Remote Scripts- Or:
C:\ProgramData\Ableton\Live XX\Resources\MIDI Remote Scripts\
- Right-click Ableton Live app > Show Package Contents >
-
Create a folder called
AbletonMCPin the Remote Scripts directory -
Paste the
__init__.pyfile into theAbletonMCPfolder -
Launch Ableton Live
-
Go to Settings > Link, Tempo & MIDI
-
In Control Surface dropdown, select "AbletonMCP"
-
Set Input and Output to "None"
Go to Cursor Settings > MCP and add:
uvx ableton-mcp
- Ensure the Ableton Remote Script is loaded (look for "AbletonMCP" in Control Surface)
- Configure Claude Desktop or Cursor with the MCP server
- Start chatting with Claude about your music production needs
"Create a hip-hop drum pattern at 90 BPM with a 808 kit"
"Create a raw hypnotic techno track at 135 BPM with kick, hats, clap, bass, and acid lead"
"Add reverb to the drums, set up a sidechain send, and create intro/verse/chorus/outro scenes"
"Load a Simpler on track 3, show me the sample parameters, and adjust the filter"
Available styles: basic, house, techno, hip_hop, trap, dnb, jazz, funk
Available styles: basic, walking, synth, funk, octave, arpeggiated
Available scales: major, minor, dorian, phrygian, lydian, mixolydian, aeolian, locrian, harmonic_minor, melodic_minor, pentatonic_major, pentatonic_minor, blues
AbletonMCP includes a REST API for use with any LLM provider.
- Install Ollama: https://ollama.ai
- Pull a model:
ollama pull llama3.2 - Install dependencies:
pip install fastapi uvicorn pydantic - Start the server:
python MCP_Server/rest_api_server.py - Run interactive chat:
python examples/ollama_example.py
- 200+ commands whitelisted and validated
- API key authentication (optional, via
REST_API_KEYenv var) - Rate limiting (configurable per-IP)
- CORS configured for localhost by default
- Pagination on list endpoints (scenes, tracks, device parameters)
- OpenAI-compatible tool definitions at
/tools
| Endpoint | Method | Description |
|---|---|---|
/health |
GET | Check Ableton connection |
/tools |
GET | Get LLM tool definitions |
/api/session |
GET | Session info |
/api/tracks |
GET | List all tracks (with pagination) |
/api/scenes |
GET | List all scenes (with pagination) |
/api/command |
POST | Execute any command |
/docs |
GET | Interactive Swagger docs |
| Provider | Cost | Setup |
|---|---|---|
| Ollama | Free (local) | ollama pull llama3.2 |
| Groq | Free tier | API key from console.groq.com |
| OpenAI | Paid | API key from platform.openai.com |
| Claude API | Paid | API key from console.anthropic.com |
For a fully integrated experience inside Ableton, use the Max for Live device.
- Multi-provider support (Ollama, OpenAI, Claude API, Groq)
- Visual chat UI inside Ableton's device view
- 200+ tool definitions for complete LOM control
- No external server needed
-
Copy
AbletonMCP_M4Lfolder to:- macOS:
~/Music/Ableton/User Library/Presets/Audio Effects/Max Audio Effect/ - Windows:
Documents\Ableton\User Library\Presets\Audio Effects\Max Audio Effect\
- macOS:
-
Build the
.amxdbinary (the repo includes a.maxpatsource file):python3 scripts/build_amxd.py
Or rename
AbletonMCP.amxd.maxpattoAbletonMCP.amxd -
Drag onto any track in Ableton Live
-
Select your AI provider and start chatting!
See AbletonMCP_M4L/README.md for detailed setup.
- MANUAL.md - Complete command reference with examples and a step-by-step techno track tutorial
- CONFIG.md - Configuration and environment variables
- Verify AbletonMCP is selected in Ableton's Control Surface settings
- Check that no other application is using port 9877
- Restart both Claude and Ableton Live
- Break complex requests into smaller steps
- Allow time for Ableton to process commands
- Ensure the
__init__.pyfile is in a folder named exactlyAbletonMCP - Check Ableton's Log.txt for errors
- Make sure you're requesting actions on valid track/clip indices
- Check that clips exist before trying to edit notes
- Verify devices are loaded before adjusting parameters
JSON-based protocol over TCP sockets (port 9877):
// Request
{"type": "command_name", "params": { ... }}
// Response
{"status": "success", "result": { ... }}Claude AI <-> MCP Server (Python/FastMCP) <-> Ableton Remote Script (Python)
| |
Port 9877 TCP Ableton Live API (LOM)
REST API (FastAPI) <-> Ableton Remote Script
|
Port 8000 HTTP
Max for Live Device <-> LLM Provider API (Ollama/OpenAI/Claude/Groq)
|
Node for Max (JavaScript)
Contributions are welcome! Please feel free to submit a Pull Request.
- Original AbletonMCP by Siddharth
- Extended with 200+ tools, REST API, M4L device, and AI helpers
This is a third-party integration and not made by Ableton.
MIT License - See LICENSE file for details.