Skip to main content
Glama
synopsys0

PostFader V10 — FL Studio MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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_get_capabilitiesA

Report direct, partial, unavailable, and unvalidated integration paths.

fl_get_project_summaryA

Read project metadata, counts, dirty state, version, and transport state.

fl_get_transport_stateA

Read playback, recording, loop mode, position, and song length.

fl_get_selected_rangeC

Read raw endpoints and PPQ without claiming meter or rendering semantics.

fl_list_mixer_tracksA

List mixer tracks, current levels, selection state, and loaded effects.

fl_inspect_mixer_trackA

Read one track's state, effects, built-in EQ, and outgoing routes.

plugins_scan_loaded_pluginsA

Inventory loaded plug-ins without inserting or changing anything.

plugins_inspect_parameter_mapA

Read a bounded page of exposed parameters; never marks unknown controls safe.

plugins_scan_parametersA

De-pad a whole plug-in in one call; prefer this over paging a VST.

FL reports a padded maximum rather than a parameter count for VST plug-ins
-- often thousands of slots for a VST3 -- with the real controls sparse
inside it.
Paging that with `plugins_inspect_parameter_map` is about a thousand round
trips. This walks the range inside FL and returns only what is real, with
each control's display string, which is what actually identifies it.

Check `truncated` before treating the result as the whole plug-in.
plugins_atlas_searchB

Search bundled static plug-in knowledge without contacting FL Studio.

plugins_atlas_get_productB

Read one static Atlas product and its related descriptive records.

plugins_atlas_recommendB

Rank static plug-in choices or stock alternatives without changing FL.

plugins_atlas_inspect_loadedC

Match the target-aware live Track B inventory to static Atlas knowledge.

copilot_capture_readonly_inspectionB

Capture a compact project, mixer, and effect inspection report.

fl_set_write_modeA

Enable or disable writes for this bridge session without restarting FL.

This changes no project value and never persists the setting. Enabling is
refused unless `confirm_user_present` is literally true. The result is
verified with a fresh bridge handshake before it reports success.
fl_set_mixer_volumeA

Set one mixer fader and report the readback FL gave on a later tick.

fl_set_mixer_volume_dbC

Search FL's fader curve and prove the requested dB value on a later tick.

fl_set_mixer_panA

Set one mixer pan and report the readback FL gave on a later tick.

fl_set_mixer_muteA

Set one track's mute state and report the readback FL gave on a later tick.

fl_set_mixer_soloB

Set one mixer track's solo state and verify it on a later FL tick.

fl_set_mixer_armA

Set recording arm with one bounded toggle and later-tick readback.

fl_set_mixer_colorA

Set a mixer color, accepting FL-owned differences in the high byte.

fl_set_mixer_stereo_separationA

Set stereo separation and report FL's later-tick readback.

fl_select_mixer_trackB

Make one mixer track active and verify the active-track getter.

fl_set_track_eqA

Set gain and/or frequency on one built-in EQ band; at least one is required.

fl_set_mixer_nameA

Rename one mixer track.

An empty name is not a blank label: FL puts the track's default back
("Insert 8"), and the result says so via `restored_default`.
fl_set_mixer_sendA

Route one mixer track to another, or stop routing it there.

A stated state, never a toggle. Sending *to* Master needs no flag; only
sending *from* Master does. Set the amount with `fl_set_mixer_send_level`
afterwards -- this call only decides whether the route exists.
fl_set_mixer_send_levelA

Set how much of one track reaches another. 0.8 is unity, as on the fader.

The send must already exist; create it with `fl_set_mixer_send` first. FL
raises rather than reporting a level for a route that is not active, so
this is refused outright rather than written and reported unverified.
fl_set_plugin_param_displayA

Set a plug-in parameter using the units it displays, not a 0..1 guess.

Prefer this over `fl_set_plugin_param` for anything with real units.
Normalized 0..1 has no published mapping to ms, dB or Hz, and the curve
differs per control; this searches the control until its own readback
reports the number you asked for, so no curve is ever assumed.

Address the parameter by name where it has one ("Attack"), or by
what it displays where it does not ("Auto mode"). Run
`plugins_scan_parameters` first to see both.

