
Ableton Copilot MCP
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.
Tools
crop_clip
Crops the clip. The region that is cropped depends on whether the clip is looped or not. If looped, the region outside of the loop is removed. If not looped, the region outside the start and end markers is removed.
duplicate_clip_loop
Makes the loop twice as long and duplicates notes and envelopes. Duplicates the clip start/end range if the clip is not looped.
get_detail_clip
Get detail clip/piano roll clip
get_clip_info_by_id
Get clip info by clip id
get_all_notes_by_clipid
Get clip all notes by clip id
remove_clip_all_notes
Remove clip all notes by clip id
add_notes_to_clip
Add notes to clip by clip id
replace_all_notes_to_clip
Replace clip all notes by clip id
set_clip_property
set clip property
duplicate_clip_region
Duplicates the notes in the specified region to the destination_time. Only notes of the specified pitch are duplicated if pitch is not -1. If the transposition_amount is not 0, the notes in the region will be transposed by the transposition_amount of semitones. Raises an error on audio clips..
get_song_info
get song basic info, include tempo, time signature, root_note(begin from 0, C..B), scale name, song length
get_all_tracks
get all tracks
get_tracks_count
get midi + audio tracks count
create_track
create track and return raw track
delete_track
delete track by index
duplicate_track
duplicate midi or audio track by index
record_by_time_range
Opens Ableton's audio record button and starts playback from start_time to end_time. Before recording, please: ENSURE: 1. Set the recording track to record mode 2. Set the recording track's input routing to Resample or a specific audio track/input routing 3. After recording, disable the track's record mode
get_clips_by_track_id
get all clip by track id
get_track_info_by_id
get track info by id
create_empty_midi_clip
create empty midi clip on track
set_track_property
set track property
duplicate_clip_to_track
duplicate clip to track
get_track_available_input_routings
get track available input routings
README
ableton-copilot-mcp
<div align="center"> <img src="https://img.shields.io/badge/Ableton%20Live-12-9cf" alt="Ableton Live Version"> <img src="https://img.shields.io/badge/Node.js-20%2B-green" alt="Node.js Version"> <img src="https://img.shields.io/badge/TypeScript-5.8.2-blue" alt="TypeScript Version"> <img src="https://img.shields.io/badge/License-MIT-yellow" alt="License"> </div>
An MCP (Model Context Protocol) server based on ableton-js for real-time interaction and control with Ableton Live, dedicated to assisting music producers in music creation.
🚀 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
- 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
📥 Installation
- Install Node.js: Make sure the npx command is available. It's recommended to install the latest stable version from the Node.js official website
- Install MIDI Remote Scripts: Follow the instructions from the ableton-js project to install AbletonJS MIDI Remote Scripts to your Ableton Live
🔧 Usage
-
Ensure that Ableton Live is launched and running
-
Make sure AbletonJS Control Surface is enabled in your configuration:
Path: Settings -> Link, Tempo & MIDI -> MIDI -> Control Surface
<div align="center"> <img src="./assets/images/setting.jpg" alt="Ableton Live MIDI Remote Scripts Configuration" width="80%" style="border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"> <p><em>Figure 1: Enabling AbletonJS Control Surface in Ableton Live</em></p> </div>
-
Connect using an MCP client, including but not limited to:
- Cursor
- Cherry Studio
- Claude Desktop
Cursor Configuration Example
Configure ableton-copilot-mcp in Cursor:
"ableton-js-mcp": {
"command": "npx",
"args": [
"-y",
"ableton-copilot-mcp"
]
}
✅ 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.
Recommended Servers
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.
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.
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.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.