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.
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
-
Instale
uv(https://docs.astral.sh/uv/getting-started/installation):curl -LsSf https://astral.sh/uv/install.sh | sh -
Clone o repositório:
git clone https://github.com/your-username/mcp_ableton_server.git cd mcp_ableton_server -
Instale o projeto e suas dependências:
uv sync -
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
- Model Context Protocol (MCP)
- python-osc para manipulação OSC
- Daniel John Jones pela implementação OSC com AbletonOSC
- Ableton Third Party Remote Scripts
- Julien Bayle @Structure Void por infinitas inspirações e recursos.
TODO
- Explorar oportunidades de primitivas de recursos e prompts.
- Construir um cliente MCP standalone do Ableton Live.
