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 的工具)对 Live 的音轨、片段、传输控制、设备及第三方插件参数进行精确且经过回读验证的控制,同时提供一个本地状态仪表盘。

所有内容均在本地运行,仅绑定到回环地址。不会向网络发布或暴露任何内容。

Ableton 和 Ableton Live 是 Ableton AG 的商标。本项目是一个独立的社区工具,与 Ableton 无关,也未获得其认可。

工作原理

  • 一个 Live 远程脚本(remote-script/Control_Deck/)作为控制界面在 Ableton Live 内部运行,监听 UDP 端口 50711,接收经过身份验证的本地请求协议。它暴露的 Live API 是一个明确的允许列表,而非通用的方法执行器。

  • 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 OmniHostmax-for-live/),直接托管一个 VST3 乐器,并通过其自己的回环通道(UDP 50714)暴露其完整的已发布参数目录(数千个参数,远超 Live 自动设备面板的范围)。

  • 一个可选的本地 macOS 封装程序(macos/)将仪表盘显示在一个锁定到本地地址的 WebKit 窗口中;外部导航将被阻止。

  • 一个可选的本地 SQLite 样本索引(src/sample-index.ts)使得可以通过关键词、BPM、调性和单拍/循环类型对外部样本驱动器进行搜索,而无需写入源音频。

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

设计规则

  • 轨音轨和设备的修改需要同时提供索引和精确的当前名称;过时的名称将被拒绝。

  • 插件加载通过 Live 自身的浏览器索引进行解析,并在名称不明确时拒绝猜测。

  • 破坏性操作(delete_track、索引重建)需要明确的确认标志。

  • 每次修改后都会执行一次独立的回读查询,工具会报告 Live 实际显示的值。

  • 已完成请求的 ID 由桥接器缓存,因此重复的 UDP 请求绝不会执行两次修改。

工具

  • 状态、传输控制、速度、拍号及歌曲位置,并附带回读验证

  • 列列、创建、重命名和安全删除音轨

  • 创建 Session View MIDI 片段并写入经过验证的音符内容

  • 检查场景、片段、选区、设备以及 Live 暴露的每一个参数

  • 通过 Live 浏览器在特定音轨上发现、解析和加载 VST3/VST2/AU 插件

  • 按精确的浏览器名称加载原生 Live 设备(Drum Rack、Echo、Reverb 等),并在名称不明确时拒绝

  • 使用标准化值和回读功能读取和设置第三方插件参数

  • 通过 OmniHost 控制一个完全索引的 VST3 乐器,突破 Live 的参数上限

  • 按关键词、文件夹、BPM、调性、时长和标签搜索本地样本索引

系统要求

  • macOS 13 Ventura 或更新版本(Apple 芯片和 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 ——从 nodejs.org 下载 LTS 版本并使用默认选项运行其安装程序。(Control Deck 依赖它运行;之后您无需再接触它。)

  2. 下载 Control Deck ——使用 GitHub 的绿色 Code → Download ZIP 按钮,解压缩,并将文件夹移动到某个永久位置,例如您的用户文件夹。不要将其留在“下载”文件夹中——安装程序会将服务固定到该文件夹的位置,如果移动它会要求您重新操作。

  3. 运行安装程序 ——右键单击 Install Ableton Control Deck.command 并选择 打开(macOS 对于首次运行的下载文件需要右键点击)。它会安装所有内容,启动后台服务,并在完成后打开连接指南。随时可以安全地重新运行。

  4. 在 Live 中启用控制界面 ——设置 → Link, Tempo & MIDI → 在一个空的控制界面槽位中选择 Control Deck(如果在设置时 Live 已打开,请先重启 Live)。

  5. 连接您的 AI 代理 ——打开的指南页面(http://127.0.0.1:50713/connect)为每种客户端提供了复制粘贴的说明。

开发者设置

npm run setup 与安装程序使用的引擎相同——包括依赖安装、TypeScript + OmniHost + 仪表盘构建、每次安装密钥、远程脚本安装以及 launchd 代理的写入激活。它是幂等的;在拉取更新或移动仓库后重新运行即可。

npm run setup

用于更紧密循环的标志:--skip-build(跳过 npm 安装/构建)、--skip-remote-script--skip-agents。各个部分仍然可以作为单独的脚本使用(buildbuild:omnihostinstall:omnihostindex:pluginssamples:index,以及仪表盘自身的 dev/build/check)。

设置管理的内容:

  1. 一个每次安装的密钥,位于 data/bridge-token(由远程脚本和客户端共享;绝不提交),

  2. 远程脚本(已注入密钥)位于 ~/Music/Ableton/User Library/Remote Scripts/Control_Deck/

  3. 两个指向此仓库的 launchd 代理:com.abletondeck.apicom.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 已作为控制界面被选中。

连接其他代理

仪表盘的 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)所需的工作和(安全方面的)代价。简而言之:任何能够启动 stdio MCP 服务器的代理都可以驱动 Live;远程云连接器被有意排除在范围之外。

Control Deck 仪表盘

http://127.0.0.1:50713 打开仪表盘(如果您已激活 launch 代理,它会在登录时启动)。它显示桥接健康状态、当前 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 都仅绑定到回环地址。

  • 每个桥接请求必须携带来自 data/bridge-token 的每次安装密钥。远程脚本在密钥未被注入时拒绝启动。

  • Live API 表面是一个具有精确目标保护措施的明确允许列表,因此混乱的代理会大声失败,而不是编辑错误的内容。

  • MCP 服务器将请求本地记录到 logs/control-deck.jsonl,以便您审计代理的操作。

许可证

MIT

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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

View all related MCP servers

Related MCP Connectors

  • Create, co-edit, analyze, publish, and export collaborative step-sequencer sessions through MCP.

  • MCP server for Producer/Riffusion AI music generation

  • Telegram bridge for your MCP-compatible agent. Bidirectional, no LLM in our stack.

View all MCP Connectors

Latest Blog Posts

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/remymazmanian/ableton-control-deck'

If you have feedback or need assistance with the MCP directory API, please join our Discord server