§ Guide · For developers & agents

FL Studio MCP server: what an agent can actually do

Published September 2026

Doseedo runs a hosted MCP server at https://api.doseedo.com/mcp that lets an AI agent convert, read and download FL Studio projects: move an .flp between five DAWs, read what is inside one with FL closed, restructure an arrangement as text, hand you back a project you open in FL. What it does not do is drive the FL Studio window open on your screen right now — no transport, no mixer moves, no pattern triggering. FL has its own Python API for that, and this page will point you at it rather than blur the line.

Two different things called "FL Studio MCP"

The phrase names two unrelated capabilities, and mixing them up is how people end up disappointed:

The two do not compete; they barely touch the same objects. A controller script never opens an .flp on disk, and a file-level tool never sees your playhead. Use both: prepare the project with one, perform it with the other.

Setup

claude mcp add --transport http --scope user doseedo https://api.doseedo.com/mcp

That line is for Claude Code; the first tool call opens a browser to sign in and approve. Headless clients append --header "X-API-Key: dsk_live_..." with a key from Settings → API keys. The same URL installs as a custom connector in the Claude phone and web apps, and in Cursor or any MCP client as a Streamable HTTP server. Nothing to self-host; the full tool list is on the MCP server page.

What the agent can do with an FL project

You talk to it in project terms; it handles uploads, polling and downloads itself:

> Convert ~/Projects/beat.flp to Logic, and tell me what
  won't survive the trip.

> What's actually in this .flp? List the channels, the mixer
  routing and every sample it references.

> This project has 60 unnamed mixer tracks. Convert it to
  REAPER's text format so you can name them from what's
  routed to each, then convert it back to .flp.

Concretely, the capabilities that apply to FL Studio:

Long jobs are async: the submit tool returns a task_id and a wait tool polls it until the artifact is ready. A conversion is typically well under two minutes.

Building an FL project from a mix takes two hops

The audio-to-session builder — full mix in, separated stems on named tracks, tempo map, optional per-stem MIDI and a chord guide — targets Logic Pro and Ableton Live. For FL, the agent builds one of those and then converts it to .flp. The stems, tempo map and MIDI survive that hop; it is one extra step rather than a different result, and worth knowing before you plan around it.

Your audio does not necessarily leave the machine

For files already on your disk, the agent passes the local path: the cloud builds the session structure — tracks, regions, buses, routing — and the download hands back copy commands that place your own files into the project. Audio uploads only when the server needs the samples: separation, transcription, conversion, generation or a bounce.

Install it and try one conversion

Add the server, point your agent at an .flp, and ask it to convert — and to tell you what it had to leave behind.

The Doseedo MCP server →

What it does not do — read this before you install

Why Logic gets the live bridge and FL does not

It is the inverse of what the APIs suggest. Logic ships no public realtime scripting surface — its Scripter plugin is JavaScript confined to a single channel strip — so the only way to reach an open Logic project is a native bridge, which is what the desktop app is (the Logic side, in detail). FL already has a scripting API, but it is controller-shaped: built for hardware talking to a running instance, deliberately walled off from the filesystem, and unable to load plugins or author patterns. So the gap worth closing for FL was never realtime control. It was the project file — converting one, reading one, restructuring one without hand-editing a binary format FL will refuse to open.

Which tool for which job

FAQ

Is there an MCP server for FL Studio?

Yes, for project files. Doseedo runs a hosted MCP server at api.doseedo.com/mcp that lets an agent convert, read and download FL Studio projects — moving an .flp to or from Logic Pro, Ableton Live, Pro Tools and REAPER, and handing back a native project you open in FL. It does not connect to the FL Studio window running on your screen.

Can Claude control FL Studio in realtime?

Not through this server. FL ships its own MIDI Controller Scripting API — a built-in Python interpreter, since FL Studio 20.7, covering Channels, Mixer, playlist patterns, Arrangement and Transport — and Flapi plus several community MCP servers drive it remotely. That is the realtime route, and it is a genuinely different surface from project files.

What can an AI agent do with an .flp file?

Convert it to or from Logic Pro, Ableton Live, Pro Tools and REAPER; read what is inside one — tempo, channels, patterns, mixer routing, referenced audio — without opening FL; restructure an arrangement through REAPER's plain-text format and convert back; and download the result as a native .flp.

Can it build an FL Studio project from a mix?

In two steps. The audio-to-session builder targets Logic Pro and Ableton Live, so a mix becomes a session in one of those and then converts to .flp. The stems, tempo map and any per-stem MIDI survive that conversion; it is one extra hop, not a different result.

Which DAW gets live session editing today?

Logic Pro, on macOS, through the Doseedo Desktop bridge. With the desktop app running and the project open, agent edits — moving regions, rewriting MIDI, faders, plugins, tempo — land in the open Logic project within seconds. FL Studio is not driven live; for FL the surface is the project file.

How do I install it in Claude or Cursor?

In Claude Code, run claude mcp add --transport http --scope user doseedo https://api.doseedo.com/mcp — the first tool call opens a browser for OAuth. In the Claude phone and web apps it installs as a custom connector with the same URL, and any MCP client can register it as a Streamable HTTP server, optionally sending an X-API-Key header instead of using OAuth.

Related