mcpField
M
Melrōse - programming of music melodies

Melrōse - programming of music melodies

Local
github.com/emickleiMedia & Design214Updated 4d ago

About Melrōse - programming of music melodies

Melrōse is a text-based music programming tool for composing and playing melodies through MIDI. It supports live edits during playback, with browser, terminal REPL, and Visual Studio Code workflows.

Key features

  1. 01Compose melodies with a custom language
  2. 02Create loops and tracks
  3. 03Play through MIDI devices or music apps
  4. 04Edit sequences during playback
  5. 05Use browser, terminal REPL, or Visual Studio Code

Use cases

  1. 01Compose note patterns as text expressions
  2. 02Adjust melodies while hearing playback
  3. 03Play music through a connected MIDI device

MCP support

The related `melrose-mcp` server receives expressions for playback; this project is the music programming tool it uses.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Melrōse - programming of music melodies

Build GoDoc

Introduction

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. Write note patterns as short text expressions, then play them through a MIDI device or music app.

MIDI (Musical Instrument Digital Interface) is a digital communication language that sends musical instructions—like which note to play, how long to hold it, and how hard it is struck—between electronic instruments and computers.

This is an example of a simple major scale C.

sequence('c d e f g a b c5') // or use the alias "seq"

Note sequences in your program can be changed while playing giving you direct audible feedback.

See also Blog post

Choose your setup

  • Try it in your browser: Open the Melrōse Playground, enter the scale example above, connect a MIDI receiver such as GarageBand, and use the play control.
  • Work locally with music files and MIDI devices: Install Melrōse to use its terminal REPL and connect to MIDI devices. A local installation can connect to multiple devices, with up to 16 MIDI channels available per device.
  • Compose in Visual Studio Code: Install the Melrōse VS Code extension to manage music files and play music from the editor.

Read the Documentation on how to use melrōse.

Showcase
riboluta-melrose
MIDI setup
melrose-port-daw
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.

Related tools
  • melrose-mcp
    is a (server) tool that uses the MCP protocol to receive expressions to play. See melrose-mcp for details how to install and use it.
  • midicyles
    is a tool that visualizes MIDI events using polar coordinates (notes move around in circles).See midicyles for details how to install and use it.
  • keymidi
    is a tool that provides an interactive OS Keyboard to send MIDI events. This can be used to control the playing of music in melrōse.See keymidi for details how to install and use it.
  • slidermidi
    is a tool that provides an interactive UI Sliders to send MIDI change event. This can be used to control the playing of music in melrōse.See slidermidi for details how to install and use it.

Software is licensed under MIT.

© 2026 ernestmicklei.com

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.