SK

simon-kansara/ableton-live-mcp-server

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

396 stars 70 forks 质量 58 趋势 20MIT

Ableton Live OSC 控制的 MCP 服务器实现

概览

这是一个实现模型上下文协议(MCP)的服务器,用于促进LLM与之间的通信。它用于与Ableton Live之间发送和接收消息。它基于AbletonOSC实现,详尽地将可用的OSC地址映射到MCP客户端可访问的地址。 该项目由两个主要组成部分组成: - mcp_ableton_server.py:负责客户端与OSC守护进程之间通信的MCP服务器。- osc_daemon.py:负责向Ableton Live传递命令并处理响应的OSC守护进程。 - 提供兼容MCP的API,用于从MCP客户端控制Ableton Live。- 用于发送和接收OSC消息。- 基于AbletonOSC的OSC实现。- 实现Ableton Live命令的请求-响应处理。 - Python 3.8+ - python-osc(用于 OSC 通信)- fastmcp(支持主控制器)- uv(推荐的 Python 软件包安装器)- AbletonOSC 作为控制表面 1. 安装UV(https://docs.astral.

概述(AI 翻译)

📌 概述

Ableton Live MCP 服务器是一个实现 模型上下文协议(MCP)以促进 大型语言模型与Ableton Live之间的通信。它使用OSC(开放声音) Control) 用于发送和接收 Ableton Live 的消息。其基础是 AbletonOSC 实现和 可将可用OSC地址详尽映射为 工具可访问 MCP客户端。

该项目由两个主要组成部分组成:

  • mcp_ableton_server.py:负责 客户和OSC守护灵。
  • osc_daemon.py:负责向 Ableton 传递命令的 OSC 守护进程 实时处理和处理回应。

✨ 特色

  • 提供一个兼容MCP的API,用于从MCP客户端控制Ableton Live。
  • 使用 python-osc 进行 OSC 消息的发送和接收。
  • 基于 OSC 实现 AbletonOSC。
  • 实现Ableton Live命令的请求-响应处理。

⚡ 安装

要求

  • Python 3.8+
  • python-osc(用于OSC通信)
  • fastmcp(支持MCP)
  • uv(推荐的Python软件包安装程序)
  • AbletonOSC 作为控制面

安装步骤

  1. 安装uv(https://docs.astral.

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

Ableton Live MCP Server

📌 Overview

The Ableton Live MCP Server is a server implementing the Model Context Protocol (MCP) to facilitate communication between LLMs and Ableton Live. It uses OSC (Open Sound Control) to send and receive messages to/from Ableton Live. It is based on AbletonOSC implementation and exhaustively maps available OSC adresses to tools accessible to MCP clients.

This project consists of two main components:

  • mcp_ableton_server.py: The MCP server handling the communication between clients and the OSC daemon.
  • osc_daemon.py: The OSC daemon responsible for relaying commands to Ableton Live and processing responses.

✨ Features

  • Provides an MCP-compatible API for controlling Ableton Live from MCP clients.
  • Uses python-osc for sending and receiving OSC messages.
  • Based on the OSC implementation from AbletonOSC.
  • Implements request-response handling for Ableton Live commands.

⚡ Installation

Requirements

  • Python 3.8+
  • python-osc (for OSC communication)
  • fastmcp (for MCP support)
  • uv (recommended Python package installer)
  • AbletonOSC as a control surface

Installation Steps

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

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. Clone the repository:

    git clone https://github.com/your-username/mcp_ableton_server.git
    cd mcp_ableton_server
    
  3. Install the project and its dependencies:

    uv sync
    
  4. Install AbletonOSC Follow the instructions at AbletonOSC

🚀 Usage

Running the OSC Daemon

The OSC daemon will handle OSC communication between the MCP server and Ableton Live:

uv run osc_daemon.py

This will:

  • Listen for MCP client connections on port 65432.
  • Forward messages to Ableton Live via OSC on port 11000.
  • Receive OSC responses from Ableton on port 11001.

Example Usage

In Claude desktop, ask Claude:

  • Prepare a set to record a rock band
  • Set the input routing channel of all tracks that have “voice” in their name to Ext. In 2

⚙️ Configuration

By default, the server and daemon run on localhost (127.0.0.1) with the following ports:

  • MCP Server Socket: 65432
  • Ableton Live OSC Port (Send): 11000
  • Ableton Live OSC Port (Receive): 11001

To modify these, edit the AbletonOSCDaemon class in osc_daemon.py:

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
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "Ableton Live Controller": { "command": "/path/to/your/project/.venv/bin/python", "args": ["/path/to/your/project/mcp_ableton_server.py"] } }