Ableton Live Controller
STDIOMCP server implementing communication between LLMs and Ableton Live using OSC protocol.
MCP server implementing communication between LLMs and Ableton Live using OSC protocol.
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.