Ableton Live MCP
Ableton Live MCP
Un servidor MCP para Ableton Live 12, construido sobre el Ableton Extensions SDK oficial. El servidor MCP se ejecuta dentro de Live como una extensión: sin proceso puente, sin scripts MIDI de control remoto. Cualquier cliente MCP (Claude Code, Claude Desktop, Cursor, ...) se conecta a través de streamable HTTP y tiene el control programático total del Live Set: pistas, clips, notas MIDI, dispositivos, parámetros, mezclador, escenas, warp, renderizado y más.
MCP client (Claude, ...) ──streamable HTTP──▶ http://127.0.0.1:8722/mcp
│
Live Extension Host (Node.js)
│
Ableton Live 12Requisitos
Ableton Live 12.4.5 o superior (compatible con Extensiones)
Node.js >= 24.14 (solo de compilación)
Related MCP server: ableton-mind
Instalación
npm install
npm run package # builds and produces Ableton-Live-MCP-<version>.ablxDespués arrastra el archivo .ablx hasta Configuración → Extensiones en Live. El endpoint MCP se inicia con Live en http://127.0.0.1:8722/mcp (GET /health para una comprobación rápida).
Modo desarrollador
Activa Configuración → Extensiones → Modo de desarrollador en Live y a continuación:
npm start # builds and runs the extension against the running LiveEl .env debe apuntar a tu instalación de Live, por ejemplo:
EXTENSION_HOST_PATH=/Applications/Ableton Live 12 Beta.app.
Conectar un cliente
Claude Code:
claude mcp add --transport http ableton-live http://127.0.0.1:8722/mcpClaude Desktop (o cualquier cliente que solo sea stdio) mediante mcp-remote:
{
"mcpServers": {
"ableton-live": {
"command": "npx",
"args": ["mcp-remote", "http://127.0.0.1:8722/mcp"]
}
}
}Configuración
El puerto se guarda en config.json dentro del directorio de almacenamiento de la extensión (se crea en la primera ejecución; song_get notifica la ruta en environment.storage_directory). Por defecto:
{ "port": 8722 }Cómo funciona
Cada objeto de Live (pista, clip, groove, paramere, ...) se direcciona por un id de objeto estable descubierto mediante las herramientas de listado (
song_get,track_id,device_get, ...).Los ids siguen siendo válidos hasta que el objeto se elimina o se mueve, o hasta que se carga otro conjunto, no Live Set. Los ids obsoletos devuelven un error que indica al cliente que vuelva a listar.
Todos los tiempos/posiciones están en beats; versiones de colores son
#RRGGBB; el diagrama MIDI es 0-127.Los escrituras con múltiples valores (
parameter_set) se agrupan en un único paso de Deshacer en Live.
Herramientas
Canción
Herramienta | Descripción |
| Estado de ejecución Set: tempo, escala, cuadrícula, pistas, pistas de retorno y máster, escenas, localizadores, información del entorno. El punto de entrada: retorna los ids de objeto de objetos que se usan en el resto de lugares. |
| Define propiedades de la canción (tempo). |
Pistas
Herramienta | Descripción |
| Detalle de la pista: ranuras y clips, carriles de tomas, compases del arreglo, dispositivos, encuadre con valores. Se hace referencia a la pista por |
| Nombre / silencio / solo / armado. |
| Crea una pista de audio o MIDI nueva. |
| Eliminar una pista. |
| Duplicate tool. |
| Eliminar o recortar clips del arreglo en un rango de beats. |
| Añadir un carril de tomas a una pista. |
| Renombrar un carril de tomas. |
Escenas y localizadores
Herramienta | Descripción |
| Gestion de escenas. |
| Gestion identificadores. |
Clips
Herramienta | Descripción |
| Cocre clips MIDI o de audio un hueco,..., en un slot de sesión (por id o pista + |
| Detalles completos del clip(frameo: / warp + marcadores; MIDI: nº de notas). |
| Nombre, color, silencio, loop, warp y modo de warp. |
| Elimina clips o removals from the arrangement set. |
| Lee todas las notas MIDI. |
| Escribe notas: |
| Transformaciones de notas del lado del servidor: transponer, desplazar en el tiempo, escala/offset de la velocidad, cuantizar, eliminar..., con seleccion por pitch/vondtop. Simultáneamente no se puede hacer todo (read-modify-write). |
Dispositivos y racks
Herramienta | Descripción |
| Detalles del dispositivo: parámetros con rangos/valores ( |
| Inserta de un dispositivo integrado de Live en una pista o una negra no. |
| Eliminación o duplicación. |
| Detalle de la cadena de rango: dispositivos + mensajero de cadena. |
| ADD o cadena a un rack. |
| Define la nota MIDI del pad de un Drum Rack. |
| Intercambia el sample de un Simpler. |
Parámetros y mezclas
Herramienta | Descripción |
| Lee valores de parámetros de dispositivo/mixer, en lote. |
| Escribe valores de parámetros (por lotes, one single undo step). |
| Volumen / paneo / envíos de una pista o cadena, con ids de parametro y pistas. |
| ABA el volumen / paneo / envíos de una pista en una sola llamada (un solo paso de deshacer). |
Archivos y renderizado
Herramienta | Descripción |
| Copiar un archivo para el interior del proyecto. |
| Renderiza el audio PRE-FX de un track al arreglo, en WAV. |
Interfaz y comandos
Herramienta | Descripción |
| Muestra una caja de diálogo HTML modal dentro de Live (para tirar al usuario, mostrar infos). |
| Ejecuta Comandos de Extensión Host, p. ej. |
Habilidades
skills/ableton-live/SKILL.md es un skill de agente instalable que enseña a un cliente MCP a usar bien estas herramientas (flujo de descubrimiento de ids, beats frente a segundos, patrones de edición de notas, workflows de dispositivos). Instálalo en Claude Code con:
mkdir -p ~/.claude/skills && cp -r skills/ableton-live ~/.claude/skills/Cosas típicas que le puedes pedir a un asistente conectado, por ejemplo:
"Crea un patrón house de 4 compases en una nueva pista MIDI con un Drum Rack."
"Aplica warp a todos los clips de la pista Drums en modo Complex Pro."
"Baja 3 dB a todas las pistas que no sean un bus vocal."
"Construye un esqueleto de canción: intro, estrofas y estribillos, un localizador."
"Reemplaza la muestra del Simpler por /path to kick.wav y mañanalo a C1."
Limitaciones
La extensión (y por tanto el endpoint MCP) solo se ejecuta mientras Live está abierto.
Solo se pueden insertar dispositivos integrados de Live; el SDK no puede cargar plugins de terceros.
No hay control de transporte (play/stop/record) ni lanzamiento de clips — la Extensions API v1.0.0 no los expone. Tampoco expone el acceso al navegador ni las curvas de automatización de parámetros.
show_dialogbloquea la ejecución hasta que el usuario cierra el diálogo en Live.
Pruebas
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 loadedLa prueba de humo en vivo crea sus propias pistas/clips/dispositivos, verifica todas las familias de herramientas (notas MIDI, warping, drum racks, renderizado, ...) y elimina todo lo que ha creado.
Particularidades del Extension Host (conviene saberlas)
Dos comportamientos de la versión beta del Extension Host que este proyecto sortea:
Contexto de VM mínimo. Las extensiones se evalúan en un contexto V8 sin
globalni con las globales web (Request,Response,ReadableStream,fetch,EventTarget, ...), que el SDK de MCP necesita en el momento de la carga.build.tsinyecta un banner que los introduce desde el contexto principal de Node (las funciones de módulos core son compartidas, así que su constructorFunctionse evalúa allí). Consultabuild.tspara más detalles.Valores bigint. El host devuelve
bigintpara algunos valores que el SDK tipifica comonumber(colores de clips, alturas de las notas, ...).src/serialize.tsnormaliza connum()antes de hacer aritmética o pasar a JSON.Escrituras asíncronas. Los setters de propiedades del SDK (notas, nombres, valores) devuelven el control antes de que Live haya aplicado el cambio; una lectura en unas pocas decenas de milisegundos puede devolver el estado anterior. Los agentes apenas lo notan, pero las pruebas de lectura tras una escritura deben reintentar brevemente (ver
eventually()entest/live-smoke.mjs).
También: si el Extension Host de desarrollo se cae, Live puede rechazar el siguiente handshake del canal de control ("bring-up timed out") — reinicia Live y ejecuta npm start de nuevo.
Solución de problemas
El endpoint no responde: ejecuta
curl http://127.0.0.1:8722/health. Haz clic derecho en cualquier pista de Live — la acción de menú contextual "Ableton Live MCP: Status" muestra el endpoint al que realmente se vinculó la extensión.El puerto ya está en uso: si otro proceso ocupa el puerto configurado, el servidor registra el fallo en
ExtensionHost.txty no se inicia. Cambiaporten elconfig.jsonde la extensión (la ruta la muestrasong_getenenvironment.storage_directory) — el archivo se lee una sola vez al inicio, así que reinicia Live después.Cambiaste
config.jsony no ha pasado nada: la configuración solo se lee al arrancar la extensión. Reinicia Live (o el Extension Host de desarrollo).
Licencia
MIT para el código de este repositorio. Los tarballs de vendor/ (Ableton Plugins SDK & CLI) pertenecen a Ableton y están cubiertos por su propia licencia (ver sdk/LICENSE.md en la distribución del SDK).
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