
Ableton Live Server
MCP 服务器实现,用于控制 Ableton Live OSC
概述
Ableton Live MCP 服务器
📌 概述
Ableton Live MCP 服务器 是一个实现 Model Context Protocol (MCP) 的服务器,用于促进 LLMs 和 Ableton Live 之间的通信。它使用 OSC (Open Sound Control) 发送和接收消息到/从 Ableton Live。它基于 AbletonOSC 实现,并将可用的 OSC 地址全面映射到 MCP 客户端可访问的 tools。

该项目包含两个主要组件:
mcp_ableton_server.py
:处理客户端与 OSC 守护进程之间通信的 MCP 服务器。osc_daemon.py
:负责将命令中继到 Ableton Live 并处理响应的 OSC 守护进程。
✨ 特性
- 为从 MCP 客户端控制 Ableton Live 提供兼容 MCP 的 API。
- 使用 python-osc 发送和接收 OSC 消息。
- 基于 AbletonOSC 的 OSC 实现。
- 实现对 Ableton Live 命令的请求-响应处理。
⚡ 安装
要求
- Python 3.8+
python-osc
(用于 OSC 通信)fastmcp
(用于 MCP 支持)uv
(推荐的 Python 包安装程序)- AbletonOSC 作为控制界面
安装步骤
-
安装
uv
(https://docs.astral.sh/uv/getting-started/installation):bashcurl -LsSf https://astral.sh/uv/install.sh | sh
-
克隆仓库:
bashgit clone https://github.com/your-username/mcp_ableton_server.git cd mcp_ableton_server
-
安装项目及其依赖项:
bashuv sync
-
安装 AbletonOSC,请按照 AbletonOSC 中的说明进行操作。
🚀 使用
运行 OSC 守护进程
OSC 守护进程将处理 MCP 服务器和 Ableton Live 之间的 OSC 通信:
bash
uv run osc_daemon.py
这将:
- 在端口 65432 上监听 MCP 客户端连接。
- 通过 OSC 端口 11000 将消息转发到 Ableton Live。
- 通过端口 11001 接收来自 Ableton 的 OSC 响应。
示例用法
在 Claude 桌面中,向 Claude 提问:
- 准备一套录音设备来录制摇滚乐队
- 将所有名称中包含 "voice" 的轨道的输入路由通道设置为 Ext. In 2
⚙️ 配置
默认情况下,服务器和守护进程在 localhost (127.0.0.1) 上运行,使用以下端口:
- MCP 服务器套接字: 65432
- Ableton Live OSC 端口(发送): 11000
- Ableton Live OSC 端口(接收): 11001
要修改这些设置,请编辑 osc_daemon.py
中的 AbletonOSCDaemon
类:
python
self.socket_host = '127.0.0.1'
self.socket_port = 65432
self.ableton_host = '127.0.0.1'
self.ableton_port = 11000
self.receive_port = 11001
Claude 桌面配置
要将此服务器与 Claude 桌面一起使用,您需要在 Claude 桌面设置中进行配置。配置文件的位置因操作系统而异:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%/Claude/claude_desktop_config.json
在您的 mcpServers
部分添加以下配置:
json
{
"mcpServers": {
"Ableton Live Controller": {
"command": "/path/to/your/project/.venv/bin/python",
"args": ["/path/to/your/project/mcp_ableton_server.py"]
}
}
此配置确保:
- 服务器在所有依赖项正确管理的情况下运行
- 项目保持可移植性和可重现性
贡献
欢迎提交问题、功能请求或拉取请求以改进此项目。
许可证
此项目采用 MIT 许可证。请参阅 LICENSE
文件获取详细信息。
致谢
- Model Context Protocol (MCP)
- python-osc 用于 OSC 处理
- Daniel John Jones 为 AbletonOSC 实现 OSC
- Ableton 第三方远程脚本
- Julien Bayle @Structure Void 提供无尽的灵感和资源。
待办事项
- 探索 resources 和 prompts 原语的机会。
- 构建独立的 Ableton Live MCP 客户端。