
Security News
/Company News
Securing the Financial Frontier: How Capital One Uses Socket for Open Source Security
Capital One is partnering with Socket to proactively secure its open source supply chain.
musicxml-abc-mcp
Advanced tools
MCP server that converts between MusicXML and ABC notation for LLM-assisted score editing
MCP server that converts between MusicXML and ABC notation.
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.
| Tool | Description |
|---|---|
musicxml_to_abc | Convert MusicXML to ABC notation; optionally filter to a single part |
abc_to_musicxml | Convert ABC notation back to MusicXML |
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 |
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.
uv run musicxml-abc-mcp
No environment variables required.
All tools take and return strings directly (no file paths) — the MCP client is responsible for reading/writing files if needed.
// Convert full score to ABC
{
"tool": "musicxml_to_abc",
"arguments": {"musicxml": "<score-partwise>...</score-partwise>"}
}
// → {"abc": "X:1\nT:...\n...", "parts_included": ["Soprano", "Alto", "Tenor", "Bass"], "warnings": []}
// Extract just the Soprano part
{
"tool": "musicxml_to_abc",
"arguments": {"musicxml": "<score-partwise>...</score-partwise>", "part_id": "Soprano"}
}
// 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..."}
}
This server uses ABC standard v2.1:
c (lowercase) = C4 (middle C)C (uppercase) = C3 (one octave below middle C)c' = C5C, = C2Round-trips preserve notes within ±2%. Dynamics and complex articulations are not preserved.
# All tests including integration (round-trip SATB conversion)
VIRTUAL_ENV= .venv/bin/pytest tests/ -v
FAQs
MCP server that converts between MusicXML and ABC notation for LLM-assisted score editing
The pypi package musicxml-abc-mcp receives a total of 202 weekly downloads. As such, musicxml-abc-mcp popularity was classified as not popular.
We found that musicxml-abc-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
/Company News
Capital One is partnering with Socket to proactively secure its open source supply chain.

Security News
Socket CTO Ahmad Nassri discusses how to keep AI agents from bypassing package blocks, limit credential access, and monitor their actions.

Security News
GPT-6 Astra tried to plant malicious code in simulated open source projects using fake GitHub accounts and deceptive PRs during an assigned CTF challenge.