Skip to main content
Glama
remymazmanian

ableton-control-deck

Ableton Control Deck

Ableton Control Deck — это локальный мост MCP для Ableton Live. Он предоставляет любому MCP-клиенту — Claude Code, Claude Desktop, Codex или любому другому, поддерживающему MCP, — точное, верифицированное обратным чтением управление треками, клипами, транспортом, устройствами и параметрами сторонних плагинов Ableton Live, а также локальную панель состояния.

Всё работает на вашем компьютере и привязывается только к адресам loopback. Ничего не публикуется и не выставляется в сеть.

Ableton и Ableton Live являются товарными знаками Ableton AG. Этот проект — независимое сообщество инструментов, не связанное с Ableton и не одобренное им.

Как это работает

  • Сценарий удалённого управления Live (remote-script/Control_Deck/) работает как Control Surface внутри Ableton Live и прослушивает UDP-порт 50711 для аутентифицированного локального протокола запросов. API Live, который он предоставляет, представляет собой явный белый список, а не универсальный исполнитель методов.

  • MCP-сервер (src/index.ts, скомпилированный в dist/) предоставляет управление Live в виде инструментов MCP и связывается со сценарием удалённого управления через независимый локальный UDP-клиент (src/ableton-client.ts).

  • Секрет, уникальный для каждой установки, генерируемый npm run setup и никогда не фиксируемый, аутентифицирует каждый запрос между ними.

  • Служба состояния только для чтения (src/dashboard-server.mjs, порт 50712) и приборная панель Next.js (dashboard/, порт 50713) показывают состояние моста, текущий сеанс Live, загруженные устройства и доступную локальную инвентаризацию плагинов VST3, VST2, Audio Unit и CLAP.

  • Дополнительное устройство Max for Live, Control Deck OmniHost (max-for-live/), напрямую размещает инструмент VST3 и предоставляет его полный опубликованный каталог параметров — тысячи параметров, далеко выходящих за пределы автоматической панели устройств Live — через собственный канал loopback (UDP 50714).

  • Дополнительный нативный обёрток macOS (macos/) отображает приборную панель в окне WebKit, привязанном к локальному адресу; внешняя навигация заблокирована.

  • Дополнительный локальный индекс сэмплов SQLite (src/sample-index.ts) делает внешний диск сэмплов доступным для поиска по ключевым словам, BPM, тональности и типу (однократный/петлевой), не записывая ничего в исходный аудиофайл.

Related MCP server: io.github.peterkolbe/ableton-for-ai

Правила проектирования

  • Изменения треков и устройств требуют как индекс, так и точное текущее имя; устаревшие имена отклоняются.

  • Загрузка плагинов разрешается через собственный индекс Browser в Live и отказывается от неоднозначных имён вместо предположений.

  • Разрушительные операции (delete_track, перестроение индекса) требуют явных флагов подтверждения.

  • За каждой мутацией следует отдельный запрос на обратное чтение, и инструмент сообщает значение, которое Live фактически показывает.

  • Идентификаторы завершённых запросов кэшируются мостом, поэтому дублированный UDP-запрос никогда не сможет выполнить мутацию дважды.

Инструменты

  • Статус, транспорт, темп, размер такта и позиция в песне с верификацией обратного чтения

  • Список, создание, переименование и безопасное удаление треков

  • Создание MIDI-клипов в режиме сессии и запись проверенного содержимого нот

  • Проверка сцен, клипов, выделения, устройств и всех параметров, которые Live предоставляет

  • Обнаружение, разрешение и загрузка плагинов VST3/VST2/AU на конкретный трек через Browser в Live

  • Загрузка нативных устройств Live (Drum Rack, Echo, Reverb, ...) по точному имени Browser с отказом при неоднозначности

  • Чтение и установка параметров сторонних плагинов с нормализованными значениями и обратным чтением

  • Управление полностью индексированным инструментом VST3 через OmniHost, за пределами ограничения параметров Live

  • Поиск в локальном индексе сэмплов по ключевому слову, папке, BPM, тональности, длительности и тегам

Требования

  • macOS 13 Ventura или новее (Apple Silicon и Intel) — macOS — единственная поддерживаемая платформа на данный момент. Ядро платформонезависимо, и порт для Linux/Windows хорошо проработан; см. PORTING.md.

  • Ableton Live 11 или новее (целевая версия для тестирования: Live 12)

  • Node.js 20+

  • Max for Live (опционально — только для устройства OmniHost)

Полная документация — описание компонентов, настройка Live, полный справочник инструментов MCP, устранение неполадок и удаление — находится в HELP.md.

Установка

