Skip to main content
Glama

FL Studio MCP Server

Ein MCP-Server (Model Context Protocol), der es KI-Assistenten ermöglicht, FL Studio über MIDI-Kommunikation und Piano-Roll-Skripte zu steuern.

Kurze Demo

Ignorieren Sie den schlechten Ton, ich musste mit meinem Mikrofon aufnehmen, da Apple mich den Desktop-Ton nicht aufnehmen ließ lol

https://github.com/user-attachments/assets/d4fc668f-9fe5-4ab4-9f18-76cd661029c6

Original-Audio

Falls Sie das bessere Audio hören möchten

https://github.com/user-attachments/assets/c2b1a5e7-1640-41fa-82bc-18ca7cbae9e8

Funktionen

Transportsteuerung

  • Wiedergabe starten, pausieren, stoppen

  • Aufnahme umschalten

  • Wiedergabeposition festlegen

  • Songlänge und -position abrufen

  • Loop-Modus steuern (Pattern/Song)

  • Wiedergabegeschwindigkeit anpassen

Mixer-Steuerung

  • Lautstärke und Panorama von Tracks abrufen/festlegen

  • Tracks stummschalten/solo schalten

  • Tracks für die Aufnahme scharfschalten

  • Track-Namen und -Farben festlegen

  • Steuerung der Stereobreite

Channel Rack-Steuerung

  • Alle Kanäle auflisten

  • Kanaleigenschaften abrufen/festlegen (Lautstärke, Panorama, Name, Farbe)

  • Kanäle stummschalten/solo schalten

  • Kanäle auf Mixer-Tracks routen

  • MIDI-Noten in Echtzeit auslösen

  • Step-Sequencer-Steuerung (Grid-Bits abrufen/festlegen)

Plugin-Steuerung

  • Plugin-Parameter auflisten

  • Parameterwerte abrufen/festlegen

  • Presets navigieren (nächstes/vorheriges)

  • Plugin-Informationen abfragen

Piano Roll-Steuerung

  • Noten hinzufügen zum Piano Roll mit präzisem Timing

  • Akkorde hinzufügen mit einem einzigen Befehl

  • Bestimmte Noten löschen nach MIDI-Nummer und Zeit

  • Alle Noten löschen aus dem Piano Roll

  • Piano Roll-Status lesen, um alle vorhandenen Noten zu sehen

  • Automatische Auslösung per Tastendruck (Cmd+Opt+Y auf macOS, Strg+Alt+Y auf Windows)

Related MCP server: FL Studio MCP Server

Wichtige Einschränkungen

Plugins können nicht geladen werden

Die FL Studio Scripting API unterstützt nicht das Laden neuer VST/AU-Plugins. Sie können nur Parameter von Plugins steuern, die bereits in Ihrem Projekt geladen sind.

Patterns können nicht erstellt werden

Es gibt keine API, um programmgesteuert neue Patterns zu erstellen. Sie können nur mit bestehenden Patterns arbeiten.

Anforderungen

  • FL Studio 20.7+ (MIDI Controller Scripting API)

  • Python 3.10+

  • macOS oder Windows

    • macOS: IAC-Treiber (integriert, muss aktiviert werden)

    • Windows: loopMIDI

Schnelle Installation

Der einfachste Weg zur Installation ist die Verwendung des bereitgestellten Setup-Skripts:

# Clone the repository
git clone https://github.com/karl-andres/fl-studio-mcp.git
cd fl-studio-mcp

# Run the one-command installer
./install.sh

Dies wird:

  1. uv installieren, falls nicht vorhanden

  2. Python-Abhängigkeiten installieren

  3. Sie durch die Aktivierung virtueller MIDI-Ports führen (IAC-Treiber auf Mac)

  4. Das FL Studio MIDI-Controller-Skript installieren

  5. Das Piano Roll-Skript installieren (ComposeWithLLM)

  6. Claude Desktop oder Claude Code automatisch konfigurieren

Manuelle Installation

1. Python-Abhängigkeiten installieren

# Using uv (recommended)
uv sync

# Or using pip
pip install -e .

2. Virtuelle MIDI-Ports aktivieren

macOS (IAC-Treiber)

  1. Öffnen Sie Audio-MIDI-Setup (Suche in Spotlight)

  2. Drücken Sie Cmd+2 oder gehen Sie zu Fenster > MIDI-Studio einblenden

  3. Doppelklicken Sie auf IAC-Treiber

  4. Aktivieren Sie "Gerät ist online"

  5. Klicken Sie auf Anwenden