Controls whose display is pure text -- "Chromatic", "Low Male" -- are
enumerations with no number to search on and are refused. Use
`fl_set_plugin_param_option`, which sets them by their option text and
also reports every option the control accepts.
fl_set_plugin_param_optionA

Set a parameter that shows words rather than numbers: Key, Scale, Input Type.

Use this where `fl_set_plugin_param_display` refuses. That tool searches on
a number, and an enumeration has none.

**This moves the control while it looks.** FL cannot report a control's
options, so the only way to find them is to walk the parameter across its
range and read what it displays. The requested label must exactly match an
option, ignoring case. If it does not exist, the original value is restored
before the error, and the error lists every option that was found.

The result carries `options` -- the whole enumeration, in order -- so one
call is also how you discover what a control accepts.
fl_set_plugin_paramA

Set one plug-in parameter; verified from FL's display string changing.

fl_apply_verified_batchB

Apply a closed-union batch after one session preflight, without replay.

fl_set_playingA

Set playback to an absolute state and verify it on a later FL idle tick.

fl_stopA

Stop playback, set normalized position to zero, and verify both fields.

fl_set_song_positionA

Set a stopped transport's absolute normalized playhead position.

fl_set_loop_modeA

Set Pattern or Song loop mode without exposing FL's toggle-only API.

fl_set_tempoA

Set project tempo while stopped and verify BPM on a later FL idle tick.

fl_set_recordingA

Set recording absolutely; FL's toggle is dispatched at most once.

fl_set_metronomeB

Set the metronome absolutely and prove the later UI state.

fl_set_precountA

Set recording precount absolutely and verify it on a later FL tick.

fl_set_time_signature_numeratorA

Set and prove beats per bar from FL's PPB/PPQ getter pair.

fl_get_project_historyA

Read undo/redo bounds, current history position, hint, and dirty state.

fl_undoA

Move to the previous absolute undo-history position and verify it.

fl_redoA

Move to the next absolute undo-history position and verify it.

fl_get_plugin_preset_countA

Read FL's authoritative preset count for one loaded plug-in.

plugins_list_presetsA

Read one deterministic preset page without changing the plug-in.

plugins_get_current_presetB

Read FL's current preset name and an index only when it is unique.

plugins_inspect_pad_mapA

Read generic pad, MIDI-note, color, empty, and mute observations.

fl_select_plugin_presetC

Navigate to an exact preset and require later-idle-tick identity readback.

fl_list_channelsA

List globally addressed channels, mix state, routing, and generator identity.

fl_list_patternsA

List pattern identity, length, current state, and empty/default status.

fl_find_empty_patternA

Find the first default-empty pattern without changing the current pattern.

fl_select_patternA

Select one pattern and verify FL's current-pattern getter.

fl_set_pattern_identityA

Set pattern name and/or color with per-field later-tick proof.

fl_set_pattern_lengthB

Set pattern length using Image-Line's API 39+ getter/setter pair.

fl_list_playlist_tracksA

List every one-based Playlist track and its controllable state.

fl_set_playlist_track_identityB

Set Playlist name and/or color with per-field later-tick proof.

fl_set_playlist_track_stateB

Set Playlist states; toggle-only selection is dispatched at most once.

fl_set_channel_mixA

Set channel volume, pan, and/or mute with per-field readback proof.

fl_set_channel_soloA

Set a global channel solo state and verify it on a later FL tick.

fl_set_channel_pitchA

Set normalized channel pitch and report normalized/semitone readback.

fl_select_channelB

Select one global channel exclusively and verify the complete selection.

fl_set_channel_identityA

Set a channel's name and/or color with per-field readback proof.

fl_route_channel_to_mixerB

Set one global channel's absolute mixer destination and verify it.

fl_get_step_sequenceB

Read an explicit current-pattern/channel grid and its conflict digest.

fl_set_step_sequenceA

Set absolute current-pattern cells only if the observed grid digest still matches.

fl_trigger_noteB

Audition a global channel with a bounded note-on/off dispatch receipt.

audio_analyze_fileA

