Ableton Live logo

Ableton Live

CommunityPopular
ahujasid

Enables control of Ableton Live music production software through a bidirectional communication system that supports track creation, MIDI editing, playback control, instrument loading, and library browsing for music composition and sound design workflows.

Publisherahujasid
Repositoryableton-mcp
LanguagePython
Forks
327
Stars
2.5K
Available tools
16
Transport typestdio
Categories
LicenseMIT
Links
  • Connect tools to AI workflows

    Ableton Live exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 16 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    2.5K stars and 327 forks from the linked repository.

AbletonMCP - Ableton Live Model Context Protocol Integration

smithery badge

AbletonMCP connects Ableton Live to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Ableton Live. This integration enables prompt-assisted music production, track creation, and Live session manipulation.

Join the Community

Give feedback, get inspired, and build on top of the MCP: Discord. Made by Siddharth

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

Components

The system consists of two main components:

  1. Ableton Remote Script (Ableton_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:

bash
npx -y @smithery/cli install @ahujasid/ableton-mcp --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:
json
{
    "mcpServers": {
        "AbletonMCP": {
            "command": "uvx",
            "args": [
                "ableton-mcp"
            ]
        }
    }
}

Cursor Integration

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

uvx ableton-mcp

⚠️ 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

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"

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.

Installation

TypingMind
Prerequisites:

Node.js 18+

{
  "mcpServers": {
    "AbletonMCP": {
      "command": "uvx",
      "args": [
        "ableton-mcp"
      ]
    }
  }
}

Available Tools

  • get_session_info

    Get detailed information about the current Ableton session

  • get_track_info
    Get detailed information about a specific track in Ableton.
    
    Parameters:
    - track_index: The index of the track to get information about
    
  • create_midi_track
    Create a new MIDI track in the Ableton session.
    
    Parameters:
    - index: The index to insert the track at (-1 = end of list)
    
  • set_track_name
    Set the name of a track.
    
    Parameters:
    - track_index: The index of the track to rename
    - name: The new name for the track
    
  • create_clip
    Create a new MIDI clip in the specified track and clip slot.
    
    Parameters:
    - track_index: The index of the track to create the clip in
    - clip_index: The index of the clip slot to create the clip in
    - length: The length of the clip in beats (default: 4.0)
    
  • add_notes_to_clip
    Add MIDI notes to a clip.
    
    Parameters:
    - track_index: The index of the track containing the clip
    - clip_index: The index of the clip slot containing the clip
    - notes: List of note dictionaries, each with pitch, start_time, duration, velocity, and mute
    
  • set_clip_name
    Set the name of a clip.
    
    Parameters:
    - track_index: The index of the track containing the clip
    - clip_index: The index of the clip slot containing the clip
    - name: The new name for the clip
    
  • set_tempo
    Set the tempo of the Ableton session.
    
    Parameters:
    - tempo: The new tempo in BPM
    
  • load_instrument_or_effect
    Load an instrument or effect onto a track using its URI.
    
    Parameters:
    - track_index: The index of the track to load the instrument on
    - uri: The URI of the instrument or effect to load (e.g., 'query:Synths#Instrument%20Rack:Bass:FileId_5116')
    
  • fire_clip
    Start playing a clip.
    
    Parameters:
    - track_index: The index of the track containing the clip
    - clip_index: The index of the clip slot containing the clip
    
  • stop_clip
    Stop playing a clip.
    
    Parameters:
    - track_index: The index of the track containing the clip
    - clip_index: The index of the clip slot containing the clip
    
  • start_playback

    Start playing the Ableton session.

  • stop_playback

    Stop playing the Ableton session.

  • get_browser_tree
    Get a hierarchical tree of browser categories from Ableton.
    
    Parameters:
    - category_type: Type of categories to get ('all', 'instruments', 'sounds', 'drums', 'audio_effects', 'midi_effects')
    
  • get_browser_items_at_path
    Get browser items at a specific path in Ableton's browser.
    
    Parameters:
    - path: Path in the format "category/folder/subfolder"
            where category is one of the available browser categories in Ableton
    
  • load_drum_kit
    Load a drum rack and then load a specific drum kit into it.
    
    Parameters:
    - track_index: The index of the track to load on
    - rack_uri: The URI of the drum rack to load (e.g., 'Drums/Drum Rack')
    - kit_path: Path to the drum kit inside the browser (e.g., 'drums/acoustic/kit1')
    

Use Ableton Live MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once Ableton Live is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. This MCP runs locally through the TypingMind MCP connector on your device.

Setup guide to use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add Ableton Live as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the Ableton Live MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "ableton-live": {
      "command": "npx",
      "args": [
        "-y",
        "ableton-mcp"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the Ableton Live MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the Ableton Live MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use Ableton Live to help me with this task?
Ableton Live
Sure. I read it.
Here is what I found using Ableton Live.

Frequently asked questions

What is the Ableton Live MCP server used for?

Ableton Live is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use Ableton Live MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use Ableton Live with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use Ableton Live MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With Ableton Live connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect Ableton Live MCP to TypingMind?

Ableton Live runs through the TypingMind local MCP connector. This is best when the MCP server needs access to local files, desktop apps, command-line tools, or private resources on your computer.

What tools does Ableton Live MCP provide in TypingMind?

Ableton Live exposes 16 MCP tools that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use Ableton Live MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If Ableton Live requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