- Home
- MCP servers
- FL Studio
FL Studio
- python
0
GitHub Stars
python
Language
7 months ago
First Indexed
3 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": {
"karl-andres-fl-studio-mcp": {
"command": "uv",
"args": [
"run",
"fl-studio-mcp"
]
}
}
}You can control FL Studio from your AI assistant through the FL Studio MCP Server. This server exposes a comprehensive set of actions for transport, mixer, channels, plugins, and piano roll, enabling real-time collaboration between your workflows and FL Studio via MIDI and scripted commands.
How to use
Connect your MCP client to the FL Studio MCP Server to start issuing commands. You can control playback (play, stop, pause), adjust position and speed, and toggle recording. You can manipulate mixer settings, channel properties, and plugin parameters. The Piano Roll tools let you add notes and chords with precise timing, delete specific notes, or clear the entire piano roll. Real-time note triggering and grid-based step control are supported for efficient pattern creation.
How to install
Prerequisites you need before running the server are a compatible FL Studio installation, Python, and a way to run the MCP server locally.
uv sync
# Or install in editable mode via Python
pip install -e .
# Start the MCP server after installation
uv run fl-studio-mcp
# Alternatively, run the built-in startup command if you are not using uv
fl-studio-mcp
Configuration and usage notes
Use the MCP client to connect to the server via the standard stdio command. The server is designed to be run locally and to communicate with FL Studio through MIDI ports and the Piano Roll script. Ensure FL Studio is running and the MIDI input is configured to receive from the virtual MIDI port you enable (IAC Driver on macOS, loopMIDI on Windows).
Troubleshooting
If you see not connected or timeout errors, verify that FL Studio is running and that the MCP controller is enabled in the MIDI settings. On macOS, ensure the IAC Driver is online; on Windows, confirm loopMIDI ports are active. Restart FL Studio after enabling the controller for best results.
Piano Roll workflow
Open FL Studio and select a channel, then open the Piano Roll. The first time you use Piano Roll automation, manually trigger the ComposeWithLLM script in FL Studio to initialize the integration. After that, MCP tools will automatically trigger the script as needed to modify the piano roll.
Security and notes
This server relies on local MIDI ports and scripting APIs provided by FL Studio. Do not expose MIDI ports or the server to untrusted clients. Ensure you only enable access to trusted MCP clients in your environment.
Example usage patterns
Adjust a mixer track, then insert a simple melody into the piano roll, followed by triggering a plugin parameter change all within a single session.
Available tools
fl_connect
Connect/reconnect to FL Studio
fl_connection_status
Get connection status
fl_play
Start/pause playback
fl_stop
Stop playback
fl_record
Toggle recording
fl_get_transport_status
Get playback/recording state
fl_set_song_position
Set playback position
fl_get_song_length
Get song duration
fl_set_loop_mode
Switch between pattern/song mode
fl_set_playback_speed
Adjust playback speed (0.25x-4x)
fl_get_mixer_track_count
Get number of mixer tracks
fl_get_mixer_track_info
Get track details
fl_get_all_mixer_tracks
List all tracks
fl_set_track_volume
Set track volume
fl_set_track_pan
Set track pan
fl_mute_track
Mute/unmute track
fl_solo_track
Solo/unsolo track
fl_arm_track
Arm track for recording
fl_set_track_name
Rename track
fl_set_track_color
Set track color
fl_set_stereo_separation
Adjust stereo width
fl_get_channel_count
Get number of channels
fl_get_channel_info
Get channel details
fl_get_all_channels
List all channels
fl_get_selected_channel
Get selected channel
fl_select_channel
Select/deselect channel
fl_select_one_channel
Select channel exclusively
fl_trigger_note
Trigger MIDI note (real-time)
fl_set_channel_volume
Set channel volume
fl_set_channel_pan
Set channel pan
fl_mute_channel
Mute/unmute channel
fl_solo_channel
Solo/unsolo channel
fl_set_channel_name
Rename channel
fl_set_channel_color
Set channel color
fl_route_channel_to_mixer
Route to mixer track
fl_get_grid_bit
Get step sequencer step
fl_set_grid_bit
Set step sequencer step
fl_get_step_sequence
Get full pattern
fl_set_step_sequence
Set full pattern
fl_is_plugin_valid
Check if plugin exists
fl_get_plugin_name
Get plugin name
fl_get_plugin_param_count
Get parameter count
fl_get_plugin_params
List all parameters
fl_get_plugin_param_value
Get parameter value
fl_set_plugin_param_value
Set parameter value
fl_get_preset_count
Get preset count
fl_next_preset
Next preset
fl_prev_preset
Previous preset
fl_get_plugin_color
Get plugin color
fl_send_notes
Add notes to the piano roll
fl_send_chord
Add a chord (multiple notes at same time)
fl_delete_notes
Delete specific notes
fl_clear_piano_roll
Clear all notes
fl_get_piano_roll_state
Read current piano roll notes
fl_trigger_script
Manually trigger the FL Studio script
fl_get_piano_roll_info
Get piano roll system info