Back to MCP Catalog

Ableton Live Controller MCP Server

Art & CulturePython
Control Ableton Live music production software through natural language
Available Tools

create_audio_track

Creates a new audio track in the Ableton Live session

create_midi_track

Creates a new MIDI track in the Ableton Live session

create_return_track

Creates a new return track in the Ableton Live session

delete_track

Deletes a track by its index

get_track_names

Gets the names of all tracks in the session

set_track_name

Sets the name of a track by its index

get_track_volume

Gets the volume of a track by its index

set_track_volume

Sets the volume of a track by its index

get_track_pan

Gets the pan position of a track by its index

set_track_pan

Sets the pan position of a track by its index

get_track_mute

Gets the mute state of a track by its index

set_track_mute

Sets the mute state of a track by its index

get_track_solo

Gets the solo state of a track by its index

set_track_solo

Sets the solo state of a track by its index

get_track_arm

Gets the arm state of a track by its index

set_track_arm

Sets the arm state of a track by its index

get_clip_names

Gets the names of all clips in a track

play_clip

Plays a clip by track and clip index

stop_clip

Stops a clip by track and clip index

get_device_names

Gets the names of all devices on a track

get_device_parameters

Gets the parameters of a device on a track

set_device_parameter

Sets a parameter value for a device on a track

get_track_input_routing

Gets the input routing of a track

set_track_input_routing

Sets the input routing of a track

get_track_output_routing

Gets the output routing of a track

set_track_output_routing

Sets the output routing of a track

get_tempo

Gets the current tempo of the session

set_tempo

Sets the tempo of the session

play_transport

Starts playback of the session

stop_transport

Stops playback of the session

get_session_state

Gets the current state of the Ableton Live session

The Ableton Live Controller enables AI assistants to interact with Ableton Live digital audio workstation through natural language commands. Using the Open Sound Control (OSC) protocol, it creates a bridge between language models and music production software, allowing for intuitive control of tracks, clips, devices, and mixing parameters. This implementation provides comprehensive access to Ableton Live's functionality through a Model Context Protocol server, making music production more accessible and efficient. Whether you're setting up recording sessions, adjusting parameters, or managing complex projects, this controller translates natural language instructions into precise Ableton Live operations.

Overview

The Ableton Live Controller enables AI assistants to control Ableton Live through natural language commands. It uses the Open Sound Control (OSC) protocol to communicate with Ableton Live and implements the Model Context Protocol (MCP) to facilitate communication between language models and the music production software.

Requirements

Before installing the Ableton Live Controller, ensure you have:

  1. Python 3.10 or higher
  2. AbletonOSC installed as a control surface in Ableton Live
  3. uv package manager (recommended)

Installation

Step 1: Install uv Package Manager

If you don't have uv installed, you can install it with:

curl -LsSf https://astral.sh/uv/install.sh | sh

Step 2: Clone the Repository

git clone https://github.com/Simon-Kansara/ableton-live-mcp-server.git
cd ableton-live-mcp-server

Step 3: Install Dependencies

uv sync

Step 4: Install AbletonOSC

Follow the installation instructions at AbletonOSC GitHub repository to set up the control surface in Ableton Live.

Configuration

Running the OSC Daemon

The OSC daemon handles communication between the MCP server and Ableton Live:

uv run 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

Default Configuration

By default, the server and daemon run with the following settings:

  • Host: localhost (127.0.0.1)
  • MCP Server Socket: 65432
  • Ableton Live OSC Port (Send): 11000
  • Ableton Live OSC Port (Receive): 11001

To modify these settings, edit the AbletonOSCDaemon class in osc_daemon.py.

Using with Claude Desktop

To use the Ableton Live Controller with Claude Desktop, add the following configuration to your Claude Desktop settings file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json

Add the configuration as shown in the installation section below.

Example Usage

Once configured, you can ask Claude questions like:

  • "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"
  • "Create a new MIDI track and add a drum rack"
  • "Adjust the volume of the bass track to -3dB"

The controller will translate these natural language commands into the appropriate OSC messages to control Ableton Live.

Related MCPs

Video Jungle
Art & CulturePython

Upload, edit, search, and generate videos with AI assistance

Rijksmuseum
Art & CultureTypeScript

Access and explore the Rijksmuseum's art collection through natural language

AniList
Art & CultureTypeScript

Access and interact with anime, manga, character, and user data from AniList

About Model Context Protocol

Model Context Protocol (MCP) allows AI models to access external tools and services, extending their capabilities beyond their training data.

Generate Cursor Documentation

Save time on coding by generating custom documentation and prompts for Cursor IDE.