ableton live mcp server

项目简介

Ableton Live MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,旨在连接大型语言模型 (LLM) 客户端和 Ableton Live 音乐制作软件。它允许用户通过自然语言指令,利用 LLM 客户端控制 Ableton Live 的各种功能,例如获取轨道名称、控制设备参数等。服务器通过 OSC (Open Sound Control) 协议与 Ableton Live 进行通信。

主要功能点

  • MCP 协议兼容: 提供标准的 MCP 接口,可以与任何 MCP 客户端(如 Claude Desktop)集成。
  • Ableton Live 控制: 通过预定义的工具 (Tools),允许 LLM 客户端查询和操作 Ableton Live 的各种参数和功能。
  • OSC 通信: 使用 OSC 协议与 Ableton Live 进行双向通信,实时控制和获取反馈。
  • 工具扩展性: 易于扩展新的工具,以支持更多 Ableton Live 的功能控制。

安装步骤

  1. 安装 uv: 打开终端并运行命令 'pip install uv'
  2. 克隆仓库: 使用 'git clone https://github.com/Simon-Kansara/ableton-live-mcp-server.git' 克隆仓库到本地,并进入仓库目录 'cd ableton-live-mcp-server'
  3. 安装依赖: 运行命令 'uv install python-osc fastmcp' 安装所需的 Python 库。
  4. 安装 MCP Server: 对于 Claude Desktop 等 MCP 客户端,可以使用命令 'mcp install mcp_ableton_server.py' 进行安装。(此步骤可能需要根据具体的 MCP 客户端进行调整,Claude Desktop 客户端可参考此命令)
  5. 安装 AbletonOSC: 按照 AbletonOSC 的指引,在 Ableton Live 中安装 AbletonOSC 控制面脚本,以便 Ableton Live 能够接收和发送 OSC 消息。

服务器配置

MCP 服务器配置信息(JSON 格式),用于 MCP 客户端连接 Ableton Live MCP Server。以下配置适用于 Claude Desktop 等客户端,您需要将 '/path/to/mcp_ableton_server.py' 替换为 'mcp_ableton_server.py' 脚本在您本地的实际路径。

{
  "mcpServers": {
    "Ableton Live Controller": {
      "command": "uv", // 启动服务器的命令,这里使用 uv 运行器
      "args": [
        "run", // uv 的 run 参数,用于运行 Python 脚本
        "--with",
        "mcp[cli]", // 启用 mcp 命令行工具支持
        "--with",
        "python-osc", // 声明依赖 python-osc 库
        "mcp", // 运行 mcp 命令
        "run", // mcp 命令的 run 子命令,用于运行 MCP 服务器
        "/path/to/mcp_ableton_server.py" // MCP 服务器脚本的绝对路径,**请替换为实际路径**
      ]
    }
  }
}

基本使用方法

  1. 运行 OSC Daemon: 打开一个新的终端窗口,导航到仓库目录,运行命令 'python osc_daemon.py' 启动 OSC Daemon。这个 Daemon 负责与 Ableton Live 进行 OSC 通信,并监听 MCP Server 的指令。
  2. 配置 MCP 客户端: 打开您的 MCP 客户端(例如 Claude Desktop),根据上述 服务器配置 部分的 JSON 配置信息,将 "Ableton Live Controller" 服务器添加到客户端的 MCP 服务器列表中,并确保配置中的脚本路径 '/path/to/mcp_ableton_server.py' 已替换为正确的路径。
  3. 在 MCP 客户端中发送指令: 在 MCP 客户端中,您可以使用自然语言指令来控制 Ableton Live。例如,在 Claude Desktop 中,您可以提问 "Get track names" 来获取 Ableton Live 中所有轨道的名称。

注意: 首次使用前,请确保 Ableton Live 已经安装并正确配置了 AbletonOSC 控制面。

服务器信息