Быстрый старт (без программирования)

  1. Установите Node.js — загрузите LTS-версию с nodejs.org и запустите её установщик с параметрами по умолчанию. (Control Deck работает на нём; вам больше никогда не придётся к нему обращаться.)

  2. Загрузите Control Deck — используйте зелёную кнопку Code → Download ZIP на GitHub, распакуйте архив и переместите папку в постоянное место, например, в домашнюю папку. Не оставляйте её в папке «Загрузки» — установщик привязывает службы к местоположению папки и попросит вас переместить её.

  3. Запустите установщик — щёлкните правой кнопкой мыши Install Ableton Control Deck.command и выберите Открыть (macOS требует щелчка правой кнопкой при первом запуске загруженных файлов). Он установит всё, запустит фоновые службы и откроет руководство по подключению, когда закончит. Его можно запускать повторно в любое время.

  4. Включите Control Surface в Live — Настройки → Link, Tempo & MIDI → выберите Control Deck в свободном слоте Control Surface (перезапустите Live, если он был открыт во время установки).

  5. Подключите вашего AI-агента — руководство, которое открылось (http://127.0.0.1:50713/connect), содержит инструкции копирования-вставки для каждого клиента.

Настройка разработчика

npm run setup — это тот же движок, который использует установщик: установка зависимостей, сборка TypeScript + OmniHost + панели, секрет для каждой установки, установка удалённого сценария и агентов launchd (написанные и активированные). Он идемпотентен; повторно запускайте его после получения изменений или перемещения репозитория.

npm run setup

Флаги для более быстрого цикла: --skip-build (без npm installs/builds), --skip-remote-script, --skip-agents. Отдельные части всё ещё доступны как отдельные скрипты (build, build:omnihost, install:omnihost, index:plugins, samples:index и собственные dev/build/check панели).

Что делает настройка:

  1. секрет для каждой установки в data/bridge-token (общий для удалённого сценария и клиентов; никогда не фиксируется),

  2. удалённый сценарий (секрет вставлен) в ~/Music/Ableton/User Library/Remote Scripts/Control_Deck/,

  3. два агента launchd, указывающих на этот репозиторий: com.abletondeck.api и com.abletondeck.dashboard.

Затем добавьте MCP-сервер в ваш клиент. Например, для Claude Code:

claude mcp add ableton -- node /path/to/ableton-control-deck/dist/src/index.js

В Live откройте Settings → Link, Tempo & MIDI и убедитесь, что Control Deck выбран как Control Surface.

Подключение других агентов

Страница Connect панели (http://127.0.0.1:50713/connect) содержит инструкции по настройке копированием-вставкой — с указанием реального пути установки вашего компьютера — для Claude Code, Claude Desktop, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Grok CLI, полностью локальных сред LLM (LM Studio, Ollama через mcphost) и любого другого MCP-клиента, а также честное обсуждение того, что потребуется (и сколько будет стоить с точки зрения безопасности) для предоставления моста удалённым соединителям, таким как claude.ai. Короткая версия: любой агент, который может запустить MCP-сервер stdio, может управлять Live; удалённые облачные соединители намеренно выходят за рамки.

Панель Control Deck

Откройте панель по адресу http://127.0.0.1:50713 (она запускается при входе в систему, если вы активировали агенты launchd). Она показывает состояние моста, текущий сеанс Live, цепочку устройств выбранного трека и доступную локальную инвентаризацию установленных плагинов. На странице настроек можно управлять подключением моста, поведением обновления, библиотечными умолчаниями, плотностью, цветом и анимацией. Изменения проекта продолжают использовать точные, верифицированные обратным чтением инструменты MCP.

Дополнительное нативное приложение собирается с помощью npm run build:macos как Ableton Control Deck.app.

Локальные команды

npm run check          # type-check + syntax-check all sources
npm test               # unit tests (client, tools, validation, safety)
npm run test:bridge    # remote-script protocol tests (Python)
npm run index:plugins  # rebuild the local plug-in inventory
npm run samples:index  # refresh the sample index
npm run build:macos    # build the native wrapper app

У панели есть собственная проверка сборки:

cd dashboard
npm run check

Модель безопасности

  • Мост прослушивает только 127.0.0.1 UDP 50711; служба состояния, панель и OmniHost привязываются только к loopback.

  • Каждый запрос моста должен содержать секрет для каждой установки из data/bridge-token. Удалённый сценарий отказывается запускаться, если секрет не был вставлен.

  • Поверхность API Live представляет собой явный белый список с защитой от точных целей, поэтому сбитый с толку агент громко завершится с ошибкой, вместо того чтобы редактировать что-то не то.

  • MCP-сервер записывает запросы локально в logs/control-deck.jsonl, чтобы вы могли проверить, что сделал агент.

Лицензия

MIT

Related MCP Connectors

Related MCP Servers