Sandbox
@xiaolaa2/ableton-copilot-mcp

MCP server for controlling Ableton Live

This repo exposes Ableton Live through Model Context Protocol so an agent can manage songs, tracks, clips, notes, devices, and recording. It uses ableton-js under the hood and includes a CLI plus local storage for logs, history, and state snapshots.

92 starsβ€’19 forksβ€’TypeScriptβ€’Updated 1mo ago
Who it's for

Builders who want their MCP client to control Ableton Live during music production.

What it delivers

You can ask an agent to handle Ableton Live editing work like track setup, MIDI changes, and recording without doing each step by hand.

What it does

Song control

Gets song info, lists tracks, creates MIDI, audio, and return tracks, and deletes or duplicates tracks.

Track management

Reads clips in a track, creates empty MIDI clips, creates audio clips from sample paths, and changes track properties like mute, color, name, arm, and solo.

Clip operations

Reads notes in piano roll clips, adds, deletes, and replaces notes, and changes clip properties such as name, color, and looping.

Audio recording

Records track content over a chosen time range.

Device management

Loads devices and plugins, changes device parameters, and browses the device library.

State tracking

Stores operation history, logs actions, and supports rollback for note operations and restoring previous states.

How to get it

  1. 1Method 1: One-line installation (Recommended)
    npx @xiaolaa2/ableton-copilot-mcp --install-scripts
    # or use the short form
    npx @xiaolaa2/ableton-copilot-mcp -is

README

ableton-copilot-mcp

Ableton Live Version Node.js Version TypeScript Version License

An MCP (Model Context Protocol) server built on ableton-js for real-time interaction and control with Ableton Live's Arrangement View, dedicated to assisting music producers in their music production.

🎯 Note

As a music producer, I have some understanding of using Ableton for music creation. During the creative process, we often need to handle various tedious operations, such as humanizing note properties, merging notes, recording one track to another audio track, etc. Previously, we could only rely on the functions provided by the host DAW for these operations. However, with the emergence of large language models and MCP, we now have the possibility to let AI help us with automation. Although it's still not realistic for AI to directly generate notes or create a complete song (it can't generate a good-sounding song), having AI assist us with auxiliary operations presents a new possibility.

πŸŽ₯ Demo

This is a simple demonstration video of MIDI operations.

https://github.com/user-attachments/assets/8d635c4c-a1f2-44be-93ae-062038d14c71

πŸš€ Features

🎡 Song Control

  • Get basic song information (root note, scale name, tempo, song length, etc.)
  • Get a list of all tracks
  • Create MIDI, audio, and return tracks
  • Delete and duplicate tracks

🎹 Track Management

  • Get all clips in a track
  • Create empty MIDI clips in the arrangement view tracks
  • Create audio clips in tracks based on provided sample file paths
  • Set track properties (mute, color, name, arm, solo, etc.)
  • Duplicate MIDI clips to specified tracks

🎼 Clip Operations

  • Get clips in the piano roll view
  • Get and manage all notes in a clip
  • Add, delete, and replace notes in clips
  • Set clip properties (name, color, looping, loop_start, loop_end, etc.)

🎧 Audio Operations

  • Supports recording track content based on time range

πŸ”Œ Device Management

  • Load audio effects, instruments and plugins
  • Modify device parameters
  • Browse available devices in the library

πŸ“ State Management

  • Operation history tracking and detailed logging
  • Support for operation rollback (currently only supports note operations)
  • Browse and restore previous states

πŸ“ To-Do List

  • Support automatic envelope adjustment
  • Support more snapshot types (track properties, device parameters, etc.)

⚠️ Warning

  • Direct manipulation of MIDI clips by AI may result in the loss of original notes and cannot be undone with Ctrl + Z. Please operate with caution. If needed, you can ask the AI to help you roll back note operations.

πŸ“₯ Installation

Prerequisites

  • Node.js environment: Ensure Node.js is installed (v20+ recommended) and the npx command is available

    πŸ”— Download: Node.js official website

Installation Steps

1. Install AbletonJS MIDI Remote Scripts

