AbletonMCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AbletonMCPGenerate a house drum pattern on track 1"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AbletonMCP - Ableton Live Model Context Protocol Integration
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.
Three Ways to Use AbletonMCP
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 |
Related MCP server: AbletonMCP
Features
Transport & Session
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
Track Control
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
Clip Operations
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
MIDI Editing
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
Devices & Effects
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
Scene Management
Create/delete/duplicate/fire/stop scenes, color, name
Automation
Clip automation envelopes (get/set/clear)
Session automation record, arrangement overdub
Re-enable automation
Browser
Navigate browser tree, search, load items
Browse by path, get children, categories
View & Selection
Focus view (Session/Arrangement/Detail)
Select track/scene/clip/device
Detail clip, highlighted clip slot
Draw mode, follow mode, grid quantization, zoom
Recording
Arm, record, overdub, capture MIDI
Session/arrangement record modes
MIDI recording quantization
Mixing
Track/master output metering (L/R)
Send levels, pre/post send
Return track volume/pan
Master volume/pan, cue volume
Crossfader position
Song Properties
Root note, scale, signature
Groove amount, exclusive arm/solo
Punch in/out, back to arrangement
Record mode, can capture MIDI
AI Music Helpers
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
Installation
Prerequisites
Ableton Live 10 or newer
Python 3.8 or newer
Install uv:
# macOS
brew install uv
# Other platforms
# See https://docs.astral.sh/uv/getting-started/installation/Claude Desktop Configuration
Add to your claude_desktop_config.json:
Location:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"AbletonMCP": {
"command": "uvx",
"args": ["ableton-mcp"]
}
}
}Installing via Smithery
npx -y @smithery/cli install @ahujasid/ableton-mcp --client claudeInstalling the Ableton Remote Script
Download
AbletonMCP_Remote_Script/__init__.pyfrom this repoCopy 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 ScriptsOr:
C:\ProgramData\Ableton\Live XX\Resources\MIDI Remote Scripts\
Create a folder called
AbletonMCPin the Remote Scripts directoryPaste the
__init__.pyfile into theAbletonMCPfolderLaunch Ableton Live
Go to Settings > Link, Tempo & MIDI
In Control Surface dropdown, select "AbletonMCP"
Set Input and Output to "None"
Cursor Integration
Go to Cursor Settings > MCP and add:
uvx ableton-mcpUsage Guide
Getting Started
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
Example Workflows
Create a Beat
"Create a hip-hop drum pattern at 90 BPM with a 808 kit"Build a Full Track
"Create a raw hypnotic techno track at 135 BPM with kick, hats, clap, bass, and acid lead"Mix and Arrange
"Add reverb to the drums, set up a sidechain send, and create intro/verse/chorus/outro scenes"Sound Design
"Load a Simpler on track 3, show me the sample parameters, and adjust the filter"AI Music Generation
Generate Drum Patterns
Available styles: basic, house, techno, hip_hop, trap, dnb, jazz, funk
Generate Basslines
Available styles: basic, walking, synth, funk, octave, arpeggiated
Get Scale Notes
Available scales: major, minor, dorian, phrygian, lydian, mixolydian, aeolian, locrian, harmonic_minor, melodic_minor, pentatonic_major, pentatonic_minor, blues
REST API (Ollama & Other LLMs)
AbletonMCP includes a REST API for use with any LLM provider.
Quick Start with Ollama
Install Ollama: https://ollama.ai
Pull a model:
ollama pull llama3.2Install dependencies:
pip install fastapi uvicorn pydanticStart the server:
python MCP_Server/rest_api_server.pyRun interactive chat:
python examples/ollama_example.py
REST API Features
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
Key Endpoints
Endpoint | Method | Description |
| GET | Check Ableton connection |
| GET | Get LLM tool definitions |
| GET | Session info |
| GET | List all tracks (with pagination) |
| GET | List all scenes (with pagination) |
| POST | Execute any command |
| GET | Interactive Swagger docs |
Supported LLM Providers
Provider | Cost | Setup |
Ollama | Free (local) |
|
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 |
Max for Live Device
For a fully integrated experience inside Ableton, use the Max for Live device.
Features
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
Installation
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\
Build the
.amxdbinary (the repo includes a.maxpatsource file):python3 scripts/build_amxd.pyOr rename
AbletonMCP.amxd.maxpattoAbletonMCP.amxdDrag onto any track in Ableton Live
Select your AI provider and start chatting!
See AbletonMCP_M4L/README.md for detailed setup.
Documentation
MANUAL.md - Complete command reference with examples and a step-by-step techno track tutorial
CONFIG.md - Configuration and environment variables
Troubleshooting
Connection Issues
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
Timeout Errors
Break complex requests into smaller steps
Allow time for Ableton to process commands
Script Not Loading
Ensure the
__init__.pyfile is in a folder named exactlyAbletonMCPCheck Ableton's Log.txt for errors
Commands Not Working
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
Technical Details
Communication Protocol
JSON-based protocol over TCP sockets (port 9877):
// Request
{"type": "command_name", "params": { ... }}
// Response
{"status": "success", "result": { ... }}Architecture
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)Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Credits
Original AbletonMCP by Siddharth
Extended with 200+ tools, REST API, M4L device, and AI helpers
Bug Fixes
Remote Script (AbletonMCP_Remote_Script/__init__.py)
load_instrument_or_effectnot routed to main thread — command was defined but missing from the gating condition that dispatches to the main-thread handler, causing "Unknown command" errors.load_browser_itemparam name mismatch — the REST API schema sendsuribut the remote script expecteditem_uri. Now accepts both.set_arrangement_loopparam name mismatch — REST API sendsloop_start/loop_length/loop_onbut remote script expectedstart/end/enabled. Now accepts both naming conventions._find_browser_item_by_urididn't searchplugins/samples/packs— the URI search only covered 5 standard categories (instruments, sounds, drums, audio_effects, midi_effects), so VST/AU plugin URIs were never found.Nonecategories caused search crash — optional browser categories (plugins, samples, packs) could beNone, causing attribute errors during URI search.
REST API Server (MCP_Server/rest_api_server.py)
No functional bugs — only added new command definitions:
Added
load_item_to_masterandload_device_preset_by_nametoALLOWED_COMMANDSandCOMMAND_PARAM_SCHEMAS.
New Commands
Command | Endpoint | Description |
|
| Load a browser item (plugin/effect) onto the Master track by URI |
|
| Load a preset onto a device by preset name (searches via hotswap browser children) |
Disclaimer
This is a third-party integration and not made by Ableton.
License
MIT License - See LICENSE file for details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/cliffc2/ableton-mcp2'
If you have feedback or need assistance with the MCP directory API, please join our Discord server