Windows (loopMIDI)

  1. Laden Sie loopMIDI herunter und installieren Sie es

  2. Erstellen Sie einen virtuellen Port (jeder Name funktioniert)

  3. Lassen Sie loopMIDI laufen, während Sie FL Studio verwenden

3. FL Studio-Skripte installieren

Kopieren Sie das Controller-Skript in den Hardware-Ordner von FL Studio:

# macOS
mkdir -p ~/Documents/Image-Line/FL\ Studio/Settings/Hardware/FLStudioMCP
cp fl_controller/device_FLStudioMCP.py ~/Documents/Image-Line/FL\ Studio/Settings/Hardware/FLStudioMCP/

# Windows
mkdir "%USERPROFILE%\Documents\Image-Line\FL Studio\Settings\Hardware\FLStudioMCP"
copy fl_controller\device_FLStudioMCP.py "%USERPROFILE%\Documents\Image-Line\FL Studio\Settings\Hardware\FLStudioMCP\"

Kopieren Sie das Piano Roll-Skript:

# macOS
cp scripts/ComposeWithLLM.pyscript ~/Documents/Image-Line/FL\ Studio/Settings/Piano\ roll\ scripts/

# Windows
copy scripts\ComposeWithLLM.pyscript "%USERPROFILE%\Documents\Image-Line\FL Studio\Settings\Piano roll scripts\"

4. FL Studio konfigurieren

  1. Starten Sie FL Studio neu (falls es läuft)

  2. Gehen Sie zu Optionen > MIDI-Einstellungen

  3. Suchen Sie unter Eingabe Ihren virtuellen MIDI-Port (z. B. "IAC Driver Bus 1")

  4. Setzen Sie den Controllertyp auf FLStudioMCP

  5. Aktivieren Sie den Port (klicken Sie darauf, um ihn hervorzuheben)

5. Claude konfigurieren

Fügen Sie dies zu Ihrer Claude Desktop-Konfiguration hinzu (~/Library/Application Support/Claude/claude_desktop_config.json auf macOS):

{
  "mcpServers": {
    "fl-studio": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/fl-studio-mcp", "fl-studio-mcp"]
    }
  }
}

Oder fügen Sie es für Claude Code zu Ihren MCP-Einstellungen hinzu.

Verwendung

Server manuell ausführen

# Using uv
uv run fl-studio-mcp

# Or after installation
fl-studio-mcp

Piano Roll-Workflow

  1. Öffnen Sie FL Studio und wählen Sie einen Kanal aus

  2. Öffnen Sie das Piano Roll (F7 oder Doppelklick auf den Kanal)

  3. Führen Sie beim ersten Mal das Skript manuell aus: Tools > Scripting > ComposeWithLLM

  4. Danach lösen die MCP-Tools das Skript automatisch aus

Verfügbare Tools

Verbindung

Tool

Beschreibung

fl_connect

Verbindung zu FL Studio herstellen/wiederherstellen

fl_connection_status

Verbindungsstatus abrufen

Transport

Tool

Beschreibung

fl_play

Wiedergabe starten/pausieren

fl_stop

Wiedergabe stoppen

fl_record

Aufnahme umschalten

fl_get_transport_status

Wiedergabe-/Aufnahmestatus abrufen

fl_set_song_position

Wiedergabeposition festlegen

fl_get_song_length

Songdauer abrufen

fl_set_loop_mode

Zwischen Pattern-/Song-Modus wechseln

fl_set_playback_speed

Wiedergabegeschwindigkeit anpassen (0,25x-4x)

Mixer

Tool

Beschreibung

fl_get_mixer_track_count

Anzahl der Mixer-Tracks abrufen

fl_get_mixer_track_info

Track-Details abrufen

fl_get_all_mixer_tracks

Alle Tracks auflisten

fl_set_track_volume

Track-Lautstärke festlegen

fl_set_track_pan

Track-Panorama festlegen

fl_mute_track

Track stummschalten/aufheben

fl_solo_track

Track solo schalten/aufheben

fl_arm_track

Track für Aufnahme scharfschalten

fl_set_track_name

Track umbenennen

fl_set_track_color

Track-Farbe festlegen

fl_set_stereo_separation

