Skip to main content
Glama
chidotaku

FL Studio MCP Bridge

by chidotaku
README.md
# FL Studio MCP Bridge

Paquete para conectar un chat compatible con MCP a FL Studio en Windows.

## Que incluye

- `mcp-server/fl_mcp_server.py`: servidor MCP externo.
- `fl-studio-hardware-script/device_MCPBridge.py`: script MIDI que va dentro de FL Studio.
- `mcp-server/fl_http_bridge.py`: puente HTTP auxiliar/legacy incluido por compatibilidad.
- `requirements.txt`: dependencia Python principal.
- `claude_desktop_config.example.json`: ejemplo de configuracion MCP.

## Requisitos

1. Windows.
2. FL Studio abierto.
3. Python 3.9 o superior.
4. loopMIDI instalado.
5. Dos puertos loopMIDI creados exactamente con estos nombres:
   - `MCP Bridge`
   - `MCP Notes`

## Instalacion

### 1. Instalar dependencias Python

Abre PowerShell en la carpeta `mcp-server` y ejecuta:

```powershell
python -m pip install -r ..\requirements.txt
```

### 2. Instalar el script MIDI en FL Studio

Copia:

```text
fl-studio-hardware-script\device_MCPBridge.py
```

a:

```text
%USERPROFILE%\Documents\Image-Line\FL Studio\Settings\Hardware\MCP Bridge\device_MCPBridge.py
```

Si la carpeta `MCP Bridge` no existe, creala.

### 3. Activar en FL Studio

En FL Studio:

1. Ve a `Options > MIDI Settings`.
2. En `Input`, activa el puerto `MCP Bridge`.
3. Asignale el script/controlador `MCP Bridge`.
4. Activa tambien `MCP Notes` como controlador generico, sin script.

Importante: `MCP Bridge` dispara CC119 para que FL lea `fl_request.json`; `MCP Notes` manda notas MIDI reales al Piano Roll.

### 4. Configurar el cliente MCP

Usa el archivo `claude_desktop_config.example.json` como base y cambia las rutas si hace falta.

Ejemplo:

```json
{
  "mcpServers": {
    "fl-studio": {
      "command": "C:\\Users\\TU_USUARIO\\AppData\\Local\\Programs\\Python\\Python312\\python.exe",
      "args": ["C:\\ruta\\a\\fl-studio-mcp-bridge\\mcp-server\\fl_mcp_server.py"]
    }
  }
}
```

## Prueba rapida

Con FL Studio abierto y el script activo, pide al chat:

```text
Prueba la conexion con FL Studio usando fl_status.
```

Si todo esta bien, debe devolver BPM, estado de reproduccion, patron actual, cantidad de canales y mixer tracks.

## Herramientas principales

- `fl_status`
- `fl_get_bpm`
- `fl_set_bpm`
- `fl_list_channels`
- `fl_list_mixer`
- `fl_list_patterns`
- `fl_add_notes`
- `fl_show_window`
- `fl_play`
- `fl_stop`
- `fl_record`
- `fl_rewind`

## Notas tecnicas

- El IPC usa archivos JSON en:

```text
%USERPROFILE%\Documents\Image-Line\FL Studio\Settings\Hardware\MCP Bridge
```

- `fl_request.json`: request del servidor MCP hacia FL.
- `fl_response.json`: respuesta de FL hacia el servidor MCP.
- CC119 por `MCP Bridge` despierta el script MIDI.
- `MCP Notes` se usa para grabar notas MIDI en el Piano Roll.
- PPQ usado por el bridge: 96 ticks por beat.
- En este bridge, MIDI `60 = C5`.