小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
MIT License
210
最近更新:5天前

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

用 LLMs 控制 Ableton Live

该项目包含两个主要组件:

  • 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 作为控制界面

安装步骤

  1. 安装 uv (https://docs.astral.sh/uv/getting-started/installation):

    bash 复制代码
    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. 克隆仓库:

    bash 复制代码
    git clone https://github.com/your-username/mcp_ableton_server.git
    cd mcp_ableton_server
  3. 安装项目及其依赖项:

    bash 复制代码
    uv sync
  4. 安装 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 文件获取详细信息。

致谢

待办事项

  • 探索 resourcesprompts 原语的机会。
  • 构建独立的 Ableton Live MCP 客户端。