Back to Browse

Fl Studio Agent MCP Server

Developer ToolsModerate5.5MCP RegistryLocal
Free

Server data from the Official MCP Registry

Drive FL Studio from an AI agent: write notes, set tempo and levels, check what sounds, render.

About

Drive FL Studio from an AI agent: write notes, set tempo and levels, check what sounds, render.

Security Report

5.5
Moderate5.5Moderate Risk

Valid MCP server (1 strong, 1 medium validity signals). 9 known CVEs in dependencies ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.

6 files analyzed · 10 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

file_system

Check that this permission is expected for this type of plugin.

env_vars

Check that this permission is expected for this type of plugin.

Shell Command Execution

Runs commands on your machine. Be cautious — only use if you trust this plugin.

What You'll Need

Set these up before or after installing:

Set to 'trial' when FL Studio runs as the unregistered trial (it cannot reopen saved projects); 'licensed' otherwise.Optional

Environment variable: FLMCP_FL_LICENSE

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-origami-research-fl-studio-agent": {
      "env": {
        "FLMCP_FL_LICENSE": "your-flmcp-fl-license-here"
      },
      "args": [
        "3.12",
        "fl-studio-agent"
      ],
      "command": "uvx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

FL Studio Agent

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

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 open a new terminal so uvx is on your PATH. Also on Windows, install loopMIDI, add two ports named exactly FLMCP Req and FLMCP Res, and tick Autostart loopMIDI in its tray menu so the ports come back after a restart (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, the native FL effect the server requires to write notes 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. Open the agent project in FL Studio: File > Open, FLMCP Agent.flp in FL's Projects folder (Documents/Image-Line/FL Studio/Projects). It carries the Bridge on its Master insert; in any other song there is no Bridge running, so notes and render are refused.

  4. Add the server to your client with a button above or a config below, 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 the server requires 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"
      ]
    }
  }
}

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 (the Bridge), and the agent project. Its status is ok only when all of them are connected, and not_ready otherwise, with a fix for each one that is not. The usual fixes: open FLMCP Agent.flp in FL Studio before your client starts the server (the doctor reports no running Bridge when another song is open, and rerunning step 2 when none is installed); 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, and answer No when FL asks to save FLMCP Agent.flp: the trial cannot reopen a song it saved. If it was saved, delete it and rerun step 2, which creates it again. uvx --python 3.12 fl-studio-agent --version prints the installed version.

Tools

The server exposes five tools, one per job:

ToolPurpose
runExecute Python against the FL SDK: write and clear notes, tempo, levels, parameters. Its docstring is the SDK cheatsheet.
get_sceneRead what FL has now: a compact musical summary, or the notes (detail="notes", by channel and pattern).
checkPlay a few bars and read FL's mixer meters: which channels sounded, their peaks, and why a silent one is silent.
renderPlay the live arrangement once and record the mix to WAV.
analyzeAnalyze 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.

Security

The Python the model writes in run, and the shell and file tools when they are on, runs in a sandbox limited to its own workspace folder, on macOS and Windows. It can read and write that folder and reach the public internet, so pip install works. It cannot read your home folder or your other files, reach services on this computer (FL's control ports included), or touch other programs. The engine itself, FL Studio and the Bridge are not sandboxed; the model's code reaches FL only through the engine. Before any model code runs, the engine checks that the sandbox holds and refuses to run the code if it does not; the MCP server reports confined=true. On macOS the sandbox does not block other computers on your local network. Details: docs/38.

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

Reviews

No reviews yet

Be the first to review this server!