AbletonMCP
Connect Claude AI to Ableton Live via the Model Context Protocol
AbletonMCP connects Ableton Live to Claude AI through the Model Context Protocol (MCP), giving Claude direct, two-way control over your Live session. Create full arrangements, manipulate tracks, load instruments and effects, and compose music โ all through natural language prompts.
Table of Contents
- Features
- How It Works
- Installation
- Prerequisites
- 1. Install the MCP Server
- 2. Install the Ableton Remote Script
- 3. Configure Your AI Client
- Usage
- Example Prompts
- Troubleshooting
- Technical Details
- Telemetry
- Community
- Contributing
Features
| Feature | Description |
|---|---|
| ๐๏ธ Two-way Communication | Real-time socket bridge between Claude and Ableton Live |
| ๐น Track Manipulation | Create, modify, and delete MIDI and audio tracks |
| ๐ธ Instrument & Effect Loading | Access and load instruments, effects, and sounds from Ableton's browser |
| ๐ Clip Creation | Create and edit MIDI clips with full note control |
| ๐ผ Arrangement Composition | Build complete songs in Arrangement View โ intro, buildup, drop, breakdown, outro |
| โถ๏ธ Session Control | Start/stop playback, fire clips, control transport in Session and Arrangement View |
| ๐๏ธ Parameter Control | Set tempo, adjust device parameters, modify mixer settings |
| ๐ Smithery Support | One-command install via Smithery |
How It Works
AbletonMCP has two components that work together:
- Ableton Remote Script (
AbletonMCP_Remote_Script/__init__.py) โ A MIDI Remote Script installed inside Ableton Live. It opens a local TCP socket server and listens for JSON commands. - MCP Server (
MCP_Server/) โ A Python server implementing the Model Context Protocol. It connects to the Remote Script socket and exposes Ableton's capabilities as MCP tools to Claude.
Claude Desktop / Cursor
โ
โ MCP (stdio/SSE)
โผ
MCP Server (Python)
โ
โ TCP socket (localhost:9000)
โผ
Ableton Remote Script
โ
โผ
Ableton Live
Installation
Prerequisites
- Ableton Live 10 or newer
- Python 3.8 or newer
- uv package manager
Install uv for your platform:
# macOS (Homebrew)
brew install uv
# Windows / Linux
# See: https://docs.astral.sh/uv/getting-started/installation/
โ ๏ธ Do not proceed without installing
uvfirst.
1. Install the MCP Server
Option A โ Smithery (recommended, one command)
npx -y @smithery/cli install @ahujasid/ableton-mcp --client claude
Option B โ Manual (uvx)
No installation needed โ uvx downloads and runs ableton-mcp on demand. See client configuration below.
2. Install the Ableton Remote Script
- Download
AbletonMCP_Remote_Script/__init__.pyfrom this repository. - Create a folder named
AbletonMCPinside Ableton's MIDI Remote Scripts directory and copy the file there.
Remote Scripts directory locations:
macOS- Method 1 (App bundle): Right-click Ableton Live in Applications โ Show Package Contents โ
Contents/App-Resources/MIDI Remote Scripts/ - Method 2 (User folder):
/Users/<username>/Library/Preferences/Ableton/Live <version>/User Remote Scripts/
- Method 1:
C:\Users\<username>\AppData\Roaming\Ableton\Live <version>\Preferences\User Remote Scripts - Method 2:
C:\ProgramData\Ableton\Live <version>\Resources\MIDI Remote Scripts\ - Method 3:
C:\Program Files\Ableton\Live <version>\Resources\MIDI Remote Scripts\
Replace <version> with your Ableton version number (e.g. 11, 12).
~/.config/ableton/Live <version>/User Remote Scripts/
- Launch Ableton Live.
- Open Settings / Preferences โ Link, Tempo & MIDI.
- In Control Surface, select AbletonMCP.
- Set Input and Output to None.
3. Configure Your AI Client
Claude Desktopโ ๏ธ Run only one instance of the MCP server at a time (Claude Desktop or Cursor, not both).
Open Claude โ Settings โ Developer โ Edit Config (claude_desktop_config.json) and add:
{
"mcpServers": {
"AbletonMCP": {
"command": "uvx",
"args": ["ableton-mcp"]
}
}
}
Cursor
Go to Cursor Settings โ MCP and enter the following as the command:
uvx ableton-mcp
VSCode (Copilot MCP)
Add to your .vscode/mcp.json:
{
"servers": {
"AbletonMCP": {
"type": "stdio",
"command": "uvx",
"args": ["ableton-mcp"]
}
}
}
Usage
- Make sure the AbletonMCP Remote Script is active in Ableton Live (the Control Surface indicator should appear).
- Open Claude Desktop or Cursor โ the MCP server starts automatically.
- Look for the ๐จ hammer icon in the chat interface โ this confirms MCP tools are available.
- Start prompting Claude to control Ableton.
Example Prompts
"Create an 80s synthwave track"
"Build a Metro Boomin style hip-hop beat"
"Create a full song with intro, buildup, drop, breakdown, and outro"
"Add a jazz chord progression to track 1"
"Load an 808 drum rack and create a 4-bar pattern"
"Add reverb and delay to the lead synth"
"Set the tempo to 128 BPM and create 8 bars of house music"
"Get information about the current session"
"Fire the clip in track 2, scene 3"
Troubleshooting
Connection issues โ Claude can't reach Ableton- Confirm the AbletonMCP Control Surface is selected in Ableton's MIDI preferences.
- Make sure only one MCP server instance is running.
- Restart both Ableton Live and your AI client, then try again.
Break large tasks into smaller steps. For example, instead of "create a full track", try:
- "Create a drum track with a basic pattern"
- "Add a bass track with a simple riff"
- "Add a synth lead melody"
- Verify the
AbletonMCPfolder (containing__init__.py) is in the correct Remote Scripts directory for your OS and Ableton version. - Restart Ableton Live after copying the files.
- Check Ableton's Log.txt for any script errors.
- Quit both Ableton Live and Claude Desktop / Cursor completely.
- Restart Ableton Live and confirm the AbletonMCP Control Surface loads.
- Restart your AI client.
- If the issue persists, open a thread in Discord with your OS, Ableton version, and any error messages.
Technical Details
Communication Protocol
Commands flow as JSON objects over a local TCP socket (default port 9000):
// Request
{ "type": "create_midi_track", "params": { "index": -1 } }
// Response
{ "status": "success", "result": { "track_id": "track_0", "name": "1-MIDI" } }
Limitations
- Complex arrangements may need to be broken into multiple steps.
- Designed for Ableton's built-in devices and browser content; third-party plug-in automation support varies.
- Always save your project before running extensive AI-driven changes.
Telemetry
AbletonMCP collects anonymous usage data to help improve the tool:
- Which MCP tools are invoked (no content or project data)
- Session activity for active-user counts
- Aggregate error rates
No personal information, file names, audio content, or project details are ever collected.
Opt Out
Set any of these environment variables before starting the server:
export ABLETON_MCP_DISABLE_TELEMETRY=true
Or in your claude_desktop_config.json:
{
"mcpServers": {
"AbletonMCP": {
"command": "uvx",
"args": ["ableton-mcp"],
"env": {
"ABLETON_MCP_DISABLE_TELEMETRY": "true"
}
}
}
}
Community
| ๐ฌ Discord | Join the server โ share projects, get help, and give feedback |
| ๐ Bug Reports | Open an issue |
| ๐ก Feature Requests | Start a discussion |
| โญ Stay Updated | Star the repo to follow releases |
Contributing
Contributions are welcome! To get started:
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes:
git commit -m "feat: add my feature" - Push and open a Pull Request
Please open an issue first for substantial changes so we can discuss the approach.
Star History
MCPBlender ยท Not affiliated with Ableton AG