Ableton MCP终极版
Ableton Live最全面的MCP服务器。352工具。99%的测试覆盖率。
通过Claude、Cursor或任何兼容MCP的AI客户端,通过自然语言控制Ableton Live的各个方面。从创建曲目和编写MIDI模式到调整更简单的样本、管理凹槽池和路由侧链——所有这些都是对话式的。
______________________________________________________________________
特性
| 类别 | 工具 | 亮点 |
|---|---|---|
| 会话和传输 | 35 | 节奏、时间信号、播放、录音、捕捉MIDI、节拍器 |
| 曲目管理 | 36 | 创建/删除/复制、分组、路由、监控、拆分立体声 |
| 剪辑操作 | 52 | 创建、编辑、循环、量化、人性化、鼓形图案、贝斯线 |
| 扩展MIDI | 5 | 音符概率、速度偏差、释放速度、按ID修改 |
| 设备和效果 | 22 | 加载乐器/效果、调整参数、EQ Eight、机架宏 |
| 场景管理 | 18 | 火力、停顿、每个场景的节奏和时间特征 |
| 浏览器和加载 | 15 | 搜索、浏览、加载任何预设/乐器/效果 |
| 返回曲目 | 9 | 发送级别、加载效果、音量/平移 |
| 录音 | 14 | 手臂、套印、打卡、会话和安排录音 |
| 导航和视图 | 17 | 选择曲目/场景/剪辑、焦点视图、提示点 |
| 排列 | 8 | 在排列、定位器、循环区域中创建片段 |
| 音频剪辑 | 10 | 增益、音高、扭曲模式、淡入淡出、样本文件路径 |
| 鼓架 | 3 | 垫静音、独奏、重命名 |
| 机架和链 | 9 | 链静音/独奏/音量/重命名,宏控制 |
| 更简单 | 7 | 播放模式、扭曲、反转、裁剪、切片点 |
| Groove引擎 | 7 | Groove池,分配/提交凹槽,调整设置 |
| 侧链 | 2 | 在压缩机上布置侧链输入 |
| 插件预设 | 3 | 获取/设置VST/AU插件上的预设 |
| Looper | 3 | 录制、播放、过度播放、停止、速度/长度控制 |
| 全局设置 | 20 | 主音量、比例、根音符、摆动、横向 |
| 剪辑自动化 | 3 | 获取/设置/清除自动化信封 |
| 调音系统 | 3 | 读取调音系统信息(Live 12) |
| 总计 | 352 |
______________________________________________________________________
建筑
┌─────────────────────┐ ┌──────────────────────┐ ┌──────────────────┐
│ Claude / Cursor / │ │ MCP Server │ │ Ableton Live │
│ Any MCP Client │◄───►│ (FastMCP, Python) │◄───►│ Remote Script │
│ │ MCP │ 352 @mcp.tool() │ TCP │ (ControlSurface)│
│ │ │ server.py (6069 ln) │9877 │ __init__.py │
└─────────────────────┘ └──────────────────────┘ │ (8834 lines) │
└──────────────────┘远程脚本作为ControlSurface在Ableton的Python运行时环境中运行。它打开一个TCP套接字 localhost:9877 并处理JSON命令。MCP服务器将工具调用转换为TCP消息并返回结果。
螺纹安全: 状态修改命令通过Ableton的 schedule_message() 在主线程上运行。只读命令直接在套接字线程上执行,以降低延迟。
______________________________________________________________________
快速开始
1.安装远程脚本
复制 AbletonMCP_Remote_Script Ableton的用户远程脚本目录中的文件夹:
macOS:
cp -r AbletonMCP_Remote_Script ~/Library/Preferences/Ableton/Live\ 12.*/User\ Remote\ Scripts/AbletonMCP窗户:
Copy AbletonMCP_Remote_Script to:
%APPDATA%\Ableton\Live 12.x\Preferences\User Remote Scripts\AbletonMCP2.在Ableton中启用
- 打开Ableton直播
- 首选 首选项>链接、节奏和MIDI
- 在...之下 控制表面,选择 AbletonMCP 从下拉列表中
- 您应该在日志中看到“AbletonMCP已初始化”
3.安装MCP服务器
cd ableton-mcp-ultimate
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .4.配置您的MCP客户端
克劳德桌面版
增添 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"ableton-mcp-ultimate": {
"command": "/path/to/ableton-mcp-ultimate/.venv/bin/ableton-mcp-ultimate"
}
}
}克劳德代码(CLI)
claude mcp add ableton-mcp-ultimate /path/to/ableton-mcp-ultimate/.venv/bin/ableton-mcp-ultimate光标
添加到光标MCP设置中:
{
"mcpServers": {
"ableton-mcp-ultimate": {
"command": "/path/to/ableton-mcp-ultimate/.venv/bin/ableton-mcp-ultimate"
}
}
}5.验证
问你的AI客户端:
“检查Ableton是否已连接”
它应该呼叫 health_check 以及返回速度、曲目计数和连接状态。
______________________________________________________________________
配置
用于调整连接行为的可选环境变量:
| 变量 | 默认值 | 描述 |
|---|---|---|
ABLETON_HOST | localhost | 远程脚本宿主 |
ABLETON_PORT | 9877 | 远程脚本端口 |
MCP_RECV_TIMEOUT | 15.0 | 套接字接收超时(秒) |
MCP_MODIFYING_CMD_TIMEOUT | 15.0 | 状态更改命令超时 |
MCP_READ_CMD_TIMEOUT | 10.0 | 只读命令超时 |
MCP_HEALTH_CHECK_TIMEOUT | 2.0 | 健康检查超时 |
MCP_COMMAND_DELAY | 0.05 | 命令之间的延迟 |
MCP_MAX_CONNECT_ATTEMPTS | 3 | 连接重试尝试 |
______________________________________________________________________
你能用它做什么
以对话方式创建完整曲目:
- “创建鼓轨道,加载808套件,以140 BPM的速度编写陷阱模式”
- “添加一个带有低音的低音曲目,用F小调写一个模式”
- “设置从踢腿到低音的侧链压缩”
- “在返回曲目上添加混响和延迟,将合成器路由到两者”
- “将鼓量化为1/16个音符,将速度人性化15%”
- “将hi-hats上的音符概率设置为50%以进行变化”
- 使用定位器创建包含引言、韵文、合唱部分的编排
混合和生产:
- “将踢腿音量设置为-3dB,将高帽稍微向右平移”
- “为人声添加EQ 8,降低到80Hz以下,提高到3kHz”
- “独奏低音曲目,检查输出音量”
- “将凹槽‘摆动16ths’分配给鼓夹并提交”
______________________________________________________________________
已知限制
Ableton Live 12的Python API中有一些工具遇到了重重困难。这些不是bug——它们会返回明确的错误消息,指导您使用Ableton的UI:
| 工具 | 限制 |
|---|---|
freeze_track / flatten_track | track.freeze() 无法从远程脚本访问 |
add_warp_marker / delete_warp_marker | 曲速标记API在Live 12中的剪辑中不存在 |
delete_locator | CuePoint.time没有设置器 |
set_tuning_system_name / get_note_tunings | 从远程脚本调整API是只读的 |
get_view_zoom | 视图缩放吸气剂不可访问 |
______________________________________________________________________
比较
| 特点 | 本项目 | 其他Ableton MCP |
|---|---|---|
| 工具计数 | 352 | 20-60 |
| 扩展MIDI(概率、音符ID) | 是 | 否 |
| Groove引擎 | 是(7个工具) | 否 |
| 鼓架垫控制 | 是 | 否 |
| 操作更简单 | 是(7个工具) | 否 |
| 侧链布线 | 是 | 否 |
| 机架链管理 | 是(9个工具) | 否 |
| 音频剪辑操作(增益、音高、扭曲) | 是(10个工具) | 否 |
| 排列视图 | 是(8个工具) | 罕见 |
| 插件预设 | 是 | 否 |
| 环路控制 | 是 | 否 |
| 剪辑自动化 | 是 | 部分 |
| 线程安全状态更改 | 是(schedule_message) | 各不相同 |
| 碰撞保护 | 是 | 否 |
| 测试覆盖率 | 99%(348/352) | 未知 |
______________________________________________________________________
项目结构
ableton-mcp-ultimate/
├── AbletonMCP_Remote_Script/
│ └── __init__.py # Remote Script (8,834 lines) — runs inside Ableton
├── MCP_Server/
│ ├── __init__.py # Package init
│ └── server.py # MCP Server (6,069 lines) — 352 tools
├── research/ # Reference implementations studied during development
├── pyproject.toml # Package configuration
├── CLAUDE.md # Detailed tool documentation
├── IMPLEMENTATION_PLAN.md # Development history
├── TEST_RESULTS.md # Comprehensive test results
├── LICENSE # MIT License
└── README.md # This file______________________________________________________________________
需求
- Ableton Live 11或12 (在Live 12.3.5上测试)
- Python 3.10+ (适用于MCP服务器)
- mcp>=1.0.0 (模型上下文协议库)
______________________________________________________________________
贡献
欢迎投稿!一些需要帮助的领域:
- 测试 视窗 和 Linux
- 测试 Ableton Live 11 (目前测试于12.3.5)
- 为我们可能错过的功能添加工具
- 改进错误消息和文档
- TCP通信层的性能优化
请先打开一个问题来讨论重大更改。
______________________________________________________________________
许可证
MIT许可证。看 许可证 了解详情。
______________________________________________________________________