Measure level, spectrum, dynamics, stereo, and optional pitch of one render.

audio_compare_filesB

Measure band deltas over the aligned, loudness-matched common overlap.

audio_analyze_maskingA

Measure per-band spectral overlap and vocal-minus-instrument level margins.

audio_find_recent_bouncesA

List the newest audio files in FL Studio's Rendered, Audio, and Projects folders.

mix_doctorA

Diagnose a real bounce with explicit policy thresholds and no mutation.

mix_reference_recommendationsA

Return bounded tonal review ranges only when alignment/readiness passes.

mix_masking_recommendationsA

Recommend bounded dynamic remediation from sample-synchronous stems.

mix_start_peak_watchB

Start a process-persistent sampled peak watch and return its first frame.

mix_get_peak_watchA

Read cumulative sampled peaks without stopping the watch.

mix_stop_peak_watchA

Stop one process-local watch and return its final aggregate.

mix_create_gain_stage_planA

Create, but do not apply, dB-fader changes from a peak watch.

mix_list_plugin_profilesB

List bundled parameter-role adapters and processing recipes.

mix_inspect_plugin_compatibilityA

Report which loaded effects have known parameter-role adapters.

mix_resolve_processing_intentA

Map an intent to loaded profiled controls without applying settings.

mix_create_planC

Store a session-bound closed-union plan; no project value changes.

mix_get_planB

Read one process-local reviewable plan.

mix_apply_planB

Apply a plan once through the verified batch kernel.

mix_finish_assessmentB

Run the end-to-end read-only finish assessment and stop at user export.

sound_selection_inventoryB

Read a compact loaded sound pool; Atlas-only products remain recommendations.

sound_selection_planA

Choose deterministic loaded-target assignments without changing FL or history.

sound_selection_getA

Look up one process-local palette without treating expiry as a server error.

sound_selection_create_variationC

Return a section delta instead of replacing the existing palette.

sound_selection_applyB

Apply exact presets in deterministic order and stop on unknown or unverified outcomes.

sound_selection_record_feedbackC

Update bounded local ranking feedback; silence is never inferred.

sound_selection_history_statusA

Report the local history path, health, schema, and bounded record counts.

sound_selection_history_resetA

Explicitly remove bounded local selection history; project state is unchanged.

postfader_creation_readinessB

Aggregate all detectable setup blockers without changing FL Studio.

processing_planA

Plan loaded-effect processing without enabling writes or mutating FL.

processing_apply_planA

Apply a semantic plan through one task-scoped verified Production Run.

postfader_validate_runA

Validate a bounded Production Run and current capabilities without changing FL.

postfader_execute_runA

Create and execute one task-scoped run until its plan completes or blocks.

postfader_list_runsA

Find recent runs after an MCP restart without executing any operations.

postfader_get_runA

Read a current or journaled run, its generated outputs and operation receipts.

postfader_continue_runA

Continue or replace only a run's unexecuted remainder after a follow-up.

postfader_stop_runA

Stop future run operations without undoing completed project changes.

postfader_review_startA

Start a bounded Review Session from one completed Production Run.

postfader_review_attach_assetsA

Validate and attach explicit audio assets without changing FL Studio.

postfader_review_evaluateA

Measure one bounce globally and by known section; apply zero FL mutations.

postfader_review_getA

Read a Review Session, retained evidence, status, and exact next action.

postfader_review_compareA

Compare before and after bounces without implying producer approval.

postfader_review_plan_revisionA

Compile and validate one bounded RevisionPlan before any project mutation.

postfader_delivery_manifestA

Build the final multi-dimensional delivery view without writing a file.

postfader_review_export_handoffB

Return one precise full-mix export request and only necessary stems.

postfader_review_apply_revisionA

Apply one bounded revision with one preflight and one write authorization.

postfader_review_record_feedbackA

Record explicit feedback; silence and measurements never grant approval.

postfader_review_stopA

Stop future review work without undoing completed project changes.

postfader_review_deleteA

Delete one Review Session record without touching audio or the FL project.

postfader_delivery_export_manifestA

Create local delivery files without overwriting or saving the FL project.

plugins_list_availableA

