melrose-mcp

melrose-mcp

1

`melrose-mcp` is a Model Context Protocol server designed for creating and playing music using the melrose tool. It allows users to program melodies and interact with musical sequences through a custom language. The project supports tools for playing, adjusting BPM, and managing output devices.

melrose-mcp

melrōse is a tool to create and play music by programming melodies. It uses a custom language to compose notes and create loops and tracks to play.

melrose-mcp is an MCP server (STDIO) that uses the packages from the melrōse tool.

installation

This mcp server requires the Go SDK for installation. To produce music, you need to setup a MIDI receiver such as a DAW or a hardware synthesizer.

go install github.com/emicklei/melrose-mcp@latest

tools

  • melrose_play
  • melrose_bpm
  • melrose_devices
  • melrose_change_output_device

session

change the tempo in melrose to a lower value

melrose_bmp request:

{
  `bpm`: `80`
}

llm response:

I've reduced the tempo to 80 beats per minute from the default of 120 BPM. This creates a more relaxed and slower pace for any musical expressions we play.

play a tune from Claude Debussy

llm response:

I'll create a small segment inspired by Claude Debussy's impressionist style using the Melrose language at our current tempo of 80 BPM.

melrose_play request:

{
  `expression`: `sequence('(F4 A4 D5) 4(F4 A4 D5) (G4 B4 E5) 4(G4 B4 E5) (A4 C5 F5) 4(A4 C5 F5) (G4 B4 E5) 4(G4 B4 E5) (F4 A4 D5) 8= 8(E4 G4 C5) 4(F4 A4 D5)')`
}

melrose_play response:

12.749963417s

configuration in your client

Below an example to configure it in Claude Desktop.

{
    "mcpServers": {
        "melrōse": {
          "command": "<YOUR DIRECTORY TO THE BINARY>/melrose-mcp",
          "args": []
        }
    }
}

example prompts

  • play the music sequence C D E
  • play the first bar of fur elise
  • play the famous tune from Mike Oldfield called Tubular Bells
  • play the notes of Frere Jacques
  • play the C# chord

To help your LLM understand the Melrōse language better, you can use this .

Contributions

Fixes, suggestions, documentation improvements are all welcome. Fork this project and submit small Pull requests. Discuss larger ones in the Issues list. You can also sponsor Melrōse via Github Sponsors.

Software is licensed under . © 2025 ernestmicklei.com