Control Ableton Live from any LLM. The first MCP server built on Ableton's official Extensions SDK, so it installs as one .ablx with no Remote Script and no Max for Live.
An MCP server that exposes a Live Set to any MCP client (Claude Code, Claude Desktop, Cursor).
It runs inside Live as one extension, speaks Streamable HTTP on loopback, and gives an LLM a
small set of read and write tools over tracks, clips, notes, and devices. Every write is one
undo step.
Loophole Kit
Five Ableton extensions for the work an LLM does not need to be in the loop for: Scale Lock,
Humanize, Gain Stage Doctor, Session to Song, and Set Janitor. Each is a right-click action
inside Live.
You install one .ablx in Live. The extension starts a local MCP server. You
point your MCP client at it. Now your assistant can read the Set (track names,
clips, notes) and make edits you can undo in one step: humanize a drum loop,
build an arrangement from session clips, rename tracks in bulk, write a chord
progression into a clip.
It is built on Ableton’s official Extensions SDK (TypeScript, Node), so there is
no Remote Script, no AbletonOSC, and no Max for Live in the path. One install.
Loophole is not the first way to drive Ableton from an assistant, and it does
not claim to be.
ahujasid/ableton-mcp defined the
category. It connects through a Remote Script over a socket.
Producer Pal set a high craft bar for AI in Live,
built on Max for Live.
The one concrete difference: Loophole is built on Ableton’s official Extensions
SDK, so it installs as a single .ablx with no extra bridge to run. That is the
only “first” claim made anywhere here: the first MCP server built on Ableton’s
official Extensions SDK.
Loophole is young, built in the open against the Ableton Extensions SDK that
launched on 2026-06-02, with the whole monorepo on main and CI green. The SDK
is 1.0.0-beta, and so is Loophole: the tools and extensions are fully tested
against an in-memory model of the Set in CI, and the in-Live behavior is verified
against real Ableton (Live 12.4.5b Suite) as the final step. There is no published
package yet, so you install from source. Where the beta SDK sets a limit, the docs
state it.