项目简介
FL Studio MCP服务器是一个基于Model Context Protocol (MCP) 实现的应用后端,它允许用户通过支持MCP协议的客户端(如Claude)与FL Studio音乐制作软件进行交互。该服务器通过定义一系列工具 (Tools),将FL Studio的功能暴露给LLM,使得用户可以使用自然语言指令,让LLM客户端调用这些工具,从而实现例如控制播放、设置速度、发送旋律等操作,进行音乐创作。
主要功能点
- 列出MIDI端口: 允许LLM客户端查询当前系统可用的MIDI输出端口。
- 播放/停止控制: 控制FL Studio的播放和停止。
- 速度控制: 设置FL Studio工程的速度 (BPM)。
- 发送旋律: 将音符数据以MIDI消息的形式发送到FL Studio,实现旋律的实时录制。
安装步骤
- 下载文件: 从GitHub仓库下载 'trigger.py' 文件和 'Test Controller' 文件夹。
- 放置Test Controller: 将 'Test Controller' 文件夹复制到 'Image-Line/FL Studio/Settings/Hardware' 目录下(请勿修改文件夹名称)。
- 安装Python包: 在 'trigger.py' 文件所在的目录下,激活您的Python环境(如果已按照MCP客户端教程设置了conda环境,请激活该环境),然后运行以下命令安装必要的Python包:
(请确保您已安装 'uv',通常在Claude MCP设置教程中会引导安装)uv pip install httpx mido python-rtmidi typing fastmcp FL-Studio-API-Stubs - 配置MIDI端口:
- Windows: 安装 LoopMIDI (https://www.tobias-erichsen.de/software/loopmidi.html),并添加一个MIDI端口。
- Mac: MIDI端口会自动设置。 打开 'trigger.py' 文件,找到 'output_port = mido.open_output('loopMIDI Port 2')' 这一行,将 ''loopMIDI Port 2'' 替换为您在LoopMIDI中创建的端口名称,或Mac上的默认端口名称。
服务器配置
要使MCP客户端(如Claude)连接到 FL Studio MCP服务器,您需要在客户端的MCP服务器配置中添加以下信息。以下是一个 JSON 格式的配置示例,您需要将其添加到您的 MCP 客户端配置文件中。
{ "servers": [ { "name": "flstudio", // MCP服务器名称,与trigger.py中 FastMCP("flstudio") 的名称一致 "command": "python", // 启动命令,这里使用 python 解释器 "args": [ "trigger.py" // 启动参数,指定 trigger.py 文件路径 (如果客户端与trigger.py在同一目录,则只需文件名) ] } ] }
配置参数说明:
- '"name"': 服务器名称,必须与 'trigger.py' 中 'FastMCP("flstudio")' 初始化的名称 '"flstudio"' 保持一致。
- '"command"': 启动服务器的命令。由于 'trigger.py' 是 Python 脚本,这里使用 'python' 命令来运行。请确保您的系统环境变量中 'python' 指向正确的 Python 解释器。
- '"args"': 启动命令的参数列表。这里指定要运行的脚本文件 'trigger.py'。如果您的客户端配置文件和 'trigger.py' 脚本在同一目录下,则只需写文件名 '"trigger.py"'。如果不在同一目录,请提供 'trigger.py' 的完整或相对路径。
基本使用方法
- 启动服务器: 无需手动启动 'trigger.py' 服务器。当您在MCP客户端(如Claude)中首次尝试调用 'flstudio' 服务器提供的工具时,客户端会自动根据您在配置文件中提供的 "command" 和 "args" 启动 'trigger.py' 脚本。
- 连接到FL Studio: 确保FL Studio已打开,并且您已按照安装步骤配置了 MIDI 输入(将 MIDI 输入设备的控制器类型设置为 "Test Controller")。
- 使用Claude与FL Studio互动: 在Claude中,您可以使用自然语言指令来调用FL Studio MCP服务器提供的工具。例如:
- 询问MIDI端口: 您可以尝试在Claude中输入 "get available MIDI ports from flstudio"。 Claude 应该能够调用 'list_midi_ports' 工具并返回可用的MIDI端口列表。
- 控制播放: 您可以尝试输入 "flstudio play" 或 "start playback in flstudio" 来启动FL Studio的播放。
- 发送旋律: 使用类似 "send melody to flstudio: note(60),velocity(100),length(1),position(0)\nnote(62),velocity(80),length(1),position(1)" 的指令,将旋律数据发送到FL Studio进行录制。请参考 'README.md' 中提供的音符格式说明。
注意: 首次使用MCP功能时,如果Claude的锤子图标没有出现,请尝试强制关闭Claude进程并重新打开。
信息
分类
桌面与硬件