Stereobreite anpassen

Kanäle

Tool

Beschreibung

fl_get_channel_count

Anzahl der Kanäle abrufen

fl_get_channel_info

Kanal-Details abrufen

fl_get_all_channels

Alle Kanäle auflisten

fl_get_selected_channel

Ausgewählten Kanal abrufen

fl_select_channel

Kanal auswählen/abwählen

fl_select_one_channel

Kanal exklusiv auswählen

fl_trigger_note

MIDI-Note auslösen (Echtzeit)

fl_set_channel_volume

Kanallautstärke festlegen

fl_set_channel_pan

Kanal-Panorama festlegen

fl_mute_channel

Kanal stummschalten/aufheben

fl_solo_channel

Kanal solo schalten/aufheben

fl_set_channel_name

Kanal umbenennen

fl_set_channel_color

Kanal-Farbe festlegen

fl_route_channel_to_mixer

Auf Mixer-Track routen

fl_get_grid_bit

Step-Sequencer-Step abrufen

fl_set_grid_bit

Step-Sequencer-Step festlegen

fl_get_step_sequence

Vollständiges Pattern abrufen

fl_set_step_sequence

Vollständiges Pattern festlegen

Plugins

Tool

Beschreibung

fl_is_plugin_valid

Prüfen, ob Plugin existiert

fl_get_plugin_name

Plugin-Name abrufen

fl_get_plugin_param_count

Parameteranzahl abrufen

fl_get_plugin_params

Alle Parameter auflisten

fl_get_plugin_param_value

Parameterwert abrufen

fl_set_plugin_param_value

Parameterwert festlegen

fl_get_preset_count

Preset-Anzahl abrufen

fl_next_preset

Nächstes Preset

fl_prev_preset

Vorheriges Preset

fl_get_plugin_color

Plugin-Farbe abrufen

Piano Roll

Tool

Beschreibung

fl_send_notes

Noten zum Piano Roll hinzufügen

fl_send_chord

Akkord hinzufügen (mehrere Noten gleichzeitig)

fl_delete_notes

Bestimmte Noten löschen

fl_clear_piano_roll

Alle Noten löschen

fl_get_piano_roll_state

Aktuelle Piano-Roll-Noten lesen

fl_trigger_script

FL Studio-Skript manuell auslösen

fl_get_piano_roll_info

Piano-Roll-Systeminformationen abrufen

fl_clear_request_queue

Ausstehende Warteschlangenänderungen abbrechen

Beispiel-Workflows

Einen Mix anpassen

"Set the volume of mixer track 1 to 80% and pan it slightly left"

Ein Drum-Pattern erstellen

"Create a basic kick pattern on channel 0 with kicks on steps 0, 4, 8, and 12"

Eine Melodie zum Piano Roll hinzufügen

"Add a C major arpeggio starting at beat 0: C4, E4, G4, C5 - each note quarter duration"

Akkorde hinzufügen

"Add a C major chord at beat 0, then F major at beat 2, then G major at beat 4"

Plugin-Parameter automatisieren

"List the parameters of the plugin on channel 0 and set the filter cutoff to 50%"

Fehlerbehebung

"Nicht mit FL Studio verbunden"

  1. Stellen Sie sicher, dass FL Studio läuft

  2. Prüfen Sie, ob der FLStudioMCP-Controller in den MIDI-Einstellungen aktiviert ist

  3. Prüfen Sie auf dem Mac, ob der IAC-Treiber in den Audio-MIDI-Einstellungen aktiviert ist

  4. Prüfen Sie unter Windows, ob loopMIDI läuft

  5. Starten Sie FL Studio nach dem Aktivieren des Controllers neu

"Zeitüberschreitung beim Warten auf FL Studio-Antwort"

  1. Stellen Sie sicher, dass FL Studio im Fokus ist

  2. Prüfen Sie das Skript-Ausgabefenster in FL Studio (Ansicht > Skript-Ausgabe)

  3. Überprüfen Sie, ob der Controller MIDI empfängt (achten Sie auf Aktivität in den MIDI-Einstellungen)

Piano Roll-Skript löst nicht aus

  1. Erstes Mal: Führen Sie manuell Tools > Scripting > ComposeWithLLM in FL Studio aus

  2. Auf macOS: Gewähren Sie bei Aufforderung Zugriffsberechtigungen

  3. Stellen Sie sicher, dass FL Studio beim Auslösen im Fokus ist

  4. Versuchen Sie, Cmd+Opt+Y (macOS) oder Strg+Alt+Y (Windows) manuell zu drücken

