by Simon-Kansara
ableton-live-mcp-server is a Python-based server that implements the Model Context Protocol (MCP) to enable communication between Large Language Models (LLMs) and Ableton Live. It provides a robust interface for LLMs to control various aspects of Ableton Live, facilitating AI-powered music production.
The Ableton Live MCP Server is a Python-based server that implements the Model Context Protocol (MCP) to enable communication between Large Language Models (LLMs) and Ableton Live. It utilizes Open Sound Control (OSC) to send and receive messages to and from Ableton Live, building upon the existing AbletonOSC implementation. The project aims to provide a robust interface for LLMs to control various aspects of Ableton Live.
To use the Ableton Live MCP Server, you need to follow these steps:
python-osc
, fastmcp
, and uv
installed. You also need to install AbletonOSC as a control surface within Ableton Live.uv sync
to install project dependencies.uv run osc_daemon.py
to start the OSC daemon, which handles OSC communication between the MCP server and Ableton Live.claude_desktop_config.json
file to integrate the MCP server.Once set up, you can interact with Ableton Live through an LLM (e.g., Claude Desktop) by issuing commands like "Prepare a set to record a rock band" or "Set the input routing channel of all tracks that have "voice" in their name to Ext. In 2."
python-osc
for efficient sending and receiving of OSC messages to and from Ableton Live.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.python-osc
(for OSC communication)fastmcp
(for MCP support)uv
(recommended Python package installer)Install uv
(https://docs.astral.sh/uv/getting-started/installation):
curl -LsSf https://astral.sh/uv/install.sh | sh
Clone the repository:
git clone https://github.com/your-username/mcp_ableton_server.git
cd mcp_ableton_server
Install the project and its dependencies:
uv sync
Install AbletonOSC Follow the instructions at AbletonOSC
The OSC daemon will handle OSC communication between the MCP server and Ableton Live:
uv run osc_daemon.py
This will:
In Claude desktop, ask Claude:
By default, the server and daemon run on localhost (127.0.0.1) with the following ports:
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
To use this server with Claude Desktop, you need to configure it in your Claude Desktop settings. The configuration file location varies by operating system:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%/Claude/claude_desktop_config.json
Add the following configuration to your mcpServers
section:
{
"mcpServers": {
"Ableton Live Controller": {
"command": "/path/to/your/project/.venv/bin/python",
"args": ["/path/to/your/project/mcp_ableton_server.py"]
}
}
This configuration ensures that:
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.
Reviews feature coming soon
Stay tuned for community discussions and feedback