This MCP server enables Claude to interact directly with FL Studio, allowing you to create music using AI by sending melodies, chords, drums, and more from Claude to your DAW. It works by establishing a connection through virtual MIDI ports.
You'll need two main components:
Place the "Test Controller" folder in:
Image-Line/FL Studio/Settings/Hardware
Important: Don't rename this folder or any files inside it.
Your config file should look similar to this:
For Windows:
For Mac: MIDI ports are automatically set up to receive data.
uv pip install httpx mido python-rtmidi typing fastmcp FL-Studio-API-Stubs
output_port = mido.open_output('loopMIDI Port 2') # Replace with your port name
When starting a new chat with Claude, you can use this format for notes:
Here is format for notes: note(0-127),velocity(0-100),length in beats(decimal),position in beats(decimal)
This helps Claude understand how to structure musical information properly.
If you encounter any issues or want to share your creations, join the Discord community: https://discord.gg/ZjG9TaEhvy
The community can help you with setup issues and provide feedback on your AI-generated music.
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"cursor-rules-mcp": {
"command": "npx",
"args": [
"-y",
"cursor-rules-mcp"
]
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.