The Ableton Live MCP Server enables large language models to control Ableton Live through the Model Context Protocol, using OSC (Open Sound Control) to send and receive messages between clients and the DAW. The server provides a comprehensive set of tools that map available OSC addresses to MCP-compatible functions, allowing LLMs to perform tasks such as configuring tracks, adjusting routing, and preparing sessions for recording. This solves the problem of programmatic LLM-based control over Ableton Live by bridging the gap between natural language instructions and DAW automation.
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.jsonAdd 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.
io.github.socialapishub/social-media-api
io.github.xpaysh/social-media
com.thenextgennexus/youtube-media-mcp-server
io.github.ludmila-omlopes/youtube-video-analyzer
csoai-org/social-media-ai-mcp
com.ezbizservices/social-media