Skip to main content
Glama
Boyan253

FL Studio 2025 AI Bridge

by Boyan253

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FLMCP_MIDI_PORTNoName of the loopMIDI port used for MIDI-wake mechanism.loopMIDI
FLMCP_TRANSPORTNoTransport mode for FL Studio bridge: 'file' (recommended for FL Studio 2025) or default socket-based.file

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
fl_pingA

Report health of BOTH bridges.

Returns: { "midi_bridge": {"online": bool, ...}, "piano_roll": {"installed": bool, ...}, "available_capabilities": [...], }

fl_reconnectA

Drop and reopen the TCP connection to the MIDI bridge.

fl_bridge_infoA

Detailed info about the MIDI bridge (fails if it's offline).

fl_call_rawB

Escape hatch: invoke any action the MIDI bridge accepts with arbitrary params.

transport_playA

Start or toggle playback (FL Studio's Play button).

transport_stopA

Stop playback.

transport_recordA

Toggle record arm state.

transport_statusA

Get is_playing, is_recording, position, loop mode, tempo, signature.

transport_set_positionC

Seek to a specific position in the song.

transport_song_lengthA

Return song length in ticks, seconds, ms, bars, steps.

transport_set_loop_modeB

Set FL Studio's song/pattern loop mode.

transport_set_playback_speedA

Set the playback speed multiplier (0.25..4.0).

transport_set_tempoB

Set the project tempo in BPM. Uses processRECEvent for proper undo history.

transport_tap_tempoA

Send a tap-tempo event (accumulates to set BPM).

transport_set_time_signatureB

Set project time signature (e.g. 4/4, 3/4, 7/8).

transport_toggle_metronomeA

Toggle metronome on/off.

transport_toggle_countdown_before_recordingB

Toggle 'countdown before recording'.

transport_jogA

Nudge playhead by steps 16th-notes (negative = backward).

pattern_countB

Return total pattern count.

pattern_currentA

Return index + name of currently selected pattern.

pattern_listA

Return list of all patterns: [{index, name, color, length}].

pattern_selectA

Jump to pattern by index (1-based in FL).

pattern_createC

Create a new empty pattern. Returns {index, name}.

pattern_rename

Rename an existing pattern.

pattern_set_color

Set pattern color. Accepts '#RRGGBB' or 'rgb(r,g,b)'.

pattern_cloneC

Clone a pattern (copy all notes & channel grid bits).

pattern_deleteC

Delete a pattern by index.

pattern_set_lengthC

Set pattern length in bars.

pattern_find_by_nameA

Find a pattern by exact name (case-insensitive). Returns {index, name} or null.

pattern_jump_to_nextB

Select the next pattern in the list.

pattern_jump_to_previousA

Select the previous pattern in the list.

channel_countA

Total channel count (global = across all groups).

channel_infoB

Detailed info on one channel: name/volume/pan/pitch/color/mute/solo/fx_route/type.

channel_allB

List of all channels with basic info.

channel_selectedA

Return currently selected channel (or null).

channel_selectC

Select channel (exclusive=True deselects others).

channel_set_volumeB

Set channel volume (0.0..1.0, where 0.78 ≈ 0 dB).

channel_set_panB

Set channel pan (-1.0..1.0).

channel_set_pitchB

Set channel pitch offset in semitones (-120..120).

channel_muteB

Mute / unmute / toggle (None = toggle).

channel_soloC

Solo / unsolo / toggle (None = toggle).

channel_set_nameB

Rename a channel.

channel_set_colorA

Set channel color. Accepts '#RRGGBB' or 'rgb(r,g,b)'.

channel_route_to_mixerC

Route a channel to a given mixer insert track.

channel_trigger_noteB

Trigger a one-shot MIDI note on the channel (live preview, not recorded).

channel_get_grid_bitA

Read a single step-sequencer bit (position is 0-based step within the pattern).

channel_set_grid_bitC

Set a single step-sequencer bit.

channel_get_step_sequenceA

Read the full step sequence for a channel (optionally for a specific pattern).

channel_set_step_sequenceC

Overwrite step sequence. steps is a list of 0/1 ints (any length up to pattern length).

channel_clear_step_sequenceC

Clear all step-sequencer bits for the channel (in the current or specified pattern).

channel_quick_quantizeC

Quantize the channel's notes in the current pattern.

mixer_countA

Number of mixer tracks (incl master @ index 0).

mixer_track_infoB

Detailed info on a mixer track (name, vol, pan, mute, solo, arm, color, stereosep, sends, fx slots).

mixer_all_tracksD

List of all mixer tracks.

mixer_set_volumeB

Set mixer track volume (0.0..1.0).

mixer_set_panA

Set mixer track pan (-1.0..1.0).

mixer_muteA

Mute / unmute / toggle (None = toggle).

mixer_soloC

Solo / unsolo / toggle.

mixer_armC

Arm track for recording.

mixer_set_nameB

Rename a mixer track.

mixer_set_colorB

Set mixer track color ('#RRGGBB' or 'rgb(r,g,b)').

mixer_set_stereo_separationA

Set mixer track stereo separation (-1.0..1.0).

mixer_set_send_levelB

Set send level from one mixer track to another (0..1).

mixer_routeB

Enable or disable a mixer route (send) between two tracks.

mixer_fx_slotsA

List plugin IDs in the 10 FX slots of a mixer track (-1 = empty).

mixer_selectC

Focus / select a mixer track.

mixer_get_eqB

Return 3-band mixer EQ (gains + frequencies).

mixer_set_eq_bandA

Set one band of the mixer EQ. band=0|1|2 (low/mid/high). gain -1..1, freq 0..1 (normalised).

mixer_link_to_channelC

Link a channel to a mixer track. mode='replace'|'add'.

plugin_is_validC

Check if a plugin slot has a valid plugin loaded.

plugin_nameD

Plugin display name.

plugin_param_countC

Return number of automatable parameters.

plugin_paramsC

List parameters (paginated): [{idx, name, value, value_string}].

plugin_get_paramC

Get value of a single parameter.

plugin_set_paramC

Set a single parameter (0.0..1.0 normalised).

plugin_find_paramC

Find a parameter by substring (case-insensitive).

plugin_preset_countC

Number of built-in presets for plugin.

plugin_next_presetD

Advance to the next preset.

plugin_prev_presetC

Go back to the previous preset.

plugin_set_presetC

Load preset by numeric index.

plugin_show_editorC

Show/hide the plugin editor window (None = toggle).

plugin_list_mixer_trackA

List all loaded plugins in every FX slot of a mixer track.

playlist_track_countC

Playlist track count.

playlist_track_infoC

Info on a playlist track: name, color, mute, solo, height, group.

playlist_all_tracksC

List of all playlist tracks.

playlist_set_track_nameC

Rename a playlist track.

playlist_set_track_colorB

Set playlist track color ('#RRGGBB').

playlist_mute_trackC

Mute/unmute a playlist track.

playlist_solo_trackC

Solo a playlist track.

playlist_list_clipsA

List all clips in the playlist (optionally filter to one track).

playlist_place_patternC

Place a pattern clip on a playlist track at a given bar position.

playlist_delete_clipB

Delete the clip on a track starting at the given bar position.

playlist_refreshA

Force playlist repaint (use after bulk edits).

playlist_list_markersA

Return all timeline markers: [{pos_bars, name, mode}].

playlist_add_markerC

Add a playlist marker.

playlist_delete_markerC

Remove a playlist marker by index.

arrangement_currentA

Return current arrangement index + name.

arrangement_listA

List all arrangements.

arrangement_selectC

Switch to a different arrangement.

arrangement_jump_markerA

Jump playhead to next (+1) or previous (-1) marker within current arrangement.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
statusBridge + transport quick status.
projectFull project metadata: tempo, signature, channels, mixer, patterns, selection.
transportLive transport state (is_playing, position, tempo, loop mode).
channelsFull channel rack as JSON.
mixerAll mixer tracks as JSON.
patternsAll patterns in the project.
playlistPlaylist tracks + clips.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Boyan253/fl-studio-2025-ai-bridge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server