About MuseScore MCP Server
MuseScore MCP Server is an MCP server that connects MuseScore with LLM clients such as Claude Desktop, allowing basic music composition through natural language. It suits users who want conversational help with composing or harmonizing scores.
Key features
- 01Connects to and edits an open MuseScore score
- 02Adds notes and rests
- 03Selects and deletes score content
- 04Creates tuplets
- 05Undoes changes
- 06Moves between staves
Use cases
- 01Suggesting chords for a melody in a score
- 02Generating several harmonizations of a melody
- 03Extending selected measures in the style of a piece
MCP support
This project is an MCP server that uses a MuseScore plugin to communicate with the score, exposing score editing operations to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMuseScore 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
-
Clone this repository:
git clone https://github.com/yourusername/musescore-mcp-server.git cd musescore-mcp-server -
Install dependencies, either in a venv or globally:
pip install -r requirements.txt -
Install the musescore-mcp-plugin by copying it into your MuseScore plugins dir (on my mac this was ~/Documents/MuseScore4/plugins)
-
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.
Comments
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.