musescore-mcp
MCP server for MuseScore — search sheet music and read score metadata. Routes through your signed-in musescore.com tab via the ContextMint Bridge extension, so Cloudflare sees a real browser session instead of a Node process.
- Source: github.com/chrischall/musescore-mcp (private)
⚠️ MuseScore has no public consumer API (the old one was shut down). This server reads the same server-rendered data the musescore.com web app hydrates from, dispatched through your own signed-in browser tab via the ContextMint Bridge extension. Use at your own discretion.
Setup
1. Install musescore-mcp
.mcp.json (project) or ~/.claude/mcp.json (global):
{
"mcpServers": {
"musescore": {
"command": "node",
"args": ["/absolute/path/to/musescore-mcp/dist/bundle.js"]
}
}
}
2. Install ContextMint Bridge and sign in
Install ContextMint Bridge from its releases page (Chrome: load the chrome zip unpacked; Safari is not available yet: it will ship inside the ContextMint app, which has no public download, so use Chrome for now), then open musescore.com signed in, with the Cloudflare check cleared. Every request rides that tab's session.
ContextMint Bridge is the fetchproxy extension under its new name, from the same
maintainer; its source is public at
https://github.com/nullnet-app/contextmint-bridge — build it yourself, or check
a release zip with shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256.
Tools
musescore_search— search scores. Defaults to MuseScore's "Free to view, play & download" facet (free_only=true); setfree_only=falseto search the whole catalog. Returns id, title, uploader, composer, instrumentation, difficulty, counts, and downloadability flags (free,downloadable,publicDomain,purchased,official).musescore_get_score— one score's metadata (title, license, measures, key, parts, duration, dates) by URL oruser_id+score_id.musescore_download— resolve the official download URL (pdf/mid/mscz/mxl) for a free or entitled score, from the store'stype_download_list. Returns the link to open in your browser (the MCP can't stream the file).musescore_score_to_pdf— resolve or create a PDF for a score. Returns the official PDF URL when MuseScore exposes one; otherwise fetches rendered SVG pages and stitches them intooutput_pathviarsvg-convert.musescore_svg_to_pdf— convert local.svg/.svgzfiles already on disk into a PDF viarsvg-convert.musescore_healthcheck— verify the ContextMint Bridge connection end-to-end.
Downloads: free scores (
is_free) are downloadable; paid scores need PRO/purchase.musescore_downloadresolves the official download URL from the store'stype_download_list, gated onis_freeorhasAccess, and returns the link for you to open in your browser — the MCP can't stream the file itself (Cloudflare + cross-origin S3 redirect).musescore_score_to_pdfwrites a local PDF only in the SVG fallback path.
Notes
- Read-only. No credentials stored — auth lives in your browser tab.
- Optional env:
MUSESCORE_WS_PORT(default 37149),MUSESCORE_OUTPUT_DIR(default~/Downloads).