Choose ONE of the following three methods to install MIDI Remote Scripts:

  • Method 1: One-line installation (Recommended)

    npx @xiaolaa2/ableton-copilot-mcp --install-scripts
    # or use the short form
    npx @xiaolaa2/ableton-copilot-mcp -is
    
  • Method 2: Tool-assisted installation

    1. First, start ableton-copilot-mcp (see Usage section below)
    2. Let AI assistant or manually call the MCP tool init_ableton_js to complete the installation automatically
  • Method 3: Manual installation

    1. Create a folder named "Remote Scripts" in your Ableton User Library:
      • Windows: C:\Users\[username]\Documents\Ableton\User Library\Remote Scripts
      • Mac: /Users/[username]/Music/Ableton/User Library/Remote Scripts
    2. Download MIDI Remote Scripts from the ableton-js project
    3. Copy the downloaded midi-script folder to the location above
    4. Rename it to AbletonJS

πŸ”§ Usage

Quick Start

  1. Launch Ableton Live

  2. Enable AbletonJS Control Surface

    • Open Ableton Live Preferences: Preferences β†’ Link/MIDI
    • In the MIDI tab, locate the Control Surface section
    • Select AbletonJS from the dropdown menu
    Ableton Live MIDI Remote Scripts Configuration

    Figure 1: Enabling AbletonJS Control Surface in Ableton Live Configuration

  3. Connect using an MCP client

    The following clients can be used as MCP endpoints:

Client Configuration

Cursor Configuration Example

Add the following configuration to your Cursor settings:

"ableton-js-mcp": {
    "command": "npx",
    "args": [
        "-y",
        "@xiaolaa2/ableton-copilot-mcp"
    ]
}

For the latest version:

"ableton-js-mcp": {
    "command": "npx",
    "args": [
        "-y",
        "@xiaolaa2/ableton-copilot-mcp@latest"
    ]
}

Custom Storage Path (Optional)

You can specify a custom data storage location using the BASE_PATH environment variable:

"ableton-js-mcp": {
    "command": "npx",
    "args": [
        "-y",
        "@xiaolaa2/ableton-copilot-mcp"
    ],
    "env": {
        "BASE_PATH": "D:\\ableton_copilot_mcp"
    }
}

πŸ’‘ Tip: The storage path is used to save log files, operation history, and state snapshots

βœ… Compatibility Testing

Compatibility primarily depends on the version support of the ableton-js library.

Ableton Live VersionTest Status
12.1.10βœ… Tested and working
11.x⚠️ Not tested yet
10.x⚠️ Not tested yet

🀝 Contributing

Issues and contributions are welcome. Please submit issues or suggestions through GitHub Issues.

πŸ“„ License

This project is licensed under the MIT License.

⚠️ Disclaimer

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

Files in the repo

Repository payloadβ€’19 top-level entries
  • .github
  • assets
  • bin
  • src
  • tests
  • .gitignore
  • .npmignore
  • .yarnrc.yml
  • CHANGELOG.md
  • Dockerfile
  • eslint.config.js
  • LICENSE
  • package.json
  • README.md
  • README.zh.md
  • smithery.yaml
  • tsconfig.json
  • vitest.config.ts
  • yarn.lock

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

noskillish/
bankmcp

BankMCPβ„’: your AI can now read your bank. Self-hosted, read-only MCP server for your own bank accounts via open banking (Enable Banking). Standard MCP; tested with Claude and Ollama.

177
memorax-ai/
memorax-code

A memory plugin for AI coding that turns engineering experience, repository knowledge, and your way of working into memory that remains useful in future tasks.

1.2k
MaxFreedomPollard/
Compartment

Encrypted, fully offline agentic memory. One click install, GUI w/ memory map, all OS and agents. Superior memory creation, storage and retrieval.

586
LetsFG/LetsFGConnectors

Agent-native flight & hotel search and booking β€” MCP server, CLI, and Python/JS SDKs. Hundreds of airlines plus the major booking sites, with per-flight reliability history. Free-cancellation hotel rates: hold the room with a small upfront charge, then pay the balance later by link, up to the hotel's own deadline.

2k
ahujasid/
ableton-mcp

Control Ableton Live with any LLM: create tracks, arrange clips & compose music via MCP

3k

Calendar sync tool & universal calendar MCP server. Aggregate, sync and control calendars on Google, Outlook, Office 365, iCloud, CalDAV or ICS.

1.3k