Keine MIDI-Ports verfügbar

  • macOS: Aktivieren Sie den IAC-Treiber in den Audio-MIDI-Einstellungen

  • Windows: Installieren und starten Sie loopMIDI

Architektur

Dieser MCP-Server verwendet einen hybriden Ansatz:

┌─────────────────┐     ┌─────────────────────────────────────────┐
│   MCP Client    │────▶│           FastMCP Server                │
│  (Claude, etc)  │     │                                         │
└─────────────────┘     │  ┌─────────────────┐  ┌──────────────┐  │
                        │  │ MIDI + JSON     │  │ Piano Roll   │  │
                        │  │ Tools           │  │ Tools (JSON) │  │
                        │  └────────┬────────┘  └──────┬───────┘  │
                        └───────────┼──────────────────┼──────────┘
                                    │                  │
                               MIDI + JSON        JSON Files +
                                    │              Keystroke
                                    ▼                  ▼
                        ┌─────────────────────────────────────────┐
                        │              FL Studio                   │
                        │  ┌──────────────┐  ┌──────────────────┐ │
                        │  │FLStudioMCP   │  │ Piano Roll Script│ │
                        │  │(MIDI Ctrl)   │  │ (ComposeWithLLM) │ │
                        │  └──────────────┘  └──────────────────┘ │
                        └─────────────────────────────────────────┘

Funktionsweise

  1. Transport/Mixer/Kanäle/Plugins:

    • MCP-Server schreibt Befehl in JSON-Datei

    • Sendet MIDI-Trigger-Note an FL Studio

    • FL Studio-Controller-Skript liest JSON, führt API aus, schreibt Antwort

    • MCP-Server liest Antwort

  2. Piano Roll:

    • MCP-Server schreibt Notenanfragen in JSON-Datei

    • Sendet Tastendruck (Cmd+Opt+Y), um FL Studio-Skript auszulösen

    • Piano Roll-Skript liest JSON und ändert Noten

Entwicklung

Voraussetzungen

  • Python 3.10+

  • uv (empfohlen)

Einrichtung

# Install all dependencies including dev extras
uv sync --dev

# Or with pip
pip install -e ".[dev]"

Verfügbare Befehle

Befehl

Beschreibung

uv run fl-studio-mcp

MCP-Server ausführen

uv run ruff check .

Codebasis linten

uv run ruff check --fix .

Linten und automatisch beheben

uv run pytest

Tests ausführen

Projektstruktur

fl-studio-mcp/
├── fl_controller/
│   └── device_FLStudioMCP.py   # FL Studio MIDI controller script (runs inside FL Studio)
├── scripts/
│   ├── setup.sh                 # FL Studio script installer
│   ├── install_mcp_for_claude.sh # Claude config installer
│   └── ComposeWithLLM.pyscript  # Piano Roll script (runs inside FL Studio)
├── src/fl_studio_mcp/
│   ├── server.py                # FastMCP server entry point
│   ├── tools/                   # MCP tool implementations
│   │   ├── channels.py
│   │   ├── mixer.py
│   │   ├── piano_roll.py
│   │   ├── plugins.py
│   │   └── transport.py
│   └── utils/
│       ├── connection.py        # FL Studio connection wrapper
│       ├── fl_trigger.py        # Piano roll keystroke trigger
│       └── midi_connection.py   # MIDI + JSON communication layer
└── install.sh                   # One-command installer

Credits

Lizenz

MIT

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that connects AI assistants to FL Studio for music production via Virtual MIDI. It enables users to control transport, manage the mixer, write notes, and manipulate plugin parameters through natural language.
    1
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI assistants to control FL Studio on Windows through a local MCP server without cloud dependencies. Bridges MCP clients to FL Studio's Python scripting environment via file-based IPC for project management, transport control, and UI workflow automation.
    -
  • A
    license
    A
    quality
    C
    maintenance
    AI control for FL Studio via the Model Context Protocol — full in-DAW mixing (Mix Doctor diagnosis, gain staging, EQ/compression/reverb, reference matching), routing, and composition through Claude and any MCP client. 67 tools. Windows.
    67
    34
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/karl-andres/fl-studio-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server