Flemcee

MCP server for FL Studio powered by the Flapi Python client, enabling FL Studio control via MCP transports.
  • python

0

GitHub Stars

python

Language

4 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "tylerjharden-flemcee": {
      "command": "python",
      "args": [
        "-m",
        "flemcee"
      ],
      "env": {
        "FLEMCEE_HOST": "127.0.0.1",
        "FLEMCEE_PORT": "8000",
        "FLEMCEE_REQ_PORT": "Flapi Request",
        "FLEMCEE_RES_PORT": "Flapi Response",
        "FLEMCEE_SSE_PATH": "<FLEMCEE_SSE_PATH>",
        "FLEMCEE_LOG_LEVEL": "INFO",
        "FLEMCEE_TRANSPORT": "stdio",
        "FLEMCEE_MOUNT_PATH": "/mcp",
        "FLEMCEE_CURATED_TOOLS": "true",
        "FLEMCEE_GENERATE_TOOLS": "true",
        "FLEMCEE_CONNECT_ON_START": "true",
        "FLEMCEE_STREAMABLE_HTTP_PATH": "<FLEMCEE_STREAMABLE_HTTP_PATH>"
      }
    }
  }
}

You run Flemcee as an MCP server that lets FL Studio be controlled remotely through the Flapi Python client. It exposes FL Studio controls by executing Python inside FL Studio via Flapi, enabling you to automate playback, transport, tempo, patterns, and more from an MCP client.

How to use

To use Flemcee with an MCP client, run Flemcee in the stdio transport mode or the default streamable HTTP mode, then connect your MCP client to the appropriate transport channel. The stdio mode runs the Flemcee process locally and communicates via standard input/output, while the default mode exposes an HTTP transport that your MCP client can reach over the network.

How to install

Prerequisites prepare your environment before installing Flemcee.

    • Ensure FL Studio is running with the Flapi server loaded.

Then install Flemcee from source using Python’s virtual environment tooling.

python -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -e .

Notes on usage and configuration

The server can run with two transports. The default is streamable HTTP. For an inline, local execution model, you can force stdio transport by setting an environment variable before starting Flemcee.

To use stdio transport, start Flemcee like this:

FLEMCEE_TRANSPORT=stdio python -m flemcee

Examples

You might automate common studio tasks by combining Flemcee with your MCP client. For instance, you can start playback, set tempo, or navigate patterns programmatically using the curated tools exposed at startup.

Available tools

fl_connect

Connects to the FL Studio environment so commands can be issued.

fl_disconnect

Disconnects from FL Studio.

fl_status

Retrieves the current status of FL Studio or a subset of its components.

fl_exec

Executes Python code inside FL Studio’s Python environment.

fl_eval

Evaluates a Python expression inside FL Studio’s Python environment.

fl_call

Calls a specific FL Studio API target with arguments.

fl_catalog

Looks up functions/modules in the FL Studio API catalog and can include docs.

fl_symbol_lookup

Looks up a symbol in the FL Studio API catalog.

fl_symbol_resolve

Resolves a target symbol to its concrete implementation.

fl_session_summary

Returns a summary of the current FL Studio session (curated tool).

fl_transport_play

Starts playback in FL Studio (curated tool).

fl_transport_stop

Stops playback in FL Studio (curated tool).

fl_transport_record_toggle

Toggles record mode for transport (curated tool).

fl_transport_set_loop_mode

Sets the loop mode for playback (curated tool).

fl_transport_set_song_pos

Sets the current song position (curated tool).

fl_project_set_tempo

Sets the project tempo in BPM (curated tool).

fl_channel_list

Lists channels, with optional global indexing (curated tool).

fl_channel_set

Configures a channel's properties such as name, color, volume, and pan (curated tool).

fl_channel_select

Selects a channel (curated tool).

fl_pattern_list

Lists patterns in the project (curated tool).

fl_pattern_select

Selects a pattern (curated tool).

fl_pattern_rename

Renames a pattern (curated tool).

fl_sequencer_set_steps

Sets steps in the sequencer grid (curated tool).

fl_sequencer_clear_steps

Clears steps in the sequencer grid (curated tool).

fl_mixer_list_tracks

Lists tracks in the mixer (curated tool).

fl_mixer_set_track

Sets track properties like volume, pan, mute, solo, and arm (curated tool).

fl_mixer_route

Creates or updates the routing between tracks or effects (curated tool).

fl_plugin_list_params

Lists plugin parameters (curated tool).

fl_plugin_set_param

Sets a plugin parameter value (curated tool).

fl_plugin_next_preset

Cycles plugin presets (curated tool).

fl_beat_make_hiphop

Generates a hip hop beat using specified drum channels (curated tool).

fl_mix_balance_peaks

Adjusts mix balance to target peak levels (curated tool).

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational