Ableton Live MCP
Ableton Live MCP
Ein MCP-Server für Ableton Live 12, basiert auf dem offiziellen Ableton Extensions SDK. Der MCP-Server läuft innerhalb von Live als Erweiterung — kein Bridge-Prozess, keine MIDI-Remote-Skripte. Jeder MCP-Client (Claude Code, Claude Desktop, Cursor, ...) verbindet sich über streamable HTTP und erhält volle programmatische Kontrolle über das Live-Set: Spuren, Clips, MIDI-Noten, Geräte, Parameter, Mixer, Szenen, Warping, Rendering und mehr.
MCP client (Claude, ...) ──streamable HTTP──▶ http://127.0.0.1:8722/mcp
│
Live Extension Host (Node.js)
│
Ableton Live 12Voraussetzungen
Ableton Live 12.4.5 oder neuer (Extensions-Unterstützung)
Node.js >= 24.14 (nur Build)
Related MCP server: ableton-mind
Installation
npm install
npm run package # builds and produces Ableton-Live-MCP-<version>.ablxZiehen Sie in Live die .ablx-Datei auf Einstellungen → Erweiterungen. Der MCP-Endpunkt startet zusammen mit Live unter http://127.0.0.1:8722/mcp (GET /health für einen schnellen Check).
Entwicklermodus
Aktivieren Sie in Live Einstellungen → Erweiterungen → Entwicklermodus und führen Sie dann Folgendes aus:
npm start # builds and runs the extension against the running LiveDie .env-Datei muss auf Ihre Live-Installation verweisen, z. B.:
EXTENSION_HOST_PATH=/Applications/Ableton Live 12 Beta.app.
Client verbinden
Claude Code:
claude mcp add --transport http ableton-live http://127.0.0.1:8722/mcpClaude Desktop (oder ein Client, der nur stdio unterstützt) über mcp-remote:
{
"mcpServers": {
"ableton-live": {
"command": "npx",
"args": ["mcp-remote", "http://127.0.0.1:8722/mcp"]
}
}
}Konfiguration
Der Port wird in config.json im Speicherverzeichnis der Erweiterung gespeichert (wird beim ersten Start erstellt; der Pfad wird von song_get unter environment.storage_directory gemeldet). Standard:
{ "port": 8722 }Funktionsweise
Jedes Live-Objekt (Spur, Clip, Gerät, Parameter, ...) wird über eine stabile Objekt-ID angesprochen, die über die Auflistungs-Werkzeuge (
song_get,track_get,device_get, ...) ermittelt wird.IDs bleiben gültig, bis das Objekt gelöscht oder verschoben wird, oder bis ein anderes Live-Set geladen wird. Veraltete IDs führen zu einem Fehler, der den Client zum erneuten Auflisten auffordert.
Alle Zeit- und Positionsangaben erfolgen in Beats; Farben werden als
#RRGGBBangegeben; MIDI-Tonhöhen liegen zwischen 0 und 127.Schreibvorgänge mit mehreren Werten (
parameter_set) werden in Live zu einem einzigen Undo-Schritt zusammengefasst.
Werkzeuge
Song
Werkzeug | Beschreibung |
| Zustand des Live-Sets: Tempo, Tonleiter, Grid, Spuren, Return-/Master-Spuren, Szenen, Cue-Punkte, Umgebungsinformationen. Der Einstiegspunkt — liefert die überall sonst verwendeten Objekt-IDs. Mit |
| Song-Eigenschaften setzen (Tempo). |
Spuren
Werkzeug | Beschreibung |
| Track-Details: Clip-Slots + Clips, Take-Lanes, Arrangement-Clips, Geräte, Mixer mit Werten. Ansprache über |
| Name / Mute / Solo / Arm. |
| Neue Audio- oder MIDI-Spur erstellen. |
| Spur löschen. |
| Spur duplizieren. |
| Arrangement-Clips in einem Beat-Bereich löschen bzw. kürzen. |
| Take-Lane zu einer Spur hinzufügen. |
| Take-Lane umbenennen. |
Szenen & Cue-Punkte
Werkzeug | Beschreibung |
| Szenen verwalten. |
| Arrangement-Locators verwalten. |
Clips
Werkzeug | Beschreibung |
| MIDI- oder Audio-Clips in einen Session-Slot (per ID oder Spur + |
| Vollständige Clip-Details (Audio: Warp-Einstellungen + Marker; MIDI: Notenanzahl). |
| Name, Farbe, Stummschalten, Looping, Warping, Warp-Modus. |
| Einen Session- oder Arrangement-Clip löschen. |
| Alle MIDI-Noten auslesen. |
| Noten schreiben: |
| Serverseitige Noten-Transformationen — Transponieren, Zeitverschieben, Velocity-Skalierung/-Offset, Quantisieren, Löschen — mit Pitch-/Zeitauswahl. Kein Read-Modify-Write-Roundtrip. |
Geräte & Racks
Werkzeug | Beschreibung |
| Gerätedetails: Parameter mit Werten/Grenzen ( |
| Ein integriertes Live-Gerät in eine Spur oder Rack-Kette einfügen. |
| Geräte entfernen oder duplizieren. |
| Rack-Ketten-Details: Geräte + Ketten-Mixer. |
| Einem Rack eine Kette hinzufügen. |
| MIDI-Notx eines Drum-Rack-Pads setzen. |
| Sample in einem Simpler tauschen. |
Parameter & Mixing
Werkzeug | Beschreibung |
| Parameterwerte vom Gerät/Mixer lesen (Batch). |
| Parameterwerte schreiben (Batch, ein Undo-Schritt). |
| Lautstärke / Pan / Sends einer Spur oder Kette, mitsamt Parameter-IDs und Einheiten-Hinweisen. |
| Lautstärke / Pan / Sends einer Spur oder Kette in einem einzigen Aufruf setzen (ein Undo-Schritt). |
Dateien & Rendering
Werkzeug | Beschreibung |
| Kopiert eine Datei in das Live-Projekt. |
| Pre-FX-Audio einer Audio-Spur als WAV rendern. |
UI & Befehle
Werkzeug | Beschreibung |
| Ein modales HTML-Dialogfenster in Live anzeigen (den Benutzer fragen, Berichte zeigen). |
| Befehle des Extension Hosts ausführen, z. B. |
Skills
skills/ableton-live/SKILL.md ist ein installierbarer Agent-Skill, der einem MCP-Client beibringt, diese Werkzeuge gut zu nutzen (ID-Ermittlungsablauf, Beats vs. Sekunden, Notenbearbeitungs-Muster, Geräte-Workflows). So installieren Sie den Skill für Claude Code:
mkdir -p ~/.claude/skills && cp -r skills/ableton-live ~/.claude/skills/Typische Dinge, die Sie einen verbundenen Assistenten bitten können:
Ein 4-Bar-House-Drum-Pattern auf einer neuen MIDI-Spur mit einem Drum Rack erstellen
Alle Clips auf der Drum-Spur im Modus „Complex Pro" warpen
Jede Spur außer dem Vocal-Bus um 3 dB absenken
Ein Song-Gerüst aus Intro-, Strophe- und Chorus-Szenen mit Locators bauen
Das Sample im Simpler mit
/path/to/kick.waversetzen und es auf C1 mappen
Einschränkungen
Die Erweiterung (und damit der MCP-Endpunkt) läuft nur, solange Live geöffnet ist.
Es können nur eingebaute Live-Devices eingefügt werden; Drittanbieter-Plug-ins können vom SDK nicht geladen werden.
Keine Transportsteuerung (Wiedergabe/Stopp/Aufnahme) und kein Clip-Launching — die Extensions API v1.0.0 stellt sie nicht bereit. Gleiches gilt für den Browser-Zugriff und Parameter-Automationskurven.
show_dialogblockiert, bis der Benutzer den Dialog in Live schließt.
Tests
npm test # E2E against a mock Extension Host: MCP client ↔ HTTP ↔ all tools
node test/live-smoke.mjs # against a real running Live with the extension loadedDer Live-Smoke-Test erstellt eigene Spuren/Clips/Devices, prüft jede Tool-Familie (MIDI-Noten, Warping, Drum-Racks, Rendering, ...) und löscht alles, was er erstellt hat.
Extension-Host-Eigenheiten (wissenswert)
Zwei Verhaltensweisen des Beta-Extension-Hosts, die dieses Projekt umgeht:
Leerer VM-Kontext. Erweiterungen werden in einem V8-Kontext ohne
globaloder Web-Globals (Request,Response,ReadableStream,fetch,EventTarget, ...) ausgeführt, die das MCP-SDK beim Laden benötigt.build.tsinjiziert einen Banner, der sie aus dem Node-Hauptkontext nachzieht (Core-Modul-Funktionen werden geteilt, daher läuft ihrFunction-Konstruktor dort). Siehebuild.tsfür Details.bigint-Werte. Der Host gibt für einige Werte, die das SDK als
numbertypisiert,bigintzurück (Clip-Farben, Noten-Pitches, ...).src/serialize.tsnormalisiert das mitnum(), bevor Arithmetik bzw. JSON verarbeitet wird.Asynchrone Schreibvorgänge. Die Property-Setter des SDK (Noten, Namen, Werte) kehren zurück, bevor Live die Änderung übernommen hat; ein Lesevorgang innerhalb weniger zehn Millisekunden kann den vorherigen Zustand zurückgeben. Agenten merken das selten, aber Read-after-Write-Tests müssen es kurz erneut versuchen (siehe
eventually()intest/live-smoke.mjs).
Außerdem: Wenn der Dev-Extension-Host abstürzt, verweigert Live möglicherweise den nächsten
Control-Channel-Handshake („bring-up timed out“) — starte Live neu und führe npm start
erneut aus.
Fehlerbehebung
Endpunkt antwortet nicht: prüfe
curl http://127.0.0.1:8722/health. Rechtsklick auf eine beliebige Spur in Live — die Kontextmenü-Aktion „Ableton Live MCP: Status“ zeigt den Endpunkt, an den die Erweiterung tatsächlich gebunden ist.Port bereits belegt: Wenn ein anderer Prozess den konfigurierten Port belegt, protokolliert der Server den Fehler in der
ExtensionHost.txtund startet nicht. Ändereportin derconfig.jsonder Erweiterung (Pfad wird durchsong_getunterenvironment.storage_directoryangezeigt) — die Datei wird nur einmal beim Start gelesen, starte Live also danach neu.config.json geändert, aber nichts passiert: Die Konfiguration wird nur gelesen, wenn die Extension startet. Starte Live (oder den Dev-Extension-Host) erneut.
Lizenz
MIT für den Code in diesem Repository. Die Tarballs in vendor/ (Ableton Extensions SDK &
CLI) sind Eigentum von Ableton und fallen unter eine eigenen Lizenz (siehe sdk/LICENSE.md
in der SDK-Distribution).
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityBmaintenanceA Model Context Protocol server that enables real-time interaction with Ableton Live, allowing AI assistants to control song creation, track management, clip operations, and audio recording workflows.237992MIT
- AlicenseAqualityAmaintenanceMCP server for Ableton Live that exposes the Live Object Model to LLMs, enabling natural language control of music production.36714MIT
- FlicenseBqualityDmaintenanceMCP server for controlling Ableton Live, enabling AI assistants to interact with Live sessions through tools for track/clip/scene management, playback control, and device parameter adjustments.48
- AlicenseNot gradedqualityBmaintenanceAn MCP server that exposes Ableton Live control (session state, transport, tracks, devices, clips, MIDI note editing) as tools for LLM agents, enabling natural language manipulation of a Live session.1MIT
Related MCP Connectors
MCP server for Producer/Riffusion AI music generation
Create, co-edit, analyze, publish, and export collaborative step-sequencer sessions through MCP.
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ulm0/ableton-live-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server