Ableton Copilot MCP

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.

Category
Visit Server

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

  1. 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
  2. Install MIDI Remote Scripts: Follow the instructions from the ableton-js project to install AbletonJS MIDI Remote Scripts to your Ableton Live

🔧 Usage

  1. Ensure that Ableton Live is launched and running

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

  3. Connect using an MCP client, including but not limited to:

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

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