Mcp Score
MCP server for AI-driven music score generation and manipulation. Natural language to notation via MusicXML + live MuseScore integration.
- Transport
- Not stated
- Package
- —
- Registry id
- —
No install snippet on purpose. A working MCP config is a command, its arguments and an environment block — the last two are where API keys live, so this catalogue never stores them and cannot publish them. Follow the link above for the authors' own instructions.
Music notation for AI assistants. Describe a piece in plain language and get a MusicXML score; with MuseScore open, read and edit the live score by conversation.
Works with any MCP client (Claude Code, Claude Desktop, LM Studio, and others). Status: alpha.
Quick demo
"Create a big band chart: 32-bar AABA form, key of Bb, slow blues at 66 BPM, with rhythm changes and rehearsal marks at each section."
The assistant writes a complete music21 script, runs it, and hands you a MusicXML file ready to open in MuseScore, Dorico, or any notation app.
With the MuseScore plugin running, you can go further:
"Read the melody in bars 9-16 and arrange it as a trombone soli following the chord progression."
The assistant reads the live score, applies musical judgement, and writes the arrangement back, all through conversation.
What it does
- Generate scores. The assistant writes a music21 script that exports MusicXML, which opens in MuseScore, Dorico, or any notation app. In Claude Code this is driven by the bundled
score-generateskill. In other MCP clients, thegenerate_scoretool runs the script andscore_generation_guidesupplies the same instructions. - Edit live scores. MCP tools connect to a running MuseScore and read passages, add notes, dynamics and chord symbols, set barlines, keys, time signatures and tempo, append measures, transpose, and undo.
- Render. The
render_scoretool exports PDF, PNG, MIDI, audio or MusicXML from a score file through the MuseScore command line; MuseScore must be installed but not running.
Supported applications
| Application | Versions | Status |
|---|---|---|
| MuseScore Studio | 4.4.2 and later | Supported; CI tests the oldest supported line, a middle release and the newest. Earlier versions lack the plugin WebSocket API. |
| Dorico | 4 and later | Experimental. Undocumented Remote Control API, command-only, not verified against a running instance. |
| Any notation app | MusicXML import | Generated scores open anywhere MusicXML does. |
Install
Requires Python 3.14 or later.
pip install mcp-score-server
# or
uv tool install mcp-score-server
Then:
mcp-score install-plugin # MuseScore plugin, for live editing
mcp-score install-skill # score-generate skill, for Claude Code
Connect your MCP client
Claude Code:
claude mcp add mcp-score -- mcp-score serve
Claude Desktop and other clients: run the command mcp-score with the argument serve, for example in claude_desktop_config.json:
{
"mcpServers": {
"mcp-score": { "command": "mcp-score", "args": ["serve"] }
}
}
Use it with MuseScore
- Open a score in MuseScore Studio 4.4.2 or later.
- Plugins > Manage plugins > enable MCP Score Bridge, then Plugins > MCP Score Bridge. Keep its window open.
- Ask your assistant to connect to MuseScore.
Details and troubleshooting: MuseScore plugin.
Documentation
From the project's README.