ableton-mcp-extended
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., "@ableton-mcp-extendedSet track 1 volume to -6 dB and pan it left"
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 Extended — Ableton Live MCP with mixer control
Connects Ableton Live to Claude through the Model Context Protocol, for prompt-assisted music production, track creation and session manipulation.
This is a fork of ahujasid/ableton-mcp by Siddharth Ahuja, MIT licensed, that adds full mixer control — see Mixer control.
Why this fork exists
You can ask the upstream MCP to build an arrangement, but not to balance it.
Mixer levels are readable but not writable: get_track_info returns
mixer_device.volume.value, yet nothing can set it, because
set_device_parameter resolves through track.devices[...] and the mixer is not
a device. Panning and sends are in the same position.
This fork adds get_mixer, set_track_volume, set_track_panning and set_send,
addressing levels in real decibels rather than raw fader position. The
approach is upstreamed as
ahujasid/ableton-mcp#122.
A note on which version you are running
Worth knowing before you pick a base. pip install ableton-mcp currently gives
you 1.3.7, whose source is not in the upstream GitHub repository — that repo
is at 1.0.0. The published build has commands the repo does not (arrangement
access, rack inspection) and also carries telemetry that asks to upload your
session to an open training dataset on first use.
version | remote script commands | mixer writes | dataset upload | |
| 1.0.0 | 19 | ✗ | ✗ |
PyPI | 1.3.7 | 34 | ✗ | ✓ (opt-out on first use) |
this fork | 1.0.0 + mixer | 23 | ✓ | ✗ |
This fork is based on the GitHub 1.0.0 tree, so it has no telemetry and no arrangement commands. Raised upstream as issue #123.
Community
The upstream project has a Discord — feedback on the mixer work is welcome there, or in the issues here.
Related MCP server: ableton-mcp
Features
Two-way communication: Connect Claude AI to Ableton Live through a socket-based server
Track manipulation: Create, modify, and manipulate MIDI and audio tracks
Instrument and effect selection: Claude 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
Components
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 commandsMCP Server (
server.py): A Python server that implements the Model Context Protocol and connects to the Ableton Remote Script
Installation
Installing via Smithery
To install Ableton Live Integration for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ahujasid/ableton-mcp --client claudePrerequisites
Ableton Live 10 or newer
Python 3.8 or newer
If you're on Mac, please install uv as:
brew install uvOtherwise, install from [uv's official website][https://docs.astral.sh/uv/getting-started/installation/]
⚠️ Do not proceed before installing UV
Claude for Desktop Integration
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"
]
}
}
}Cursor Integration
Run ableton-mcp without installing it permanently through uvx. Go to Cursor Settings > MCP and paste this as a command:
uvx ableton-mcp⚠️ Only run one instance of the MCP server (either on Cursor or Claude Desktop), not both
Installing the Ableton Remote Script
Follow along with the setup instructions video
Download the
AbletonMCP_Remote_Script/__init__.pyfile from this repoCopy 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)
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"
Usage
Starting the Connection
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 Claude
Using with Claude
Once the config file has been set on Claude, and the remote script is running in Ableton, you will see a hammer icon with tools for the Ableton MCP.
Capabilities
Get session and track information
Create and modify MIDI and audio tracks
Create, edit, and trigger clips
Control playback
Load instruments and effects from Ableton's browser
Add notes to MIDI clips
Change tempo and other session parameters
Read and set mixer levels — volume, panning and sends
Mixer control
get_mixer, set_track_volume, set_track_panning and set_send work on
regular tracks, return tracks and the master (track_type is "track",
"return" or "master").
Levels are set in decibels:
set_track_volume(track_index=0, db=-4)
set_send(track_index=0, send_index=0, db=-12)Prefer db over the raw value. Live's fader position is not proportional to
level — 0.85 is 0 dB and 1.0 is +6 dB — and the taper has no published closed
form, so approximating it drifts away from unity gain. Passing db resolves the
exact fader position by bisecting against DeviceParameter.str_for_value(),
i.e. asking Live what a position actually reads as. Accuracy is bounded by
Live's own 0.01 dB display resolution. Targets beyond the fader range clamp to
its ends.
get_mixer reports each parameter three ways — the raw value, the dB, and the
string Live displays:
{
"name": "1-Drums",
"volume": { "value": 0.85, "db": 0.0, "display": "0.0 dB" },
"panning": { "value": 0.0, "db": null, "display": "C" },
"sends": [ { "index": 0, "name": "A Reverb", "db": -12.0, "display": "-12.0 dB" } ]
}Example Commands
Here are some examples of what you can ask Claude 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"
"Set every track to -4 dB"
"Pan the hats 30% left and send them to the reverb at -12 dB"
Troubleshooting
Connection issues: Make sure the Ableton Remote Script is loaded, and the MCP server is configured on Claude
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 Claude and Ableton Live
Technical Details
Communication Protocol
The system uses a simple JSON-based protocol over TCP sockets:
Commands are sent as JSON objects with a
typeand optionalparamsResponses are JSON objects with a
statusandresultormessage
Limitations & Security Considerations
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
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Disclaimer
This is a third-party integration and not made by Ableton.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceA server that connects Ableton Live to Claude AI through the Model Context Protocol, enabling AI-assisted music production and direct control of Ableton Live features.161MIT
- Flicense-qualityDmaintenanceAn MCP server that enables Claude to control Ableton Live in real-time via the AbletonOSC bridge. It allows users to manage playback, create tracks, write MIDI, and adjust mixer or device parameters using natural language commands.
- Alicense-qualityDmaintenanceAn MCP server that enables AI-powered music production by allowing Claude to control Bitwig Studio, including transport, mixer, and device controls.63MIT
- AlicenseAqualityAmaintenanceMCP server for Ableton Live that exposes the Live Object Model to LLMs, enabling natural language control of music production.36714MIT
Related MCP Connectors
MCP server for Producer/Riffusion AI music generation
Generate AI music via the Lacuna Music API from MCP clients like Claude Desktop & Code.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- 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/staminna/ableton-mcp-extended'
If you have feedback or need assistance with the MCP directory API, please join our Discord server