The Ableton Live MCP Server is a server implementing the Model Context Protocol (MCP) to facilitate communication between LLMs and Ableton Live. It uses OSC (Open Sound Control) to send and receive messages to/from Ableton Live. It is based on AbletonOSC implementation and exhaustively maps available OSC adresses to tools accessible to MCP clients.
This project consists of two main components:
mcp_ableton_server.py
: The MCP server handling the communication between clients and the OSC daemon.osc_daemon.py
: The OSC daemon responsible for relaying commands to Ableton Live and processing responses.
- Provides an MCP-compatible API for controlling Ableton Live from MCP clients.
- Uses python-osc for sending and receiving OSC messages.
- Based on the OSC implementation from AbletonOSC.
- Implements request-response handling for Ableton Live commands.
- Python 3.8+
python-osc
(for OSC communication)fastmcp
(for MCP support)- AbletonOSC as a control surface
- Install
uv
pip install uv
- Clone the repository:
git clone https://github.com/your-username/mcp_ableton_server.git cd mcp_ableton_server
- Install dependencies:
uv install python-osc fastmcp
- Install the MCP Server
This assumes that you're using Claude Desktop
mcp install mcp_ableton_server.py
- Install AbletonOSC Follow the instructions at AbletonOSC
The OSC daemon will handle OSC communication between the MCP server and Ableton Live:
python osc_daemon.py
This will:
- Listen for MCP client connections on port 65432.
- Forward messages to Ableton Live via OSC on port 11000.
- Receive OSC responses from Ableton on port 11001.
In Claude desktop, ask Claude: Prepare a set to record a rock band Set the input routing channel of all tracks that have "voice" in their name to Ext. In 2
By default, the server and daemon run on localhost (127.0.0.1) with the following ports:
- MCP Server Socket: 65432
- Ableton Live OSC Port (Send): 11000
- Ableton Live OSC Port (Receive): 11001
To modify these, edit the AbletonOSCDaemon
class in osc_daemon.py
:
self.socket_host = '127.0.0.1'
self.socket_port = 65432
self.ableton_host = '127.0.0.1'
self.ableton_port = 11000
self.receive_port = 11001
- macOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%/Claude/claude_desktop_config.json
"mcpServers": {
"Ableton Live Controller": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"python-osc",
"mcp",
"run",
"/Users/simonkansara/Desktop/mcp-ableton-server/mcp-ableton-server.py"
]
}
}
Feel free to submit issues, feature requests, or pull requests to improve this project.
This project is licensed under the MIT License. See the LICENSE
file for details.
- Model Context Protocol (MCP)
- python-osc for OSC handling
- Daniel John Jones for OSC implementation with AbletonOSC
- Ableton Third Party Remote Scripts
- Julien Bayle @Structure Void for endless inspirations and resources.
- Explore resources and prompts primitives opportunities.
- Build a standalone Ableton Live MCP client.