Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AIFire in da houseCheck it out free

ableton-copilot-mcp

MCP.Pizza Chef: xiaolaa2

ableton-copilot-mcp is an MCP server built on ableton-js that allows AI assistants to control Ableton Live in real-time. It provides a standardized protocol interface for managing songs, controlling tracks, editing MIDI, and recording audio, streamlining music production workflows and automating tedious tasks within Ableton Live.

Use This MCP server To

Control Ableton Live tracks and clips via AI commands Automate MIDI note editing and humanization Record audio from one track to another programmatically Manage song sessions and arrangement in real-time Integrate AI-driven music production workflows Automate repetitive music production tasks in Ableton Live Enable AI assistants to interact with Ableton Live environment

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, 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.

πŸš€ 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
  • Snapshot creation for critical operations
  • Support for operation rollback (especially for note operations)
  • Browse and restore previous states

πŸ“ To-Do List

  • Allow returning the created clip_id when creating midi clips (pending ableton-js update)
  • 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

Usage Tips

  • When connecting for the first time, it may take a few seconds to establish communication with Ableton Live
  • Make sure Ableton Live is running and the AbletonJS Control Surface is properly loaded
  • To check the connection status, you can use the get_song_status command in the MCP tools

βœ… Compatibility Testing

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

Ableton Live Version Test 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.

ableton-copilot-mcp FAQ

How do I connect the ableton-copilot-mcp server to Ableton Live?
The server uses ableton-js to interface with Ableton Live; ensure Ableton Live is running and the server is configured with the correct MIDI and API access.
What programming languages and frameworks does ableton-copilot-mcp use?
It is built with Node.js (version 20+) and TypeScript (version 5.8.2), leveraging ableton-js for Ableton Live control.
Can I use ableton-copilot-mcp with other DAWs besides Ableton Live?
No, this MCP server is specifically designed to interact with Ableton Live only.
Is ableton-copilot-mcp compatible with all versions of Ableton Live?
It is primarily tested with Ableton Live 12; compatibility with other versions may vary.
What kind of AI assistants can integrate with ableton-copilot-mcp?
Any AI assistant or LLM client supporting MCP protocol can integrate, including those using OpenAI, Anthropic Claude, or Google Gemini models.
How does ableton-copilot-mcp improve music production workflows?
It automates tedious tasks like MIDI editing, track recording, and session management, saving time and enhancing creativity.
Is the ableton-copilot-mcp server open source?
Yes, it is MIT licensed and available on GitHub for community use and contributions.
What are the system requirements to run ableton-copilot-mcp?
Requires Node.js 20+ and a running instance of Ableton Live 12 or compatible version.