fl-mcp
Local MCP server for FL Studio on macOS, enabling control of projects, transport, mixer, plugins, automation, and piano roll operations.
README
fl-mcp
Local MCP server for FL Studio 2026 on macOS. Requires Node 22+.
Setup
git clone https://github.com/ae5n/fl-mcp.git
cd fl-mcp
npm install
npm run setup
On macOS, open Audio MIDI Setup → Window → Show MIDI Studio → IAC Driver,
enable Device is online, and ensure Bus 1 and Bus 2 exist.
Then open FL Studio → Options → MIDI settings:
Bus 1output: Port11Bus 2output: enable, Port10Bus 1input: selectfl-mcp, enable, Port10Bus 2input: disable
Add the config printed by setup, or register the server with your client:
# Claude Code
claude mcp add fl-mcp -- node /absolute/path/to/fl-mcp/dist/mcp/main.js
# Codex
codex mcp add fl-mcp -- node /absolute/path/to/fl-mcp/dist/mcp/main.js
In System Settings → Privacy & Security → Accessibility, allow the app that launches fl-mcp (Codex, Claude, or Terminal), then restart that app.
Open the target Piano Roll and run Tools → Scripts → fl-mcp bridge once. Keep that Piano Roll open for exact note operations.
Tools
| Area | MCP tools | Operations |
|---|---|---|
| Session | fl_session_probe, fl_session_revision |
Capabilities and stale-write revision |
| Project | fl_project_state, fl_tempo_set |
Project context and tempo |
| Transport | fl_transport_state, fl_transport_control, fl_transport_seek |
Play, stop, record, and seek |
| Channels | fl_channel_list, fl_channel_set |
Routing, levels, pan, mute, and selection |
| Patterns | fl_pattern_list, fl_pattern_select |
List and select patterns |
| Mixer | fl_mixer_list, fl_mixer_set |
Levels, pan, mute, and names |
| Playlist | fl_playlist_tracks |
Read track names |
| Plugins | fl_plugin_instances, fl_plugin_parameters, fl_plugin_parameter_set |
List, search, read, and set parameters |
| Automation | fl_automation_parameter_event |
Send resolved parameter events |
| Piano Roll | fl_pianoroll_snapshot, fl_pianoroll_patch, fl_pianoroll_replace |
Page, add, edit, delete, or replace notes and markers |
Requests are typed and serialized; tools cannot execute arbitrary Python or FL event IDs. Mutations use stale-state checks and readback.
Automation storage requires FL to record Notes and automation; the first record command may open FL's recording prompt. Playlist tracks are read-only; FL does not expose Automation Clip or Playlist clip CRUD.
Transport
MCP stdio → user-only local socket → resident companion
├─ SysEx → FL controller
└─ atomic files → Piano Roll bridge
The companion owns the MIDI ports and serializes writes. Piano Roll exchange stays inside FL's script directory and does not use the clipboard.
Development
npm run build
npm test
npm run typecheck
After changing source code, run npm run build and restart Codex or Claude.
Run npm run setup instead when a script under fl/ changes.
License: MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.