🎹 FL Studio MCP服务器
   
FL Studio(Fruity Loops)的模型上下文协议(MCP)服务器,使克劳德等人工智能助手能够通过自然语言创作音乐和控制FL Studio。
✨ 特性
- FL Studio API通过Flapi集成:控制传输、混音器、通道、图案等
- MIDI接口:通过loopMIDI向FL Studio发送MIDI音符和消息
- MCP协议:人工智能助手的标准接口(Claude等)
- 双重通信:同时使用Flapi(用于API调用)和MIDI(用于音符/CC)
- 类型安全:完整的类型提示和验证
🏗️ 建筑
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Claude Desktop │────▶│ MCP Server │────▶│ FL Studio │
│ (AI Assistant) │ │ (External) │ │ (Internal) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ ▲
│ │
┌──────┴──────┐ │
│ │ │
▼ ▼ │
┌──────────┐ ┌────────────┐ │
│ Flapi │ │ MIDI │ │
│ Bridge │ │ Interface │ │
└────┬─────┘ └─────┬──────┘ │
│ │ │
│ MIDI │ │
└─────────────┴──────────────────┘- 弗拉皮大桥:通过MIDI将FL Studio API调用(传输、混音器、通道)转发到FL Studio的内部Python
- MIDI接口:将MIDI音符、CC、程序更改直接发送到FL Studio
📦 安装
先决条件
- Python 3.10+
- 水果音乐制作软件 (20.7+版本支持MIDI脚本)
- loopMIDI (Windows)- 下载
快速开始
# Install the MCP server
pip install fruityloops-mcp
# Install Flapi for FL Studio API access
pip install flapi
flapi install虚拟MIDI端口设置(Windows)
- 安装 loopMIDI
- 创建这些虚拟MIDI端口:
- FLStudio_MIDI -用于向FL Studio发送MIDI音符/CC - Flapi Request -对于Flapi API请求 - Flapi Response -对于Flapi API响应
FL工作室配置
对于MIDI控制:
- 开放式FL工作室→ 选项→ MIDI设置
- 启用
FLStudio_MIDI端口作为输入 - 将MIDI输入路由到所需的通道/乐器
对于Flapi(API访问):
- 跑
flapi install安装Flapi脚本 - 重新启动FL工作室
- 转到选项→ MIDI设置
- 在 输出 部分,为分配唯一的端口号
Flapi Request和Flapi Response - 在 输入 部分,为相应的输入设置相同的端口号
- 分配
Flapi Request输入到“Flapi Request”脚本 - 分配
Flapi Response输入到“Flapi响应”脚本
🚀 用法
使用克劳德桌面
添加到您的Claude Desktop配置(%APPDATA%\Claude\claude_desktop_config.json 在Windows上):
{
"mcpServers": {
"fruityloops": {
"command": "uvx",
"args": ["fruityloops-mcp"]
}
}
}或者使用pip:
{
"mcpServers": {
"fruityloops": {
"command": "fruityloops-mcp"
}
}
}克劳德的第一步
- 连接到FL工作室:
"Connect to FL Studio via Flapi"- 检查连接:
"What's the Flapi connection status?"- 开始作曲:
"Start playback in FL Studio"
"Set the tempo to 120 BPM"
"Play a C major chord"🎛️ 可用工具
Flapi连接
flapi_connect-通过Flapi连接到FL工作室flapi_disconnect-断开与Flapi的连接flapi_status-检查连接状态
MIDI工具
midi_connect-连接到MIDI端口midi_disconnect-断开与MIDI端口的连接midi_list_ports-列出可用的MIDI端口midi_send_note-发送带有持续时间的便条midi_send_note_on/midi_send_note_off-备注消息midi_send_cc-控制更改消息midi_send_program_change-程序更改midi_send_pitch_bend-俯仰弯曲
运输控制
transport_start/transport_stop-播放控制transport_record-切换录制transport_get_bpm/transport_set_bpm-温度控制transport_get_song_pos/transport_set_song_pos-位置控制
混音器控制
mixer_get_track_volume/mixer_set_track_volumemixer_get_track_name/mixer_set_track_namemixer_get_track_pan/mixer_set_track_panmixer_mute_track/mixer_solo_track
通道控制
channels_channel_count-获取频道数量channels_get_channel_name-获取频道名称channels_set_channel_volume-设置音量channels_mute_channel-静音/取消静音channels_get_channel_color/channels_set_channel_color
图案控制
patterns_pattern_count-获取图案数量patterns_get_pattern_name/patterns_set_pattern_namepatterns_get_pattern_lengthpatterns_jump_to_pattern
播放列表控件
playlist_get_track_name/playlist_set_track_name
一般控制
general_get_version-FL工作室版本general_get_project_titlegeneral_save_projectgeneral_undo
用户界面控件
ui_show_window-展示FL Studio窗口(混音器、通道架、钢琴卷轴等)ui_get_visible-检查车窗能见度
🛠️ 发展
设置
# Clone repository
git clone https://github.com/quinnjr/fruityloops-mcp.git
cd fruityloops-mcp
# Install dependencies
uv sync --all-extras
# Install git hooks
./install-hooks.ps1 # On Windows
./install-hooks.sh # On Unix/macOS测试
# Run tests
uv run pytest
# Run with coverage
uv run pytest --cov
# Run linting
uv run ruff check .
# Run formatting
uv run ruff format .🐛 故障排除
Flapi连接问题
- “Flapi不可用”:运行
pip install flapi - “连接失败”:
- 确保loopMIDI端口 Flapi Request 和 Flapi Response 存在 - 安装Flapi后重新启动FL Studio - 检查FL Studio MIDI设置是否配置正确
- “FL Studio连接测试失败”:
- 验证FL Studio是否正在运行 - 检查Flapi脚本是否已加载(在MIDI脚本面板中查找)
MIDI问题
- “未找到MIDI端口”:创建
FLStudio_MIDIloopMIDI中的端口 - “发送MIDI失败”:确保首先使用连接MIDI端口
midi_connect - 没有声音:检查FL Studio是否启用了MIDI端口并将其路由到乐器
📖 文档
🤝 贡献
我们欢迎捐款!请看 贡献.md 作为指导方针。
📜 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
版权所有(c)2025约瑟夫·奎因
🙏 致谢
- 弗拉皮 由Maddy Guthridge-FL工作室遥控器
- FL Studio Python API
- 模型上下文协议
- loopMIDI 托拜厄斯·埃里克森
______________________________________________________________________
由...制作❤️ FL工作室和人工智能社区
