The Ableton Copilot MCP server enables real-time interaction and control with Ableton Live, enhancing music production workflow by automating tasks and managing projects.
Core Features:
- Song Control: Manage tempo, time signature, root note, scale, and song length
- Track Management: Create, delete, duplicate tracks (MIDI, audio, return); set properties (name, color, mute, solo, arm)
- Clip Operations: Create, manipulate and crop clips; modify properties (name, color, looping, markers, gain, warping, pitch)
- MIDI Editing: Add, remove, replace, and duplicate notes within clips with pitch filtering and transposition
- Audio Operations: Record within specified time ranges
- Device Management: Load and modify audio effects, instruments, and plugins; browse available devices
- State Management: Track operation history, create snapshots, and roll back changes
Enables real-time interaction with Ableton Live via MIDI Remote Scripts, allowing for song control, track management, clip operations, and audio recording functionality.
ableton-copilot-mcp
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)
- Method 2: Tool-assisted installation
- First, start ableton-copilot-mcp (see Usage section below)
- Let AI assistant or manually call the MCP tool
init_ableton_js
to complete the installation automatically
- Method 3: Manual installation
- 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
- Windows:
- Download MIDI Remote Scripts from the ableton-js project
- Copy the downloaded
midi-script
folder to the location above - Rename it to
AbletonJS
- Create a folder named "Remote Scripts" in your Ableton User Library:
🔧 Usage
Quick Start
- Launch Ableton Live
- Enable AbletonJS Control Surface
- Open Ableton Live Preferences:
Preferences
→Link/MIDI
- In the
MIDI
tab, locate theControl Surface
section - Select
AbletonJS
from the dropdown menu
- Open Ableton Live Preferences:
- Connect using an MCP clientThe following clients can be used as MCP endpoints:
- Cursor
- Cherry Studio
- Claude Desktop
- Other MCP clients
Client Configuration
Cursor Configuration Example
Add the following configuration to your Cursor settings:
For the latest version:
Custom Storage Path (Optional)
You can specify a custom data storage location using the BASE_PATH
environment variable:
💡 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.
You must be authenticated.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
A Model Context Protocol server that enables real-time interaction with Ableton Live, allowing AI assistants to control song creation, track management, clip operations, and audio recording workflows.
- 🎯 Note
- 🚀 Features
- 📝 To-Do List
- ⚠️ Warning
- 📥 Installation
- 🔧 Usage
- ✅ Compatibility Testing
- 🤝 Contributing
- 📄 License
- ⚠️ Disclaimer
Related Resources
Related MCP Servers
- -securityAlicense-qualityConnects Ableton Live to Claude AI through the Model Context Protocol, enabling AI-assisted music production by allowing Claude to directly interact with and control Ableton Live sessions.Last updated -881PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants like Claude to interact with Spotify, allowing them to search for tracks, control playback, and manage playlists.Last updated -TypeScript
- -security-license-qualityA Model Context Protocol server that enables AI assistants like Claude to track events, page views, user signups, set user properties, and track revenue in Amplitude analytics.Last updated -JavaScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables AI assistants like Claude to generate lyrics, songs, and background music through Mureka's APIs.Last updated -12PythonMIT License