Skip to main content
Glama

FL Studio Agent

Drive FL Studio from an AI agent. fl-studio-agent is an MCP server, a Python SDK, and a native Bridge plugin: your agent writes notes, sets tempo, levels and plugin parameters, checks which channels sound, and renders the mix, in your own FL Studio.

Install in Cursor Install in VS Code Claude Desktop bundle PyPI License: MIT

Claude Code:

claude mcp add --scope user fl-studio -- uvx --python 3.12 fl-studio-agent

Quick start

You need FL Studio 2026 on macOS or Windows and uv.

  1. Install uv if you don't have it. macOS: curl -LsSf https://astral.sh/uv/install.sh | sh. Windows: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex", then install loopMIDI and add two ports named exactly FLMCP Req and FLMCP Res (Windows has no virtual MIDI ports; macOS needs nothing).

  2. Set up FL Studio once. Start FL once if you never have, close it, then run (on Windows, in a terminal opened as administrator, because FL's plugin folder is under Program Files):

    uvx --python 3.12 --from fl-studio-agent fl-mcp-install

    It installs the controller and note scripts, assigns the controller's MIDI ports, creates the agent's own project (FLMCP Agent.flp; your other projects are never touched), and downloads the prebuilt Bridge plugin for live writes and render, checking it against the release's SHA-256 sums. It is safe to rerun. To update later, run it with fl-studio-agent@latest in place of fl-studio-agent and restart FL and your client.

  3. Add the server to your client with a button above or a config below, open FL Studio, and ask for "a 4-bar chord loop in A minor".

claude mcp add --scope user fl-studio -- uvx --python 3.12 fl-studio-agent

Check it with claude mcp list.

Download fl-studio-agent.mcpb and open it (or drag it into Settings > Extensions). Claude Desktop installs the package itself; you still run step 2 once, which also installs the Bridge plugin into FL.

Or add this to claude_desktop_config.json (Settings > Developer > Edit Config):

{
  "mcpServers": {
    "fl-studio": {
      "command": "uvx",
      "args": [
        "--python",
        "3.12",
        "fl-studio-agent"
      ]
    }
  }
}

If Claude Desktop reports spawn uvx ENOENT, it cannot see your shell's PATH: replace "uvx" with the full path that which uvx (macOS) or where uvx (Windows) prints.

Use the Install in Cursor button above, or add this to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "fl-studio": {
      "command": "uvx",
      "args": [
        "--python",
        "3.12",
        "fl-studio-agent"
      ]
    }
  }
}

Use the Install in VS Code button above, or run (macOS/Linux shell quoting):

code --add-mcp '{"name": "fl-studio", "type": "stdio", "command": "uvx", "args": ["--python", "3.12", "fl-studio-agent"]}'

Add the standard entry to the client's MCP config (Windsurf: mcp_config.json, see its MCP docs):

{
  "mcpServers": {
    "fl-studio": {
      "command": "uvx",
      "args": [
        "--python",
        "3.12",
        "fl-studio-agent"
      ]
    }
  }
}

Related MCP server: FL Studio MCP Server

Troubleshooting

Run the doctor while FL Studio is open:

uvx --python 3.12 --from fl-studio-agent fl-mcp-doctor

It prints one JSON report of the control plane (controller script and MIDI ports), the note plane, and the agent project, with a fix for anything not connected. The usual fixes: open FL Studio before your client starts the server; after an upgrade rerun step 2 with fl-studio-agent@latest (a stale controller is reported); on Windows, keep loopMIDI running with both ports. Using the FL Studio trial? Set FLMCP_FL_LICENSE=trial in the server's env, because the trial cannot reopen saved projects. uvx --python 3.12 fl-studio-agent --version prints the installed version.

Tools

The server exposes five tools, one per job:

Tool

Purpose

run

Execute Python against the FL SDK: write and clear notes, tempo, levels, parameters. Its docstring is the SDK cheatsheet.

get_scene

Read what FL has now: a compact musical summary, or the notes (detail="notes", by channel and pattern).

check

Play a few bars and read FL's mixer meters: which channels sounded, their peaks, and why a silent one is silent.

render

Play the live arrangement once and record the mix to WAV.

analyze

Analyze a WAV deterministically.

The working rhythm is write, check at milestones, render at the end. Every result is what FL now has, so nothing needs waiting for, saving, or re-reading. FL's transient refusals ("operation unsafe at current time", a busy control wire) are retried inside the engine; a model sees only errors it can act on. Setup diagnostics are for the operator, not the model: fl-mcp-doctor prints the same report as JSON.

How it works

Three complementary lanes: flpkit edits project files, the native Bridge plugin performs live host operations, and the MIDI controller script handles live controller operations. SETUP.md covers installing from a source checkout and building the Bridge.

Development

For a disposable live smoke session, run fl-mcp-dev-session. For the local merge gate, run:

scripts/gate.sh

The gate is the authoritative test count and verification contract; see docs/gate.md for its current stages.

Documentation

Related MCP Connectors

Related MCP Servers

  • 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
    Enables agents to control FL Studio through an MCP interface, including running Python inside FL, capturing screenshots, sending clicks and keystrokes, writing multi-channel piano roll notes, and building full arrangements from a song spec without moving the cursor.
    2
    MIT