Ableton Live MCP
Ableton Live MCP
MCP-сервер для Ableton Live 12, построенный на официальном Ableton Extensions SDK. MCP-сервер запускается внутри Live как расширение — без процесса-моста и без MIDI Remote Scripts. Любой MCP-клиент (Claude Code, Claude Desktop, Cursor, ...) подключается по streamable HTTP и получает полный программный контроль над Live Set: треки, клипы, MIDI-ноты, устройства, параметры, микшер, сцены, варпинг, рендеринг и не только.
MCP client (Claude, ...) ──streamable HTTP──▶ http://127.0.0.1:8722/mcp
│
Live Extension Host (Node.js)
│
Ableton Live 12Требования
Ableton Live 12.4.5 или новее (поддержка расширений)
Node.js >= 24.14 (только для сборки)
Related MCP server: ableton-mind
Установка
npm install
npm run package # builds and produces Ableton-Live-MCP-<version>.ablxЗатем перетащите .ablx-файл на пункт Settings → Extensions в Live. MCP-эндпоинт запускается вместе с Live по адресу http://127.0.0.1:8722/mcp (GET /health — быстрая проверка).
Режим разработчика
Включите в Live Settings → Extensions → Developer Mode, затем:
npm start # builds and runs the extension against the running Live.env должен указывать на вашу установку Live, например:EXTENSION_HOST_PATH=/Applications/Ableton Live 12 Beta.app.
Подключение клиента
Claude Code:
claude mcp add --transport http ableton-live http://127.0.0.1:8722/mcpClaude Desktop (или любой клиент, поддерживающий только stdio) через mcp-remote:
{
"mcpServers": {
"ableton-live": {
"command": "npx",
"args": ["mcp-remote", "http://127.0.0.1:8722/mcp"]
}
}
}Конфигурация
Порт хранится в config.json в каталоге хранилища расширения (папка создаётся при первом запуске; путь сообщается методом song_get в поле environment.storage_directory). По умолчанию:
{ "port": 8722 }Как это работает
Каждый объект Live (трек, клип, устройство, параметр, ...) адресуется стабильным object id, который получается из инструментов листинга (
song_get,track_get,device_get, ...).Идентификаторы остаются валидными, пока объект не удалён или перемещён, либо пока не загружен другой Live Set. Устаревшие id возвращают ошибку, предлагающую клиенту повторить листинг.
Все временные позиции задаются в долях; цвета —
#RRGGBB; MIDI notes — 0–127.Записи нескольких значений (
parameter_set) группируются в один шаг отмены внутри Live.
Инструменты
Композиция
Инструмент | Описание |
| Состояние Live Set: темп, тональность (scale), сетка, треки, return/main каналы, сцены, cue точки, информация об окружении. Это точка входа — возвращает id объектов, используемых во всех остальных инструментах. Параметр |
| Устанавливает свойства композиции (темп). |
Треки
Инструмент | Описание |
| Детали трека: клип-слоты и клипы, take lanes, клипы аранжировки, устройства, микшер со значениями. Адрес через |
| Имя / mute / solo / arm. |
| Создаёт новый аудио- или MIDI-трек. |
| Удалить трек. |
| Дублировать трек. |
| Удаляет/обрезает клипы аранжировки в диапазоне долей. |
| Добавляет take lane в трек. |
| Переименовывает take lane. |
Сцены и cue-точки
Инструмент | Описание |
| Управление сценами. |
| Управление локаторами аранжировки. |
Клипы
Инструмент | Описание |
| Создаёт MIDI- или аудио-клипы в слоте сессии (по id или |
| Полная детализация клипа (аудио: настройки варпа и маркеры; MIDI: количество нот). |
| Имя, цвет, mute, looping, warping, режим warp. |
| Удаляет клип сессии или аранжировки. |
| Читает все MIDI-ноты. |
| Записывает ноты: |
| Основные преобразования нот на сервере: транспозиция, сдвиг во времени, масштабирование/сдвиг velocity, квантование, удаление — с выбором по позиции высоты/нахождения. Без цикла «чтение-изменение-запись». |
Устройства и рэки
Инструмент | Описание |
| Данные об устройстве: параметры с диапазонами/вариантами значений ( |
| Вставляет встроенное устройство Live в трек или цепь рэка. |
| Удаляет или копирует устройства. |
| Детали цепи рэка: устройства и микшер цепочки. |
| Добавляет цепь в рэк. |
| Устанавливает MIDI-ноту для пэда Drum Rack. |
| Заменяет сэмпл в Simpler. |
Параметры и микширование
Инструмент | Описание |
| Читает значения параметров устройства/микшера (пакетно). |
| Записывает значения параметров (пакетно, одним шагом отмены). |
| Громкость/панорамы/отправки звуковой дорожки или цепочки с id параметров и подсказками по единицам. |
| Устанавливает громкость/панорамы/отправки трека или цепочки одним вызовом (один шаг отмены). |
Файлы и рендеринг
Инструмент | Описание |
| Копирует файл в проект Live. |
| Рендерит pre-FX-аудио трека в WAV. |
Интерфейс и команды
Инструмент | Описание |
| Показывает модальный HTML-диалог внутри Live (задать вопрос пользователю, показать отчёты). |
| Вызывает команды Extension Host, например |
Навыки
skills/ableton-live/SKILL.md — это устанавливаемый навык агента, который обучает MCP-клиента правильному использованию этих инструментов: поиск id, доли против секунд, паттерны редактирования ноТ, рабочие процессы с устройствами. Установите его для Claude Code:
mkdir -p ~/.claude/skills && cp -r skills/ableton-live ~/.claude/skills/Примеры типовых задач, которые можно попросить у подключённого ассистента:
«Создай 4-тактовый барабанный паттерн в стиле house на новом MIDI-треке с Drum Rack»
«Заваливардируй все клипы на дорожке Drums в режиме Complex Pro»
«Опусти на 3 дБ все треки, кроме вокальной шины»
«Собери каркас песни: intro, verse, chorus сцены с локаторами»
«Замени сэмпл в Simpler на
/path/to/kick.wavи назначь его на C1»
Ограничения
Расширение (а значит, и MCP endpoint) работает, только пока открыт Live.
Вставить можно только встроенные устройства Live; сторонние плагины SDK загрузить не может.
Нет управления транспортом (play/stop/record) и запуска клипов — Extensions API v1.0.0 их не предоставляет. То же касается доступа к браузеру и кривых автоматизации параметров.
show_dialogблокируется до тех пор, пока пользователь не закроет диалог в Live.
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 loadedСмоук-тест Live создаёт собственные треки/клипы/устройства, проверяет все семейства инструментов (MIDI-ноты, варпинг, драм-рэки, рендеринг, ...) и удаляет всё, что создал.
Особенности Extension Host (полезно знать)
Две особенности бета-версии Extension Host, которые обходятся в этом проекте:
Голый контекст VM. Расширения выполняются в контексте V8 без
globalи веб-глобалов (Request,Response,ReadableStream,fetch,EventTarget, ...), которые нужны MCP SDK при загрузке.build.tsвставляет баннер, который подтягивает их из основного контекста Node (функции core-модуля общие, поэтому их конструкторFunctionвыполняется там). Подробности — вbuild.ts.Числовые значения
bigint. Хост возвращаетbigintдля некоторых значений, которые SDK типизирует какnumber(цвета клипов, высота бот, ...).src/serialize.tsнормализует их с помощьюnum()перед арифметическими операциями/JSON.Асинхронные записи. Сеттеры свойств SDK (ноты, имена, значения) возвращают управление до того, как Live применит данные; чтение в течение десятков миллисекунд может вернуть прошлое. Агенты редко замечают это, но тестам «запись‑затем‑чтение» нужно повторять попытки (см.
eventually()вtest/live-smoke.mjs).
Также: если dev Extension Host упадёт, Live может отказать в следующем рукопожатии на канале управления
("bring-up timed out") — перезапустите Live и снова запустите npm start.
Troubleshooting
Endpoint не отвечает: проверьте
curl http://127.0.0.1:8722/health. Щёлкните правой кнопкой мыши на любом треке в Live — действие контекстного меню "Ableton Live MCP: Status" показывает endpoint, к которому на самом деле привязалось расширение.Порт уже занят: если другой процесс использует заданный порт, сервер записывает ошибку в
ExtensionHost.txtи не запускается. Изменитеportвconfig.jsonрасширения (путь отображёнsong_getвenvironment.storage_directory) — файл читается только один раз при запуске, поэтому после изменения перезапустите Live.Изменил config.json, но ничего не произошло: конфиг читается только при запуске расширения. Перезапустите Live (или dev Extension Host).
Лицензия
MIT для кода в этом репозитории. Tarball-архивы vendor/ (Ableton Extensions SDK & CLI) являются
собственностью Ableton и регулируются их собственной лицензией (см. sdk/LICENSE.md
в дистрибутиве 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