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

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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