ableton-mcp
Health Pass
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 12 GitHub stars
Code Fail
- network request — Outbound network request in AbletonMCP_M4L/code/main.js
- Hardcoded secret — Potential hardcoded credential in tests/conftest.py
Permissions Pass
- Permissions — No dangerous permissions requested
This server integrates AI models with Ableton Live, enabling AI to control music production, manipulate tracks, and edit MIDI through the Model Context Protocol. It offers over 200 tools and supports multiple connection methods, including an MCP server, a REST API, and a Max for Live device.
Security Assessment
Overall Risk: Medium. The tool accesses sensitive data locally by design, reading and manipulating your active Ableton Live session. It does not execute dangerous shell commands or request elevated system permissions. However, the automated scan flagged a failed check for a potential hardcoded credential in the test configuration file (`tests/conftest.py`). While this likely represents a test fixture rather than an actual leaked API key, it warrants a manual review before use. Additionally, the JavaScript component makes outbound network requests to facilitate local communication between the DAW and the AI models.
Quality Assessment
The project demonstrates active maintenance, with its most recent code push occurring today. It uses the standard and highly permissive MIT license, making it straightforward for legal adoption. Community trust is currently in its early stages, evidenced by a modest 12 GitHub stars, indicating it is a relatively new or niche tool rather than a widely battle-tested standard.
Verdict
Use with caution—the active maintenance and MIT license are positives, but you should verify the flagged hardcoded credential in the test suite before integrating this into your local environment.
Control Ableton Live with AI - 200+ tools via MCP, REST API, and Max for Live. Works with Claude, Ollama, OpenAI, Groq.
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 |
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
- uv package manager
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.json - Windows:
%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 claude
Installing 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 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 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-mcp
Usage 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.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
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 |
|---|---|---|
/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 |
Supported LLM Providers
| 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 |
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\
- macOS:
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 exactlyAbletonMCP - Check 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
Disclaimer
This is a third-party integration and not made by Ableton.
License
MIT License - See LICENSE file for details.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found