npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@openpets/ableton

v1.0.0

Published

Control Ableton Live through AI - create tracks, clips, add instruments, set tempo, and manipulate your session with natural language commands. Enables prompt-assisted music production and Live session control.

Readme

Ableton Live Plugin

Control Ableton Live through AI - create tracks, clips, add instruments, set tempo, and manipulate your session with natural language commands.

Prerequisites

  • Ableton Live 10 or newer
  • The AbletonMCP Remote Script installed in Ableton

Setup

1. Install the Ableton Remote Script

  1. Download the AbletonMCP_Remote_Script folder from the reference/ableton-mcp directory

  2. Copy the folder to Ableton's MIDI Remote Scripts directory:

    macOS:

    • Right-click on Ableton Live app → Show Package Contents
    • Navigate to: Contents/App-Resources/MIDI Remote Scripts/
    • Paste the AbletonMCP_Remote_Script folder here

    Alternative location: /Users/[Username]/Library/Preferences/Ableton/Live XX/User Remote Scripts

    Windows:

    • C:\Users\[Username]\AppData\Roaming\Ableton\Live x.x.x\Preferences\User Remote Scripts
    • Or: C:\ProgramData\Ableton\Live XX\Resources\MIDI Remote Scripts\
  3. Launch Ableton Live

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

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

  6. Set Input and Output to "None"

2. Test the Connection

cd pets/ableton
opencode run "test ableton connection"

Available Tools

Session & Transport

| Tool | Description | |------|-------------| | ableton-test-connection | Test connection to Ableton Live | | ableton-get-session-info | Get session details (tracks, tempo, playback status) | | ableton-start-playback | Start playing the session | | ableton-stop-playback | Stop playing the session | | ableton-set-tempo | Set the session tempo (20-999 BPM) |

Track Operations

| Tool | Description | |------|-------------| | ableton-get-track-info | Get detailed info about a specific track | | ableton-create-midi-track | Create a new MIDI track | | ableton-set-track-name | Rename a track |

Clip Operations

| Tool | Description | |------|-------------| | ableton-create-clip | Create a new MIDI clip | | ableton-set-clip-name | Rename a clip | | ableton-add-notes-to-clip | Add MIDI notes to a clip | | ableton-fire-clip | Start playing a clip | | ableton-stop-clip | Stop playing a clip |

Browser & Instruments

| Tool | Description | |------|-------------| | ableton-get-browser-tree | Get browser category hierarchy | | ableton-get-browser-items-at-path | Browse items at a specific path | | ableton-load-instrument-or-effect | Load an instrument or effect by URI | | ableton-load-drum-kit | Load a drum rack with a specific kit |

Example Usage

Get Session Info

opencode run "get session info from ableton"

Create a Track with Instrument

opencode run "create a MIDI track called Bass and load a synth bass"

Set Tempo and Create a Beat

opencode run "set tempo to 120 BPM, create a drum track, and add a basic 4/4 kick pattern"

Create a Melody

opencode run "create a clip with a C major scale melody"

Add Notes to a Clip

Notes are added using a JSON array format:

[
  {"pitch": 60, "startTime": 0, "duration": 0.5, "velocity": 100},
  {"pitch": 64, "startTime": 0.5, "duration": 0.5, "velocity": 90},
  {"pitch": 67, "startTime": 1, "duration": 0.5, "velocity": 80}
]

Where:

  • pitch: MIDI note number (0-127, 60 = Middle C)
  • startTime: Start position in beats
  • duration: Note length in beats
  • velocity: Note velocity (0-127)
  • mute: Optional boolean to mute the note

Environment Variables

| Variable | Default | Description | |----------|---------|-------------| | ABLETON_HOST | localhost | Host address for socket connection | | ABLETON_PORT | 9877 | Port for socket connection |

Troubleshooting

Connection Errors

  1. Ableton not running: Make sure Ableton Live is open
  2. Remote Script not loaded: Check Settings → Link, Tempo & MIDI → Control Surface
  3. Port conflict: Ensure port 9877 is not used by another application
  4. Restart: Try restarting both Ableton Live and the AI client

Timeout Errors

Complex operations might timeout. Try breaking them into smaller steps:

  • Instead of "create a complete synthwave track", do it step by step
  • Create the track first, then load instruments, then add clips

Browser Not Available

The browser might not be accessible immediately after Ableton starts. Wait for Ableton to fully load before browsing instruments.

Capabilities

  • Session Control: Get info, start/stop playback, set tempo
  • Track Manipulation: Create, rename MIDI tracks
  • Clip Creation: Create clips, add notes, rename
  • Instrument Loading: Browse and load instruments/effects from Ableton's library
  • Playback Control: Fire and stop individual clips

Limitations

  • Only MIDI tracks are supported (audio track creation coming soon)
  • Complex arrangements should be built step by step
  • Works best with Ableton's built-in devices and browser items

Credits

Based on the AbletonMCP project by Siddharth Ahuja.