fl-mcp

fl-mcp

Local MCP server for FL Studio on macOS, enabling control of projects, transport, mixer, plugins, automation, and piano roll operations.

Category
Visit Server

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 1 output: Port 11
  • Bus 2 output: enable, Port 10
  • Bus 1 input: select fl-mcp, enable, Port 10
  • Bus 2 input: 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured