MusicXML to ABC
What it does
Converts between MusicXML and ABC notation, so LLMs can read and edit scores
- Connects Runs on your computer
- Account or key No key needed
- Category Search & AI memory
Install
Pick the AI app you use, then copy the settings.
Passed 3/3 checks · Runs on your computer · ✓ Commands checked Nov 13, 2026
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
Let AI install it
Copy this message into a Claude chat. The AI checks your computer, tells you which file it will change, and waits for your OK every time.
Please install the MCP server MusicXML to ABC for Claude on this computer, in this order: 1) Check uv with uv --version. If it is missing, tell me to install it from https://docs.astral.sh/uv/getting-started/installation/; do not install it yourself. 2) Use only this config (already checked by PopNx MCP): { "mcpServers": { "musicxml-abc": { "command": "uvx", "args": [ "musicxml-abc-mcp" ] } } } 3) Tell me the full path of the file you will change, or the command you will run, and wait for my OK. 4) No key is needed. 5) Do what we agreed, then check that the MusicXML to ABC tools really show up.This message has no key in it. If a key is needed, the AI will ask you to paste it yourself into the file or the app’s field.
Install uv (if you don’t have it)
Already installed? Check first · Open Terminal, type this command and press Enter
uv --version- A version number such as uv … = installed, skip this step
- "command not found" (on Windows: "is not recognized") = not installed yet, or installed but Terminal needs to be closed and reopened
How to open Terminal
Mac: press ⌘ + Space, type Terminal, press Enter
Windows: open Start, type Windows PowerShell, then Open
Not installed: uv has no click-through installer. Copy the one-line command for your system (macOS or Windows) from uv’s official page into Terminal · no separate Python install needed; uv downloads it when required
When it’s done, close Terminal, open it again and run the same command. You should see a version number:
uv --versionInstall once; it works for everything that needs uv
Open the Claude desktop app’s settings file
SettingsDeveloperEdit Config
Paste these settings and save the file
{ "mcpServers": { "musicxml-abc": { "command": "uvx", "args": [ "musicxml-abc-mcp" ] } } }Quit Claude and open it again
Try it
Use MusicXML to ABC and tell me what you can do for me, then show me one thing✓ If Claude says it is using MusicXML to ABC or shows a MusicXML to ABC tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect MusicXML to ABC yet
MusicXML to ABC runs on your computer, but ChatGPT can only connect servers that run on the web
What you can do instead
A · Use an app that can connect MusicXML to ABC
- Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
- Install Python (uv) on your computer first (one time)
- Install Python (uv) on your computer first (one time)
- Install Python (uv) on your computer first (one time)
Works with Claude Code, with some setup first
Install Python (uv) on your computer first (one time)
Let AI install it
Copy this message into a Claude Code chat. The AI checks your computer, tells you which file it will change, and waits for your OK every time.
Please install the MCP server MusicXML to ABC for Claude Code on this computer, in this order: 1) Check uv with uv --version. If it is missing, tell me to install it from https://docs.astral.sh/uv/getting-started/installation/; do not install it yourself. 2) Use only this config (already checked by PopNx MCP): claude mcp add --scope user musicxml-abc -- uvx musicxml-abc-mcp 3) Tell me the full path of the file you will change, or the command you will run, and wait for my OK. 4) No key is needed. 5) Do what we agreed, then check that the MusicXML to ABC tools really show up.This message has no key in it. If a key is needed, the AI will ask you to paste it yourself into the file or the app’s field.
Install uv (if you don’t have it)
Already installed? Check first · Open Terminal, type this command and press Enter
uv --version- A version number such as uv … = installed, skip this step
- "command not found" (on Windows: "is not recognized") = not installed yet, or installed but Terminal needs to be closed and reopened
How to open Terminal
Mac: press ⌘ + Space, type Terminal, press Enter
Windows: open Start, type Windows PowerShell, then Open
Not installed: uv has no click-through installer. Copy the one-line command for your system (macOS or Windows) from uv’s official page into Terminal · no separate Python install needed; uv downloads it when required
When it’s done, close Terminal, open it again and run the same command. You should see a version number:
uv --versionInstall once; it works for everything that needs uv
Open Terminal
Mac: press Command+Space and type Terminal · Windows: open PowerShell
Paste this command and press Enter
claude mcp add --scope user musicxml-abc -- uvx musicxml-abc-mcpType /mcp in Claude Code
You should see MusicXML to ABC listed as connected
Try it
Use MusicXML to ABC and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using MusicXML to ABC or shows a MusicXML to ABC tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
Install Python (uv) on your computer first (one time)
Let AI install it
Copy this message into a Cursor chat. The AI checks your computer, tells you which file it will change, and waits for your OK every time.
Please install the MCP server MusicXML to ABC for Cursor on this computer, in this order: 1) Check uv with uv --version. If it is missing, tell me to install it from https://docs.astral.sh/uv/getting-started/installation/; do not install it yourself. 2) Use only this config (already checked by PopNx MCP): { "mcpServers": { "musicxml-abc": { "command": "uvx", "args": [ "musicxml-abc-mcp" ] } } } 3) Tell me the full path of the file you will change, or the command you will run, and wait for my OK. 4) No key is needed. 5) Do what we agreed, then check that the MusicXML to ABC tools really show up.This message has no key in it. If a key is needed, the AI will ask you to paste it yourself into the file or the app’s field.
Install uv (if you don’t have it)
Already installed? Check first · Open Terminal, type this command and press Enter
uv --version- A version number such as uv … = installed, skip this step
- "command not found" (on Windows: "is not recognized") = not installed yet, or installed but Terminal needs to be closed and reopened
How to open Terminal
Mac: press ⌘ + Space, type Terminal, press Enter
Windows: open Start, type Windows PowerShell, then Open
Not installed: uv has no click-through installer. Copy the one-line command for your system (macOS or Windows) from uv’s official page into Terminal · no separate Python install needed; uv downloads it when required
When it’s done, close Terminal, open it again and run the same command. You should see a version number:
uv --versionInstall once; it works for everything that needs uv
Open the AI chat in Cursor in Agent mode
Try it
Use MusicXML to ABC and tell me what you can do for me, then show me one thing✓ If Cursor says it is using MusicXML to ABC or shows a MusicXML to ABC tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
Install Python (uv) on your computer first (one time)
Let AI install it
Copy this message into a VS Code chat. The AI checks your computer, tells you which file it will change, and waits for your OK every time.
Please install the MCP server MusicXML to ABC for VS Code on this computer, in this order: 1) Check uv with uv --version. If it is missing, tell me to install it from https://docs.astral.sh/uv/getting-started/installation/; do not install it yourself. 2) Use only this config (already checked by PopNx MCP): { "servers": { "musicxml-abc": { "type": "stdio", "command": "uvx", "args": [ "musicxml-abc-mcp" ] } } } 3) Tell me the full path of the file you will change, or the command you will run, and wait for my OK. 4) No key is needed. 5) Do what we agreed, then check that the MusicXML to ABC tools really show up.This message has no key in it. If a key is needed, the AI will ask you to paste it yourself into the file or the app’s field.
Install uv (if you don’t have it)
Already installed? Check first · Open Terminal, type this command and press Enter
uv --version- A version number such as uv … = installed, skip this step
- "command not found" (on Windows: "is not recognized") = not installed yet, or installed but Terminal needs to be closed and reopened
How to open Terminal
Mac: press ⌘ + Space, type Terminal, press Enter
Windows: open Start, type Windows PowerShell, then Open
Not installed: uv has no click-through installer. Copy the one-line command for your system (macOS or Windows) from uv’s official page into Terminal · no separate Python install needed; uv downloads it when required
When it’s done, close Terminal, open it again and run the same command. You should see a version number:
uv --versionInstall once; it works for everything that needs uv
Open the AI chat in VS Code in Agent mode
Try it
Use MusicXML to ABC and tell me what you can do for me, then show me one thing✓ If VS Code says it is using MusicXML to ABC or shows a MusicXML to ABC tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
For developers: Terminal commands and JSON settings
Installed on your computer
Claude Code
claude mcp add --scope user musicxml-abc -- uvx musicxml-abc-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"musicxml-abc": {
"command": "uvx",
"args": [
"musicxml-abc-mcp"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"musicxml-abc": {
"command": "uvx",
"args": [
"musicxml-abc-mcp"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"musicxml-abc": {
"type": "stdio",
"command": "uvx",
"args": [
"musicxml-abc-mcp"
]
}
}
}These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
At a glance
- GitHub starsi
- 3 (Stars for the whole repo)
This repo holds several MCP listings; its stars count once in rankings - Downloads per weeki
- 37/wk
- Connection
- Runs on your computer
- Latest versioni
- 0.2.2
- Categoryi
- Search & AI memory
- Published to registryi
- Oct 12, 2026
- Code last changedi
- Nov 15, 2026
- Maker
- raulkivi
- Packages
pypi: musicxml-abc-mcp- Registry status
- Active
Which apps can use it
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Related guides
What it can do
Runs on your computer; the tool list appears in your AI app after you install it.
Basic checksi
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 15, 2026
- ✓ Pass
Maker matches the repo
The registry name was verified with the GitHub account raulkivi, which owns the repo
- ✓ Pass
Still maintained
Code last changed today
- ✓ Pass
Has a licence
Uses MIT
- – Not applicable
Endpoint responds
This one runs on your computer; there is no internet endpoint
- – Not applicable
Sign-in with OAuth
Runs on your computer and uses local settings instead
- … Not checked yet
No hidden instructions in tool descriptions
Runs on your computer; we can only read tool lists from internet endpoints
Published vulnerabilities (OSV.dev)
Not checked yet
Makers: ask for a re-check or report wrong info
Discussion
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
User reviews
No reviews yet
Compared with others in Search & AI memoryi
- More stars than 0% of the other 6159 servers in this category
- Published to the registry more recently than 52% of the other 6159 servers in this category
- Basic checks equal to or better than 100% of the other 6159 servers in this category
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
Common questions
Is MusicXML to ABC safe?
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
What keys or codes does it need?
The registry does not list a required key, though some servers ask you to sign in on first use.
Does it run on my computer or in the cloud?
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
Is it still maintained?
The GitHub repo last changed today, and the latest version (0.2.2) reached the registry 34 days ago.
Which apps can use it?
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
What can I use instead?
In the same category: OpenSEO, Exa, Mockserver, Microsoft Learn MCP, Docs
Similar alternatives
Same category, other makers, commands already checked. Official ones first, then by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Mockserver
Mock, record/replay, verify and chaos-test any HTTP, REST, gRPC or LLM dependency over MCP.
Microsoft Learn MCP
Official Microsoft Learn MCP Server – real-time, trusted docs & code samples for AI and LLMs.
Docs
Search and read Empryo's documentation. Read-only, no auth, no local access.
- OpenSEO — Runs in the cloud, nothing to install · No key needed
- Exa — Runs in the cloud, nothing to install · No key needed · In Claude’s directory
- Mockserver — Installs on your computer · No key needed
- Microsoft Learn MCP — Runs in the cloud, nothing to install · No key needed · In Claude’s directory
- Docs — Runs in the cloud, nothing to install · No key needed
README from the maker
Open the README
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
musicxml-abc-mcp
MCP server that converts between MusicXML and ABC notation.
What it does
Bridges MusicXML (the standard but verbose XML format) and ABC notation (a compact, human-readable text format). The primary use case is enabling LLM-assisted score editing: MusicXML → ABC → Claude edits → ABC → MusicXML.
ABC is ideal for LLM editing because it is concise enough to fit in a context window and expressive enough to represent most choral music.
Tools
| Tool | Description |
|---|---|
musicxml_to_abc | Convert MusicXML (musicxml text or musicxml_path) to ABC notation; optionally filter to a single part and a range of printed bars (measures) |
abc_to_musicxml | Convert ABC notation back to MusicXML; large scores are written to a file (return: auto / path / inline) |
validate_abc | Parse an ABC string and return errors or warnings |
list_capabilities | Return server metadata: backend version, ABC standard |
health_check | Run a MusicXML → ABC → MusicXML round-trip smoke test and report status |
describe_score | Summarize a score cheaply: parts (IDs P1…), key, time, tempo, ranges, measures |
Installation
cd musicxml-abc-mcp
uv sync --extra dev
Note: use --extra dev (not --group dev) to install pytest.
For a guided setup (installs uv if needed, then syncs dependencies), run ./install.sh — see SETUP.md for step-by-step instructions. Ready-made client configs (Claude Desktop, Cursor, Windsurf, Continue, Zed) are in examples/. If something doesn't work, check TROUBLESHOOTING.md.
Running
uv run musicxml-abc-mcp
No environment variables required. Optional: SHEET_MUSIC_OUTPUT_ROOT (where large scores are written and paths are read; default the working directory), SHEET_MUSIC_INPUT_ROOTS (extra folders to read scores from) and SHEET_MUSIC_INLINE_MAX_BYTES (default 8192). See Score References.
Usage examples
Scores can be passed as text (musicxml) or as a file path (musicxml_path: .musicxml, .xml or .mxl inside the allowed folders). abc_to_musicxml returns small scores as text and writes large ones to /scores/, returning musicxml_path plus a short score_summary; pass "return": "inline" to always get the text.
// Convert full score to ABC
{ "tool": "musicxml_to_abc", "arguments": {"musicxml": " ... "} } // → {"abc": "X:1\nT:...\n...", "parts_included": ["P1", "P2", "P3", "P4"], "warnings": []}
// Extract just the Soprano part { "tool": "musicxml_to_abc", "arguments": {"musicxml": " ... ", "part": "Soprano"} } // part takes a part ID ("P1"), name ("soprano", any case) or voice ("S"); an unknown part // returns the valid choices. part_id is a deprecated alias for one minor release.
// Just bars 17–24 of the Alto part { "tool": "musicxml_to_abc", "arguments": {"musicxml_path": "scores/anthem.musicxml", "part": "Alto", "measures": [17, 24]} } // measures are the printed bar numbers, inclusive (a pickup bar is 0). The ABC headers (K:, M:, // Q:) are the key, time and tempo in force at bar 17. A range outside the score returns // INVALID_PARAMETER with a hint such as "This score has measures 1–32."
// Convert edited ABC back to MusicXML { "tool": "abc_to_musicxml", "arguments": {"abc": "X:1\nT:My Song\n..."} } // → {"musicxml": "<?xml version=\"1.0\"?>...", "warnings": []}
// Validate ABC before converting { "tool": "validate_abc", "arguments": {"abc": "X:1\nT:My Song\n..."} }
ABC notation basics
This server uses ABC standard v2.1:
C(uppercase) = C4 (middle C)c(lowercase) = C5 (one octave above middle C)- Apostrophe raises an octave:
c'= C6 - Comma lowers an octave:
C,= C3
Round-trips preserve notes within ±2%. Dynamics and complex articulations are not preserved.
Testing
# All tests including integration (round-trip SATB conversion)
VIRTUAL_ENV= .venv/bin/pytest tests/ -v
Dependencies
- music21 — score parsing; ABC output uses a custom serializer (music21 9.x has no ABC writer)
- mcp — MCP protocol
System requirements
- Python 3.11+
- No system libraries required