FL Studio Agent

io.github.origami-research由 GitHub 账号 origami-research 发布v0.1.6更新于 Oct 29, 2026

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

已验证STDIO仅桌面开发者工具媒体与设计

概览

AI 生成的概览

让 AI 助手在你自己的 FL Studio 中写音符、设置速度与电平、检查哪些通道发声,并渲染混音。

可以做什么
  • 通过运行针对 FL SDK 的 Python 来写入和清除音符、速度、电平与插件参数
  • 读取当前音乐场景,包括按通道和样式查看音符
  • 播放数小节并读取混音台电平表,查看哪些通道发声以及静音原因
  • 将实时编排播放一次并录制为 WAV 文件
  • 对渲染出的 WAV 做确定性分析
适用场景
适合希望助手在真实的 FL Studio 工程中编写或调整段落,并通过电平表和渲染混音来验证结果的音乐制作人,而不是离线编辑工程文件。
运行要求
在 macOS 或 Windows 上以 uvx(Python 3.12)启动的本地进程,需已安装 FL Studio 2026。需运行一次安装命令以安装控制器脚本和原生 Bridge 插件,并在 FL Studio 中打开 FLMCP Agent.flp 工程。Windows 上还需 loopMIDI 并创建名为 FLMCP Req 和 FLMCP Res 的两个端口。需设置环境变量 FLMCP_FL_LICENSE 为 trial 或 licensed。
安装前请注意
run 工具会执行模型编写的 Python;它被限制在独立工作区文件夹内,但可访问公网,且在 macOS 上不会阻止局域网内其他计算机。引擎、FL Studio 与 Bridge 本身不在沙箱内。安装过程会下载预编译插件并向 FL 的目录写入文件,Windows 上需管理员终端。试用版无法重新打开已保存的工程,因此不要保存该代理工程。

安装

在 SourceWeft 中

  1. 打开 控制台中的 FL Studio Agent,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

FL Studio Agent

[Claude writes a lo-fi beat in FL Studio and plays it to check the mixer meters before it renders]

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:

bash
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):

    bash
    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 Code
bash
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, which also installs the Bridge plugin the server requires into FL.

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

json
{  "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:

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):

bash
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):

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

Troubleshooting

Run the doctor while FL Studio is open:

bash
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:

bash
scripts/gate.sh

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

Documentation

来源:README.md,提交 69dc76d

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:服务器未能启动。

版本历史

2
  1. v0.1.6最新Oct 29, 2026
  2. v0.1.2Oct 23, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分