Skip to content

JordanSucher/musescore-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MuseScore MCP Server

This MCP (Model Context Protocol) server integrates MuseScore with LLM clients like Claude Desktop, enabling basic music composition through natural language.

Brief demo here: https://www.canva.com/design/DAGlHeR706g/4UcXvK23I1axWOfm6lSSxQ/edit

Features

The server allows an MCP-connected LLM to:

  • Connect to MuseScore and manipulate an open score
  • Add notes and rests
  • Select and delete
  • Create tuplets
  • Undo a change
  • Move from staff to staff

Limitations

  • Can not understand multiple voices within a staff or navigate between them

Requirements

  • Python 3.9+
  • MuseScore 3 or 4 installed
  • MCP Python SDK

Installation

  1. Clone this repository:

    git clone https://github.com/yourusername/musescore-mcp-server.git
    cd musescore-mcp-server
    
  2. Install dependencies, either in a venv or globally:

    pip install -r requirements.txt
    
  3. Install the musescore-mcp-plugin by copying it into your MuseScore plugins dir (on my mac this was ~/Documents/MuseScore4/plugins)

  4. Configure your LLM with the MCP server (server.py). If you are using Claude Desktop and a venv, this can be done by creating a claude_desktop_config file like so:

    {
     "mcpServers": {
       "musescore": {
         "command": "bash",
         "args": [
           "-c",
           "source /path/to/venv/activate && python3 /path/to/server.py"
         ]
       }
     }

Usage

Prepare MuseScore

Open musescore and whatever score you want to use. Then, connect the musescore-mcp-plugin and launch it by selecting it from the plugins menu.

Example Queries

Once connected, you can ask Claude questions like:

  • "Help me come up with some possible chords for the melody in my score
  • Compose a simple melody and show me 4 ways to harmonize it
  • Extend the melody in measures 1-12 with 4 measures that match the style of this piece

Development

If you want to add features to the MuseScore plugin and test them, the testClient.html file in this repo may be a useful development tool - simply extend it to call whatever functions you add.

About

An MCP server for MuseScore.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published