Read the native Add menu on macOS; opens/closes the menu and changes focus.

Reports exact loadable favorite names and instrument/effect kinds. This is menu availability, not proof of licensing or an exhaustive installed scan.

plugins_loadA

Load one macOS Add-menu plugin, then identify its new channel or effect slot.

Use plugins_list_available first. The task request authorizes the addition;
effect loading temporarily enables bridge writes only to select its track.
Unknown outcomes must be inspected before any new load attempt. Does not
save the project; Windows insertion is not implemented by this adapter.
piano_roll_bridgeC

Manage the one-time-per-process arm for FL's separate Piano Roll script runtime.

piano_roll_read_notesA

Open a score and read notes without changing notes or enabling musical writes.

Requires the existing one-time piano_roll_bridge setup. Follow next_offset
to page; selected_only may return an empty page with a non-null next_offset.
postfader_render_saved_projectA

Start FL's command-line WAV exporter in a separate process; saved state only.

postfader_render_get_jobB

Get render progress and decoded WAV evidence; completed also requires FL exit.

postfader_render_cancelB

Cancel monitoring and its owned process; on macOS the renderer may remain open.

piano_roll_write_notesC

Generate a typed Piano Roll script, select its target, and report hotkey dispatch honestly.

piano_roll_transformB

Quantize, transpose, humanize, duplicate, delete, or clear selected/all notes.

compose_chord_progressionA

Generate voice-led triads/sevenths without changing FL.

compose_melodyA

Generate a bounded scale-aware melody without changing FL.

compose_basslineA

Generate a bounded bass part from Roman harmony without changing FL.

compose_drumsA

Generate mapped kick/snare/hat patterns without changing FL.

midi_export_type1B

Write a standard Type-1 file, reopen it, parse it, and verify its digest/events.

audio_estimate_tempo_and_keyA

Estimate periodic tempo and global major/minor key with ranked ambiguity.

audio_transcribe_melodyB

Extract a reviewable note sequence from monophonic audio; it does not mutate FL.

arrangement_prepare_patternB

Find an FL-reported empty pattern, select it, name/color it, and set length.

arrangement_add_section_markersA

Add bar/beat section markers; name readback is available, marker-time readback is not.

automation_record_valueB

Dispatch one REC_MIDIController value while playback and recording are active.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
fl-capabilitiesLive verified capability report for the connected FL Studio bridge.
fl-statusCompact live connection, project, transport, and write-mode context.
fl-projectLive typed summary of the currently open FL Studio project.
fl-transportLive playback, recording, loop, position, and tempo state.
fl-mixerLive bounded mixer-track inventory without instantaneous peaks.
fl-channelsLive global Channel Rack inventory with stable target identities.
fl-patternsLive pattern inventory, current selection, identity, and length.
fl-pluginsLive inventory of loaded mixer effects and Channel Rack generators.

TDQS

B3.2/5.0

Scored across 134 tools

Disambiguation3/5

Many tools have clear distinct purposes, but there are overlapping tools such as fl_set_plugin_param, fl_set_plugin_param_display, fl_set_plugin_param_option, and fl_apply_verified_batch that may be confused. The postfader_* and mix_* groups also have many similar verbs (create, apply, plan) but are differentiated by domain prefixes.

Naming Consistency4/5

Most tools follow a consistent verb_noun or domain_verb_noun pattern (e.g., fl_set_mixer_volume, mix_create_plan). There are minor deviations like 'piano_roll_bridge' (noun_verb) and 'copilot_capture_readonly_inspection' (prefix_verb_adj_noun) but overall the pattern is predictable.

Tool Count2/5

The server has 134 tools, which is far beyond the typical well-scoped range. While the server covers multiple domains (FL Studio control, audio analysis, composition, rendering), the sheer number suggests insufficient consolidation and will likely overwhelm agents.

Completeness4/5

The server covers a wide range of workflows including project state, mixer control, plugin management, composition, audio analysis, and deliverable export. There are some potential gaps like missing explicit delete for certain entities (e.g., no fl_delete_channel or fl_delete_playlist_track), but the lifecycle coverage is generally strong given the domain breadth.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive