Sponsored by Deepsite.site

ableton-copilot-mcp

Created By
xiaolaa29 months ago
An MCP server built on ableton-js that enables AI assistants to control Ableton Live in real-time, providing capabilities for song management, track control, MIDI editing, and audio recording through a standardized protocol interface.
Content

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: PreferencesLink/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 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.

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Playwright McpPlaywright MCP server
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
WindsurfThe new purpose-built IDE to harness magic
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
ChatWiseThe second fastest AI chatbot™
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Tavily Mcp
DeepChatYour AI Partner on Desktop
CursorThe AI Code Editor
Serper MCP ServerA Serper MCP Server
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Amap Maps高德地图官方 MCP Server
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.