Skip to main content

AbletonMCP-U - Ableton Live Model Context Protocol Integration (Upgraded)

AbletonMCP-U connects Ableton Live to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Ableton Live. This is an upgraded version of the original AbletonMCP project, featuring enhanced functionality and improved stability. This integration enables prompt-assisted music production, track creation, and Live session manipulation.

Note: This project has been updated to be compatible with various versions of the MCP library, fixing initialization issues that could cause crashes.

Features

  • Two-way communication: Connect Claude AI to Ableton Live through a socket-based server
  • Track manipulation: Create, modify, and manipulate MIDI and audio tracks
  • Instrument and effect selection: Claude can access and load the right instruments, effects and sounds from Ableton's library
  • Clip creation: Create and edit MIDI clips with notes
  • Session control: Start and stop playback, fire clips, and control transport
  • Enhanced MIDI analysis and arrangement: Read, clear, and replace MIDI notes in clips
  • Clip inspection: Get detailed information about clips
  • Track enumeration: Get comprehensive lists of tracks with detailed information
  • Mix controls: Set track volume and pan
  • Device management: Get device lists, parameters, and set parameter values
  • Locator management: Create, get, and delete cue points (locators)

Components

The system consists of two main components:

  1. Ableton Remote Script (AbletonMCP_Remote_Script/__init__.py): A MIDI Remote Script for Ableton Live that creates a socket server to receive and execute commands
  2. MCP Server (server.py): A Python server that implements the Model Context Protocol and connects to the Ableton Remote Script

Installation

Installing via Smithery

To install Ableton Live Integration for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @AhmadMagdi/ableton-mcp-u --client claude

Prerequisites

If you're on Mac, please install uv as:

brew install uv

Otherwise, install from [uv's official website][https://docs.astral.sh/uv/getting-started/installation/]

⚠️ Do not proceed before installing UV

Claude for Desktop Integration

Follow along with the setup instructions video

  1. Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json to include the following:
{
    "mcpServers": {
        "AbletonMCP-U": {
            "command": "uvx",
            "args": [
                "ableton-mcp-u"
            ]
        }
    }
}

Cursor Integration

Run ableton-mcp-u without installing it permanently through uvx. Go to Cursor Settings > MCP and paste this as a command:

uvx ableton-mcp-u

⚠️ Only run one instance of the MCP server (either on Cursor or Claude Desktop), not both

Installing the Ableton Remote Script

Follow along with the setup instructions video

  1. Download the AbletonMCP_Remote_Script/__init__.py file from this repo

  2. Copy the folder to Ableton's MIDI Remote Scripts directory. Different OS and versions have different locations. One of these should work, you might have to look:

    For macOS:

    • Method 1: Go to Applications > Right-click on Ableton Live app → Show Package Contents → Navigate to: Contents/App-Resources/MIDI Remote Scripts/
    • Method 2: If it's not there in the first method, use the direct path (replace XX with your version number): /Users/[Username]/Library/Preferences/Ableton/Live XX/User Remote Scripts

    For Windows:

    • Method 1: C:\Users[Username]\AppData\Roaming\Ableton\Live x.x.x\Preferences\User Remote Scripts
    • Method 2: C:\ProgramData\Ableton\Live XX\Resources\MIDI Remote Scripts\
    • Method 3: C:\Program Files\Ableton\Live XX\Resources\MIDI Remote Scripts\ Note: Replace XX with your Ableton version number (e.g., 10, 11, 12)
  3. Create a folder called 'AbletonMCP' in the Remote Scripts directory and paste the downloaded '__init__.py' file

  4. Launch Ableton Live

  5. Go to Settings/Preferences → Link, Tempo & MIDI

  6. In the Control Surface dropdown, select "AbletonMCP"

  7. Set Input and Output to "None"

Usage

Starting the Connection

  1. Ensure the Ableton Remote Script is loaded in Ableton Live
  2. Make sure the MCP server is configured in Claude Desktop or Cursor
  3. The connection should be established automatically when you interact with Claude

Using with Claude

Once the config file has been set on Claude, and the remote script is running in Ableton, you will see a hammer icon with tools for the Ableton MCP.

Capabilities

  • Get session and track information
  • Create and modify MIDI and audio tracks
  • Create, edit, and trigger clips
  • Control playback
  • Load instruments and effects from Ableton's browser
  • Add notes to MIDI clips
  • Change tempo and other session parameters
  • NEW: Read MIDI notes from clips
  • NEW: Clear/replace MIDI notes in clips
  • NEW: Inspect clip properties
  • NEW: Enumerate tracks reliably
  • NEW: Mix controls (volume, pan)
  • NEW: Device parameter control
  • NEW: Locator management using cue points

Example Commands

Here are some examples of what you can ask Claude to do:

  • "Create an 80s synthwave track" Demo
  • "Create a Metro Boomin style hip-hop beat"
  • "Create a new MIDI track with a synth bass instrument"
  • "Add reverb to my drums"
  • "Create a 4-bar MIDI clip with a simple melody"
  • "Get information about the current Ableton session"
  • "Load a 808 drum rack into the selected track"
  • "Add a jazz chord progression to the clip in track 1"
  • "Set the tempo to 120 BPM"
  • "Play the clip in track 2"
  • "Read the MIDI notes from the clip in track 1, slot 0"
  • "Replace the notes in the clip in track 1, slot 0 with a new melody"
  • "Get a list of all tracks in the session"
  • "Set the volume of track 2 to 0.75"
  • "Set the pan of track 1 to center (0.0)"

Troubleshooting

  • Connection issues: Make sure the Ableton Remote Script is loaded, and the MCP server is configured on Claude
  • Timeout errors: Try simplifying your requests or breaking them into smaller steps
  • Have you tried turning it off and on again?: If you're still having connection errors, try restarting both Claude and Ableton Live

Technical Details

Communication Protocol

The system uses a simple JSON-based protocol over TCP sockets:

  • Commands are sent as JSON objects with a type and optional params
  • Responses are JSON objects with a status and result or message

Limitations & Security Considerations

  • Creating complex musical arrangements might need to be broken down into smaller steps
  • The tool is designed to work with Ableton's default devices and browser items
  • Always save your work before extensive experimentation

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Disclaimer

This is a third-party integration and not made by Ableton.

Metadata

Release files for ableton-mcp-u 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ableton-mcp-u 1.0.2
File Size Uploaded Provenance
ableton_mcp_u-1.0.2.tar.gz 12.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ableton-mcp-u 1.0.2
File Interpreter ABI Platform
ableton_mcp_u-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 25.0 kB

Release files / ableton_mcp_u-1.0.2.tar.gz

Download URL ableton_mcp_u-1.0.2.tar.gz
Size 12.5 kB
Tags Source
SHA-256 checksum
How to use checksums
616255d15411b3da04ea6b4892f8489ff1f56b3985d3cb4bb28631b64ceb7e22
BLAKE2b-256 checksum
How to use checksums
c4f91512ec88ce100b03cabf58c7c17d2241e50fcbc08ea784fe984ff3651a90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / ableton_mcp_u-1.0.2-py3-none-any.whl

Download URL ableton_mcp_u-1.0.2-py3-none-any.whl
Size 12.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c24857796f86c57262594c798f433ce1a5600bfcb007441601c2ecf8a3b28073
BLAKE2b-256 checksum
How to use checksums
95fed4985610a966f2f83bf39b51158b42ebc2dfeb07e22d6dbd85b12f4b0de5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Security for ableton-mcp-u 1.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page