Skip to main content

FL Studio Agent

Drive FL Studio from an AI agent: an MCP server that writes notes, sets tempo, levels and plugin parameters, checks which channels sound, and renders the mix, in your own FL Studio. Source, docs, and the native Bridge plugin: https://github.com/origami-research/fl-studio-agent

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:

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

    It installs the controller and note scripts, assigns the controller's MIDI ports, and creates the agent's own project (FLMCP Agent.flp; your other projects are never touched). 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".

Live writes and render also need the native Bridge plugin, built once from source; without it notes still land, with FL reloading the project per write.

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

Check it with claude mcp list.

Claude Desktop

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.

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.

Cursor

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"
      ]
    }
  }
}
VS Code

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"]}'
Windsurf and other clients

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, 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

run (Python against the FL SDK; its docstring is the SDK cheatsheet), get_scene (what FL has now), check (play a few bars and read which channels sounded), render (record the mix to WAV), and analyze (WAV analysis). The full description is in the repository README.

Metadata

Release files for fl-studio-agent 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fl-studio-agent 0.1.1
File Size Uploaded Provenance
fl_studio_agent-0.1.1.tar.gz 491.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for fl-studio-agent 0.1.1
File Interpreter ABI Platform
fl_studio_agent-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 753.9 kB

Release files / fl_studio_agent-0.1.1.tar.gz

Download URL fl_studio_agent-0.1.1.tar.gz
Size 491.5 kB
Tags Source
SHA-256 checksum
How to use checksums
6b4d724f0cd82085d559c6490496ac37384cfe88e8895d5dd5d6f98cca622214
BLAKE2b-256 checksum
How to use checksums
1c974ee7535d7eb07bb5f5dd2359421356b7aa518a198588dbd485e07225d3df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / fl_studio_agent-0.1.1-py3-none-any.whl

Download URL fl_studio_agent-0.1.1-py3-none-any.whl
Size 262.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9f6ceb0f3103e4c6a45d6f52e04b0e5d947d6786e7bd5ca789810eb02e138e7a
BLAKE2b-256 checksum
How to use checksums
943a79daa53b722723fc985f12397539b90704abbf98d8c3aa65ed5f2db5ed2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for fl-studio-agent 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page