Skip to main content
Glama
Caelvoryn

FL Studio MCP

by Caelvoryn

FL Studio MCP 1.2.0.dev2 — UI-first development candidate

Current matrix: dev2 acceptance and limits. Older dev1 reports are retained as history. Native/visual/OCR automatic grid measurement covers tested Piano Roll and Playlist layouts. This is not universal coordinate-free automation.

Security release gate remains open: tested dependencies have3 deduplicated known advisories; see security review. Local GUI/audio acceptance does not imply a clean security audit. Do not use as a production or public-network deployment.

Windows / Python 3.12 / FL Studio 26.1.5 build 5618. Based on rosasynthesiz/flstudio-mcp; MIT retained. Development preview, not universal desktop automation. No running MCP configuration/controller is replaced.

Core tested edits use actual GUI input. Prefer UIA where controls exist; self-drawn Piano Roll, Playlist, Sytrus and Mixer use screenshot-confirmed window-relative targets. FLP parsing and read-only bridge calls verify results, not perform musical edits.

Default mode hides legacy background music writers. Explicit FLSTUDIO_MCP_ENABLE_LEGACY_WRITES=1 exposes compatibility tools; never describe those writes as GUI actions.

See capabilities, real acceptance, workflow, profiles. GUI input receipts deliberately return verified=false: observe post-state, save and independently verify the musical target.

Isolated installation

py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install --index-url https://pypi.org/simple -r requirements-system-tested.txt
.\.venv\Scripts\python.exe -m pip install --index-url https://pypi.org/simple --no-deps -e .
.\.venv\Scripts\python.exe -m pip check
.\.venv\Scripts\python.exe -m pytest tests/test_ui_first.py -q

Full inherited regression explicitly exercises legacy writers against unit fakes, not real FL:

$env:FLSTUDIO_MCP_ENABLE_LEGACY_WRITES = '1'
try { .\.venv\Scripts\python.exe -m pytest tests -q }
finally { Remove-Item Env:FLSTUDIO_MCP_ENABLE_LEGACY_WRITES }

GUI operations require an interactive Windows desktop. Use an isolated preserved test project, stop transport, avoid simultaneous manual input, and retain checkpoints. fl_gui_save_as first establishes owned project identity. Existing compatible controller/loopMIDI bridge is needed for read-only verification and Playlist transport checks. Do not reinstall or overwrite an existing controller automatically. Review the example configuration separately; it is not merged into running configuration.

Bridge and candidate must share the private state directory for cooperating OS locks. Unrelated processes/manual edits cannot be locked. Unknown modals/layouts fail safely. Dev2 verifies one Sytrus factory-preset path, automation creation/move/curve-value edit, and strict saved/audio readback. No universal third-party, all-DPI, audio-clip or arbitrary routing/FX support. Private logs, screenshots, FLPs/WAVs and commercial content stay outside public source. A local ZIP is not GitHub publication.

Install Windows OCR language capabilities for the actual UI (tested zh-Hans and en-US). If OCR is unavailable or ambiguous, operations stop and retain diagnostics. Generator readback indices follow the current Channel Rack filter: select All through GUI and pass expected_channel to fl_plugin_state.

Related MCP Connectors

Related MCP Servers

  • 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
    C
    quality
    B
    maintenance
    Gives AI assistants full control of FL Studio through its scripting API, enabling project editing, mixing, piano roll composition, MIDI export, and plugin automation without touching the mouse or keyboard.
    57
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Drives Windows applications through the UI Automation accessibility tree, enabling element discovery and interaction without screenshots or coordinate guessing.
    MIT