Ableton Live MCP

Controle o Ableton Live usando comandos OSC (Open Sound Control).

Documentação

Ableton Live MCP Server

📌 Visão Geral

O Ableton Live MCP Server é um servidor que implementa o Model Context Protocol (MCP) para facilitar a comunicação entre LLMs e o Ableton Live. Ele usa OSC (Open Sound Control) para enviar e receber mensagens de/para o Ableton Live. É baseado na implementação do AbletonOSC e mapeia exaustivamente os endereços OSC disponíveis para ferramentas acessíveis aos clientes MCP.

Control Ableton Live with LLMs

Este projeto consiste em dois componentes principais:

  • mcp_ableton_server.py: O servidor MCP que lida com a comunicação entre clientes e o daemon OSC.
  • osc_daemon.py: O daemon OSC responsável por retransmitir comandos para o Ableton Live e processar respostas.

✨ Recursos

  • Fornece uma API compatível com MCP para controlar o Ableton Live a partir de clientes MCP.
  • Usa python-osc para enviar e receber mensagens OSC.
  • Baseado na implementação OSC do AbletonOSC.
  • Implementa o tratamento de requisição-resposta para comandos do Ableton Live.

⚡ Instalação

Requisitos

  • Python 3.8+
  • python-osc (para comunicação OSC)
  • fastmcp (para suporte MCP)
  • uv (instalador de pacotes Python recomendado)
  • AbletonOSC como superfície de controle

Passos de Instalação

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

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. Clone o repositório:

    git clone https://github.com/your-username/mcp_ableton_server.git
    cd mcp_ableton_server
    
  3. Instale o projeto e suas dependências:

    uv sync
    
  4. Instale o AbletonOSC Siga as instruções em AbletonOSC

🚀 Uso

Executando o Daemon OSC

O daemon OSC lidará com a comunicação OSC entre o servidor MCP e o Ableton Live:

uv run osc_daemon.py

Isso irá:

  • Ouvir conexões de clientes MCP na porta 65432.
  • Encaminhar mensagens para o Ableton Live via OSC na porta 11000.
  • Receber respostas OSC do Ableton na porta 11001.

Exemplo de Uso

No Claude desktop, pergunte ao 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

⚙️ Configuração

Por padrão, o servidor e o daemon rodam em localhost (127.0.0.1) com as seguintes portas:

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

Para modificar isso, edite a classe AbletonOSCDaemon em 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

Configuração do Claude Desktop

Para usar este servidor com o Claude Desktop, você precisa configurá-lo nas configurações do seu Claude Desktop. A localização do arquivo de configuração varia de acordo com o sistema operacional:

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

Adicione a seguinte configuração à sua seção mcpServers:

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

Esta configuração garante que:

  • O servidor rode com todas as dependências gerenciadas adequadamente
  • O projeto permaneça portátil e reproduzível

Contribuindo

Sinta-se à vontade para enviar issues, solicitações de recursos ou pull requests para melhorar este projeto.

Licença

Este projeto é licenciado sob a Licença MIT. Veja o arquivo LICENSE para detalhes.

Agradecimentos

TODO

  • Explorar oportunidades de primitivas de recursos e prompts.
  • Construir um cliente MCP standalone do Ableton Live.