Files
ableton-mcp-ai/README.md
2026-03-30 10:00:56 -03:00

134 lines
4.3 KiB
Markdown

# Ableton MCP AI
Sistema MCP + Remote Script para controlar Ableton Live 12 desde clientes tipo Claude Code, Codex y opencode, con foco en generacion musical y flujo de produccion en Arrangement View.
## Estado actual
- Wrapper estable por `stdio` para Claude Code, Codex y opencode.
- Remote Script `AbletonMCP_AI` cargable desde `Preferences > Link/Tempo/MIDI > Control Surface`.
- Runtime canonico en `abletonmcp_init.py` con fallback desde `AbletonMCP_AI/__init__.py`.
- MCP server en `AbletonMCP_AI/AbletonMCP_AI/MCP_Server/server.py`.
- Generacion de canciones y tracks con fallback de audio en Arrangement.
- Seleccion de samples endurecida para reggaeton usando la libreria local del usuario.
- Pack brain y jueces externos preparados para trabajar con Z.ai via API Anthropic-compatible.
## Que contiene este repo
- `AbletonMCP_AI/`
Remote Script entrypoint, runtime espejo y paquete principal.
- `AbletonMCP_AI/AbletonMCP_AI/MCP_Server/`
Servidor MCP, generador musical, seleccion de samples, jobs async y utilidades.
- `_Framework/`
Shim minimo necesario para que el runtime no dependa de imports rotos de `ableton.v2`.
- `abletonmcp_init.py`
Runtime canonico que corre dentro de Ableton Live.
- `mcp_wrapper.py`
Launcher estable para clientes MCP por `stdio`.
- `CLAUDE.md`
Documentacion operativa para agentes.
- `MCP_CLAUDE_OPENCODE_SETUP.md`
Setup puntual para Claude Code y opencode.
- `docs/KNOWN_ISSUES.md`
Problemas abiertos y limites reales.
- `docs/ROADMAP.md`
Roadmap canonico del proyecto.
- `docs/TODO.md`
Trabajo pendiente priorizado.
## Lo que no contiene
- La libreria privada del usuario en `libreria/reggaeton`.
- Audio generado, caches, embeddings pesados y logs.
- Recovery files, estados temporales y artefactos de ejecucion local.
## Requisitos
- Windows nativo.
- Ableton Live 12 instalado en:
`C:\ProgramData\Ableton\Live 12 Suite\Program\Ableton Live 12 Suite.exe`
- Python accesible como `python`.
- Este repo ubicado dentro de:
`C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts`
## Arranque rapido
1. Copia el repo a `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts`.
2. Abre Ableton Live.
3. En `Preferences > Link/Tempo/MIDI`, selecciona `AbletonMCP_AI` como `Control Surface`.
4. Arranca el MCP con:
```powershell
python C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\mcp_wrapper.py --transport stdio
```
5. Para lanzamiento manual simple:
```bat
start_mcp.bat
```
## Configuracion de clientes
### Claude Code
Usa `.mcp.json` o config equivalente apuntando a:
```json
{
"mcpServers": {
"ableton-mcp-ai": {
"type": "stdio",
"command": "python",
"args": [
"C:/ProgramData/Ableton/Live 12 Suite/Resources/MIDI Remote Scripts/mcp_wrapper.py"
]
}
}
}
```
### Codex / opencode
Usa el mismo wrapper `mcp_wrapper.py` por `stdio`. Hay ejemplos ya preparados en `opencode.json`.
## Libreria de samples
La libreria principal usada durante las pruebas esta fuera del repo:
`C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\libreria\reggaeton`
El codigo esta preparado para trabajar con esa ruta local, pero no se publica por tamano y por contenido privado.
## Z.ai / jueces externos
Si quieres usar jueces externos y no solo heuristicas locales:
```powershell
$env:ANTHROPIC_BASE_URL = "https://api.z.ai/api/anthropic"
$env:ANTHROPIC_AUTH_TOKEN = "<token>"
$env:ANTHROPIC_MODEL = "glm-5.1"
```
El sistema usa fallback heuristico si la API no responde o devuelve rate limit.
## Flujo recomendado
1. Verifica socket y estado con `get_session_info`.
2. Usa `generate_song_async` o `generate_track_async` desde clientes MCP para evitar timeouts largos.
3. Si trabajas localmente desde Python, puedes invocar `server.generate_song(...)` directo.
4. Despues de generar, fuerza `show_arrangement_view`, `jump_to 0` y `start_playback`.
## Documentacion adicional
- `CLAUDE.md`
- `MCP_CLAUDE_OPENCODE_SETUP.md`
- `KIMI_K2_CODEBASE_FIXES.md`
- `KIMI_K2_NOTE_API_FIX.md`
- `docs/KNOWN_ISSUES.md`
- `docs/ROADMAP.md`
- `docs/TODO.md`
## Nota honesta
El sistema ya genera sets utilizables y estabilizo la conexion Live <-> MCP, pero todavia no esta en un punto de "produccion profesional sin supervision". El estado real y lo pendiente estan documentados en `docs/KNOWN_ISSUES.md` y `docs/TODO.md`.