Ableton Copilot

Ableton Copilot

Enables AI-powered music production in Ableton Live through natural language, with tools for composition, arrangement, mixing, and sound design.

Category
Visit Server

README

Ableton Copilot - an AI music-production copilot for Ableton Live

Ableton Copilot connects Ableton Live to Claude AI through the Model Context Protocol (MCP), giving Claude a music-theory-aware toolset to compose, arrange, mix, and sound-design inside a real Live session — not just a remote control, but a copilot that understands key, genre, and song structure.

Built on top of the open-source Ableton Live Remote Script and socket protocol originally created by Siddharth Ahuja (ahujasid/ableton-mcp) — that project handles the low-level Live Object Model plumbing; everything above it (music theory, generators, mixing, telemetry, session state) is this project's own layer.

Features

  • Two-way communication: Connect Claude AI to Ableton Live through a socket-based server
  • Track manipulation: Create, modify, and manipulate MIDI and audio tracks
  • Mixing control: Set track volume, pan, mute, solo, and send levels
  • Instrument and effect selection: Claude can access and load the right instruments, effects and sounds from Ableton's library
  • Clip creation: Create and edit MIDI clips with notes
  • Music-theory-aware generation: Key- and genre-aware chord, bassline, and drum pattern generators, plus one-call section scaffolding
  • Arrangement view composition: Build full songs autonomously in Arrangement View, including sections like intro, buildup, drop, breakdown, and outro
  • Session control: Start and stop playback, fire clips, and control transport across Session View and Arrangement View
  • Anonymous telemetry: Usage tracking to help improve the tool (can be disabled)

Components

The system consists of two main components:

  1. Ableton Remote Script (AbletonMCP_Remote_Script/__init__.py): A MIDI Remote Script for Ableton Live that creates a socket server to receive and execute commands
  2. MCP Server (MCP_Server/server.py): A Python server that implements the Model Context Protocol and connects to the Ableton Remote Script

Installation

Prerequisites

If you're on Mac, please install uv as:

brew install uv

Otherwise, install from [uv's official website][https://docs.astral.sh/uv/getting-started/installation/]

⚠️ Do not proceed before installing UV

Claude for Desktop Integration

Follow along with the setup instructions video

  1. Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json to include the following:
{
    "mcpServers": {
        "AbletonCopilot": {
            "command": "uvx",
            "args": [
                "ableton-copilot"
            ]
        }
    }
}

Cursor Integration

Run ableton-copilot without installing it permanently through uvx. Go to Cursor Settings > MCP and paste this as a command:

uvx ableton-copilot

⚠️ Only run one instance of the MCP server (either on Cursor or Claude Desktop), not both

Installing the Ableton Remote Script

Follow along with the setup instructions video

  1. Download the AbletonMCP_Remote_Script/__init__.py file from this repo

  2. Copy the folder to Ableton's MIDI Remote Scripts directory. Different OS and versions have different locations. One of these should work, you might have to look:

    For macOS:

    • Method 1: Go to Applications > Right-click on Ableton Live app → Show Package Contents → Navigate to: Contents/App-Resources/MIDI Remote Scripts/
    • Method 2: If it's not there in the first method, use the direct path (replace XX with your version number): /Users/[Username]/Library/Preferences/Ableton/Live XX/User Remote Scripts

    For Windows:

    • Method 1: C:\Users[Username]\AppData\Roaming\Ableton\Live x.x.x\Preferences\User Remote Scripts
    • Method 2: C:\ProgramData\Ableton\Live XX\Resources\MIDI Remote Scripts\
    • Method 3: C:\Program Files\Ableton\Live XX\Resources\MIDI Remote Scripts\ Note: Replace XX with your Ableton version number (e.g., 10, 11, 12)
  3. Create a folder called 'AbletonMCP' in the Remote Scripts directory and paste the downloaded '__init__.py' file

  4. Launch Ableton Live

  5. Go to Settings/Preferences → Link, Tempo & MIDI

  6. In the Control Surface dropdown, select "AbletonMCP"

  7. Set Input and Output to "None"

Usage

Starting the Connection

  1. Ensure the Ableton Remote Script is loaded in Ableton Live
  2. Make sure the MCP server is configured in Claude Desktop or Cursor
  3. The connection should be established automatically when you interact with Claude

Using with Claude

Once the config file has been set on Claude, and the remote script is running in Ableton, you will see a hammer icon with tools for the Ableton MCP.

Capabilities

  • Get session and track information
  • Create and modify MIDI and audio tracks
  • Set track volume, pan, mute, solo, and send levels
  • Generate key- and genre-aware chord progressions, basslines, and drum patterns
  • Scaffold an entire section (key, chords, bass, drums) in one call
  • Create full song arrangements from start to finish in Arrangement View
  • Create, edit, and trigger clips
  • Control playback
  • Load instruments and effects from Ableton's browser
  • Add notes to MIDI clips
  • Change tempo and other session parameters

Example Commands

Here are some examples of what you can ask Claude to do:

  • "Create an 80s synthwave track" Demo
  • "Create a Metro Boomin style hip-hop beat"
  • "Create a full arrangement with an intro, buildup, drop, breakdown, and outro"
  • "Create a new MIDI track with a synth bass instrument"
  • "Add reverb to my drums"
  • "Create a 4-bar MIDI clip with a simple melody"
  • "Get information about the current Ableton session"
  • "Load a 808 drum rack into the selected track"
  • "Add a jazz chord progression to the clip in track 1"
  • "Set the tempo to 120 BPM"
  • "Play the clip in track 2"

Troubleshooting

  • Connection issues: Make sure the Ableton Remote Script is loaded, and the MCP server is configured on Claude
  • Timeout errors: Try simplifying your requests or breaking them into smaller steps
  • Have you tried turning it off and on again?: If you're still having connection errors, try restarting both Claude and Ableton Live

Technical Details

Communication Protocol

The system uses a simple JSON-based protocol over TCP sockets:

  • Commands are sent as JSON objects with a type and optional params
  • Responses are JSON objects with a status and result or message

Limitations & Security Considerations

  • Creating complex musical arrangements might need to be broken down into smaller steps
  • The tool is designed to work with Ableton's default devices and browser items
  • Always save your work before extensive experimentation

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Telemetry

Ableton Copilot collects anonymous usage data to help improve the tool. This includes:

  • Tool usage statistics (which features are used)
  • Session information (for daily/monthly active user counts)
  • Error rates and performance metrics

No personal information, project names, or audio content is collected.

Opting Out

To disable telemetry, set one of these environment variables before starting the MCP server:

export ABLETON_MCP_DISABLE_TELEMETRY=true

Or use any of these alternatives:

  • DISABLE_TELEMETRY=true
  • MCP_DISABLE_TELEMETRY=true

For Claude Desktop, add the environment variable to your config:

{
    "mcpServers": {
        "AbletonCopilot": {
            "command": "uvx",
            "args": ["ableton-copilot"],
            "env": {
                "ABLETON_MCP_DISABLE_TELEMETRY": "true"
            }
        }
    }
}

Disclaimer

This is a third-party integration and not made by Ableton.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured