Skip to main content
Glama

FL Studio MCP Server

Сервер MCP (Model Context Protocol), который позволяет ИИ-ассистентам управлять FL Studio через MIDI-соединение и скрипты Piano Roll.

Краткая демонстрация

Не обращайте внимания на качество звука, мне пришлось записывать через микрофон, так как Apple не позволяла записать системный звук lol

https://github.com/user-attachments/assets/d4fc668f-9fe5-4ab4-9f18-76cd661029c6

Оригинальный звук

Если вы хотите послушать звук в лучшем качестве

https://github.com/user-attachments/assets/c2b1a5e7-1640-41fa-82bc-18ca7cbae9e8

Функции

Управление транспортом

  • Воспроизведение, пауза, остановка

  • Переключение записи

  • Установка позиции воспроизведения

  • Получение длины и позиции композиции

  • Управление режимом зацикливания (паттерн/песня)

  • Регулировка скорости воспроизведения

Управление микшером

  • Получение/установка громкости и панорамы трека

  • Отключение звука (mute)/соло для треков

  • Активация треков для записи

  • Установка названий и цветов треков

  • Управление стереобазой

Управление Channel Rack

  • Список всех каналов

  • Получение/установка свойств канала (громкость, панорама, название, цвет)

  • Отключение звука (mute)/соло для каналов

  • Маршрутизация каналов на треки микшера

  • Запуск MIDI-нот в реальном времени

  • Управление пошаговым секвенсором (получение/установка битов сетки)

Управление плагинами

  • Список параметров плагина

  • Получение/установка значений параметров

  • Навигация по пресетам (следующий/предыдущий)

  • Запрос информации о плагине

Управление Piano Roll

  • Добавление нот в Piano Roll с точным таймингом

  • Добавление аккордов одной командой

  • Удаление конкретных нот по MIDI-номеру и времени

  • Очистка всех нот в Piano Roll

  • Чтение состояния Piano Roll для просмотра всех существующих нот

  • Автоматический запуск через сочетание клавиш (Cmd+Opt+Y на macOS, Ctrl+Alt+Y на Windows)

Related MCP server: FL Studio MCP Server

Важные ограничения

Невозможно загружать плагины

API скриптов FL Studio не поддерживает загрузку новых VST/AU плагинов. Вы можете управлять только параметрами тех плагинов, которые уже загружены в ваш проект.

Невозможно создавать паттерны

Нет API для программного создания новых паттернов. Вы можете работать только с существующими паттернами.

Требования

  • FL Studio 20.7+ (API для MIDI-контроллеров)

  • Python 3.10+

  • macOS или Windows

    • macOS: IAC Driver (встроенный, требует включения)

    • Windows: loopMIDI

Быстрая установка

Самый простой способ установки — использование предоставленного скрипта настройки:

# Clone the repository
git clone https://github.com/karl-andres/fl-studio-mcp.git
cd fl-studio-mcp

# Run the one-command installer
./install.sh

Это действие:

  1. Установит uv, если он отсутствует

  2. Установит зависимости Python

  3. Проведет вас через процесс включения виртуальных MIDI-портов (IAC Driver на Mac)

  4. Установит скрипт MIDI-контроллера для FL Studio

  5. Установит скрипт Piano Roll (ComposeWithLLM)

  6. Автоматически настроит Claude Desktop или Claude Code

Ручная установка

1. Установка зависимостей Python

# Using uv (recommended)
uv sync

# Or using pip
pip install -e .

2. Включение виртуальных MIDI-портов

macOS (IAC Driver)

  1. Откройте Настройка Audio-MIDI (найдите через Spotlight)

  2. Нажмите Cmd+2 или перейдите в Окно > Показать MIDI-студию

  3. Дважды щелкните по IAC Driver

  4. Установите флажок "Устройство включено"

  5. Нажмите Применить

Windows (loopMIDI)

  1. Скачайте и установите loopMIDI

  2. Создайте виртуальный порт (любое имя подойдет)

  3. Оставьте loopMIDI запущенным во время работы с FL Studio

3. Установка скриптов FL Studio

Скопируйте скрипт контроллера в папку Hardware в FL Studio:

# macOS
mkdir -p ~/Documents/Image-Line/FL\ Studio/Settings/Hardware/FLStudioMCP
cp fl_controller/device_FLStudioMCP.py ~/Documents/Image-Line/FL\ Studio/Settings/Hardware/FLStudioMCP/

# Windows
mkdir "%USERPROFILE%\Documents\Image-Line\FL Studio\Settings\Hardware\FLStudioMCP"
copy fl_controller\device_FLStudioMCP.py "%USERPROFILE%\Documents\Image-Line\FL Studio\Settings\Hardware\FLStudioMCP\"

Скопируйте скрипт Piano Roll:

# macOS
cp scripts/ComposeWithLLM.pyscript ~/Documents/Image-Line/FL\ Studio/Settings/Piano\ roll\ scripts/

# Windows
copy scripts\ComposeWithLLM.pyscript "%USERPROFILE%\Documents\Image-Line\FL Studio\Settings\Piano roll scripts\"

4. Настройка FL Studio

  1. Перезапустите FL Studio (если она запущена)

  2. Перейдите в Options > MIDI Settings

  3. В разделе Input найдите ваш виртуальный MIDI-порт (например, "IAC Driver Bus 1")

  4. Установите Controller type на FLStudioMCP

  5. Включите порт (нажмите, чтобы выделить его)

5. Настройка Claude

Добавьте в конфигурацию Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json на macOS):

{
  "mcpServers": {
    "fl-studio": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/fl-studio-mcp", "fl-studio-mcp"]
    }
  }
}

Или для Claude Code добавьте в настройки MCP.

Использование

Ручной запуск сервера

# Using uv
uv run fl-studio-mcp

# Or after installation
fl-studio-mcp

Рабочий процесс с Piano Roll

  1. Откройте FL Studio и выберите канал

  2. Откройте Piano Roll (F7 или двойной клик по каналу)

  3. В первый раз вручную запустите скрипт: Tools > Scripting > ComposeWithLLM

  4. После этого инструменты MCP будут автоматически запускать скрипт

Доступные инструменты

Соединение

Инструмент

Описание

fl_connect

Подключение/переподключение к FL Studio

fl_connection_status

Получение статуса соединения

Транспорт

Инструмент

Описание

fl_play

Запуск/пауза воспроизведения

fl_stop

Остановка воспроизведения

fl_record

Переключение записи

fl_get_transport_status

Получение состояния воспроизведения/записи

fl_set_song_position

Установка позиции воспроизведения

fl_get_song_length

Получение длительности композиции

fl_set_loop_mode

Переключение между режимом паттерна/песни

fl_set_playback_speed

Регулировка скорости воспроизведения (0.25x-4x)

Микшер

Инструмент

Описание

fl_get_mixer_track_count

Получение количества треков микшера

fl_get_mixer_track_info

Получение информации о треке

fl_get_all_mixer_tracks

Список всех треков

fl_set_track_volume

Установка громкости трека

fl_set_track_pan

Установка панорамы трека

fl_mute_track

Отключение/включение звука трека

fl_solo_track

Соло/отмена соло трека

fl_arm_track

Активация трека для записи

fl_set_track_name

Переименование трека

fl_set_track_color

Установка цвета трека

fl_set_stereo_separation

Регулировка стереобазы

Каналы

Инструмент

Описание

fl_get_channel_count

Получение количества каналов

fl_get_channel_info

Получение информации о канале

fl_get_all_channels

Список всех каналов

fl_get_selected_channel

Получение выбранного канала

fl_select_channel

Выбор/отмена выбора канала

fl_select_one_channel

Выбор канала эксклюзивно

fl_trigger_note

Запуск MIDI-ноты (в реальном времени)

fl_set_channel_volume

Установка громкости канала

fl_set_channel_pan

Установка панорамы канала

fl_mute_channel

Отключение/включение звука канала

fl_solo_channel

Соло/отмена соло канала

fl_set_channel_name

Переименование канала

fl_set_channel_color

Установка цвета канала

fl_route_channel_to_mixer

Маршрутизация на трек микшера

fl_get_grid_bit

Получение шага секвенсора

fl_set_grid_bit

Установка шага секвенсора

fl_get_step_sequence

Получение полного паттерна

fl_set_step_sequence

Установка полного паттерна

Плагины

Инструмент

Описание

fl_is_plugin_valid

Проверка существования плагина

fl_get_plugin_name

Получение имени плагина

fl_get_plugin_param_count

Получение количества параметров

fl_get_plugin_params

Список всех параметров

fl_get_plugin_param_value

Получение значения параметра

fl_set_plugin_param_value

Установка значения параметра

fl_get_preset_count

Получение количества пресетов

fl_next_preset

Следующий пресет

fl_prev_preset

Предыдущий пресет

fl_get_plugin_color

Получение цвета плагина

Piano Roll

Инструмент

Описание

fl_send_notes

Добавление нот в Piano Roll

fl_send_chord

Добавление аккорда (несколько нот одновременно)

fl_delete_notes

Удаление конкретных нот

fl_clear_piano_roll

Очистка всех нот

fl_get_piano_roll_state

Чтение текущих нот Piano Roll

fl_trigger_script

Ручной запуск скрипта FL Studio

fl_get_piano_roll_info

Получение системной информации Piano Roll

fl_clear_request_queue

Отмена ожидающих изменений

Примеры рабочих процессов

Настройка микса

"Set the volume of mixer track 1 to 80% and pan it slightly left"

Создание барабанного паттерна

"Create a basic kick pattern on channel 0 with kicks on steps 0, 4, 8, and 12"

Добавление мелодии в Piano Roll

"Add a C major arpeggio starting at beat 0: C4, E4, G4, C5 - each note quarter duration"

Добавление аккордов

"Add a C major chord at beat 0, then F major at beat 2, then G major at beat 4"

Автоматизация параметров плагинов

"List the parameters of the plugin on channel 0 and set the filter cutoff to 50%"

Устранение неполадок

"Not connected to FL Studio"

  1. Убедитесь, что FL Studio запущена

  2. Проверьте, что контроллер FLStudioMCP включен в MIDI Settings

  3. На Mac убедитесь, что IAC Driver включен в Audio MIDI Setup

  4. На Windows убедитесь, что loopMIDI запущен

  5. Перезапустите FL Studio после включения контроллера

"Timeout waiting for FL Studio response"

  1. Убедитесь, что окно FL Studio активно

  2. Проверьте окно вывода скрипта в FL Studio (View > Script output)

  3. Убедитесь, что контроллер получает MIDI (проверьте активность в MIDI Settings)

Скрипт Piano Roll не запускается

  1. В первый раз: вручную запустите Tools > Scripting > ComposeWithLLM в FL Studio

  2. На macOS: предоставьте разрешения универсального доступа (Accessibility), если потребуется

  3. Убедитесь, что окно FL Studio активно при запуске

  4. Попробуйте нажать Cmd+Opt+Y (macOS) или Ctrl+Alt+Y (Windows) вручную

Нет доступных MIDI-портов

  • macOS: Включите IAC Driver в Audio MIDI Setup

  • Windows: Установите и запустите loopMIDI

Архитектура

Этот сервер MCP использует гибридный подход:

┌─────────────────┐     ┌─────────────────────────────────────────┐
│   MCP Client    │────▶│           FastMCP Server                │
│  (Claude, etc)  │     │                                         │
└─────────────────┘     │  ┌─────────────────┐  ┌──────────────┐  │
                        │  │ MIDI + JSON     │  │ Piano Roll   │  │
                        │  │ Tools           │  │ Tools (JSON) │  │
                        │  └────────┬────────┘  └──────┬───────┘  │
                        └───────────┼──────────────────┼──────────┘
                                    │                  │
                               MIDI + JSON        JSON Files +
                                    │              Keystroke
                                    ▼                  ▼
                        ┌─────────────────────────────────────────┐
                        │              FL Studio                   │
                        │  ┌──────────────┐  ┌──────────────────┐ │
                        │  │FLStudioMCP   │  │ Piano Roll Script│ │
                        │  │(MIDI Ctrl)   │  │ (ComposeWithLLM) │ │
                        │  └──────────────┘  └──────────────────┘ │
                        └─────────────────────────────────────────┘

Как это работает

  1. Транспорт/Микшер/Каналы/Плагины:

    • Сервер MCP записывает команду в JSON-файл

    • Отправляет MIDI-ноту запуска в FL Studio

    • Скрипт контроллера FL Studio считывает JSON, выполняет API, записывает ответ

    • Сервер MCP считывает ответ

  2. Piano Roll:

    • Сервер MCP записывает запросы нот в JSON-файл

    • Отправляет нажатие клавиш (Cmd+Opt+Y) для запуска скрипта FL Studio

    • Скрипт Piano Roll считывает JSON и изменяет ноты

Разработка

Предварительные требования

  • Python 3.10+

  • uv (рекомендуется)

Настройка

# Install all dependencies including dev extras
uv sync --dev

# Or with pip
pip install -e ".[dev]"

Доступные команды

Команда

Описание

uv run fl-studio-mcp

Запуск сервера MCP

uv run ruff check .

Линтинг кодовой базы

uv run ruff check --fix .

Линтинг и автоисправление

uv run pytest

Запуск тестов

Структура проекта

fl-studio-mcp/
├── fl_controller/
│   └── device_FLStudioMCP.py   # FL Studio MIDI controller script (runs inside FL Studio)
├── scripts/
│   ├── setup.sh                 # FL Studio script installer
│   ├── install_mcp_for_claude.sh # Claude config installer
│   └── ComposeWithLLM.pyscript  # Piano Roll script (runs inside FL Studio)
├── src/fl_studio_mcp/
│   ├── server.py                # FastMCP server entry point
│   ├── tools/                   # MCP tool implementations
│   │   ├── channels.py
│   │   ├── mixer.py
│   │   ├── piano_roll.py
│   │   ├── plugins.py
│   │   └── transport.py
│   └── utils/
│       ├── connection.py        # FL Studio connection wrapper
│       ├── fl_trigger.py        # Piano roll keystroke trigger
│       └── midi_connection.py   # MIDI + JSON communication layer
└── install.sh                   # One-command installer

Благодарности

Лицензия

MIT

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that connects AI assistants to FL Studio for music production via Virtual MIDI. It enables users to control transport, manage the mixer, write notes, and manipulate plugin parameters through natural language.
    1
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI assistants to control FL Studio on Windows through a local MCP server without cloud dependencies. Bridges MCP clients to FL Studio's Python scripting environment via file-based IPC for project management, transport control, and UI workflow automation.
    -
  • A
    license
    A
    quality
    C
    maintenance
    AI control for FL Studio via the Model Context Protocol — full in-DAW mixing (Mix Doctor diagnosis, gain staging, EQ/compression/reverb, reference matching), routing, and composition through Claude and any MCP client. 67 tools. Windows.
    67
    28
    MIT

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/karl-andres/fl-studio-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server