Ableton Live MCP

Controla Ableton Live usando comandos OSC (Open Sound Control).

Documentación

Ableton Live MCP Server

📌 Descripción general

El Ableton Live MCP Server es un servidor que implementa el Model Context Protocol (MCP) para facilitar la comunicación entre LLMs y Ableton Live. Utiliza OSC (Open Sound Control) para enviar y recibir mensajes hacia/desde Ableton Live. Está basado en la implementación de AbletonOSC y mapea exhaustivamente las direcciones OSC disponibles a herramientas accesibles para los clientes MCP.

Control Ableton Live with LLMs

Este proyecto consta de dos componentes principales:

  • mcp_ableton_server.py: El servidor MCP que gestiona la comunicación entre los clientes y el demonio OSC.
  • osc_daemon.py: El demonio OSC responsable de retransmitir comandos a Ableton Live y procesar las respuestas.

✨ Características

  • Proporciona una API compatible con MCP para controlar Ableton Live desde clientes MCP.
  • Utiliza python-osc para enviar y recibir mensajes OSC.
  • Basado en la implementación OSC de AbletonOSC.
  • Implementa el manejo de solicitud-respuesta para los comandos de Ableton Live.

⚡ Instalación

Requisitos

  • Python 3.8+
  • python-osc (para comunicación OSC)
  • fastmcp (para soporte MCP)
  • uv (instalador de paquetes de Python recomendado)
  • AbletonOSC como superficie de control

Pasos de instalación

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

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. Clona el repositorio:

    git clone https://github.com/your-username/mcp_ableton_server.git
    cd mcp_ableton_server
    
  3. Instala el proyecto y sus dependencias:

    uv sync
    
  4. Instala AbletonOSC. Sigue las instrucciones en AbletonOSC

🚀 Uso

Ejecutar el demonio OSC

El demonio OSC manejará la comunicación OSC entre el servidor MCP y Ableton Live:

uv run osc_daemon.py

Esto:

  • Escuchará conexiones de clientes MCP en el puerto 65432.
  • Reenviará mensajes a Ableton Live vía OSC en el puerto 11000.
  • Recibirá respuestas OSC de Ableton en el puerto 11001.

Ejemplo de uso

En Claude desktop, pídele a Claude:

  • Prepara un set para grabar una banda de rock
  • Configura el canal de enrutamiento de entrada de todas las pistas que tengan "voz" en su nombre a Ext. In 2

⚙️ Configuración

Por defecto, el servidor y el demonio se ejecutan en localhost (127.0.0.1) con los siguientes puertos:

  • Socket del servidor MCP: 65432
  • Puerto OSC de Ableton Live (Envío): 11000
  • Puerto OSC de Ableton Live (Recepción): 11001

Para modificar estos valores, edita la clase AbletonOSCDaemon en 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

Configuración de Claude Desktop

Para usar este servidor con Claude Desktop, debes configurarlo en los ajustes de tu Claude Desktop. La ubicación del archivo de configuración varía según el sistema operativo:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json

Añade la siguiente configuración a tu sección mcpServers:

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

Esta configuración garantiza que:

  • El servidor se ejecute con todas las dependencias gestionadas correctamente
  • El proyecto siga siendo portátil y reproducible

Contribuciones

No dudes en enviar problemas, solicitudes de funciones o pull requests para mejorar este proyecto.

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.

Agradecimientos

PENDIENTE

  • Explorar las oportunidades de las primitivas de recursos y prompts.
  • Construir un cliente Ableton Live MCP independiente.