Skip to main content

render-mcp

MCP server that renders MusicXML scores to PDF or PNG images.

What it does

Takes a MusicXML document and produces print-ready PDFs or screen-ready PNG images. Uses Verovio for layout and engraving — no external tools or GUI required.

Tools

Tool Description
render_to_pdf Render the full score to a multi-page PDF file
render_to_image Render a single page to PNG or SVG
list_capabilities Return server metadata: backend version, supported formats, available renderers
health_check Check whether all runtime dependencies are available and the server is ready to render scores

Installation

Quick install: run ./install.sh for one-command setup, or see SETUP.md for a non-technical walkthrough. Ready-made client configs (Claude Desktop, Cursor, Windsurf, Continue, Zed) are in examples/. If something isn't working, check TROUBLESHOOTING.md.

Manual setup:

cd render-mcp
uv sync

libcairo is required for PNG output:

# Ubuntu / Debian (usually pre-installed on desktop systems)
sudo apt install libcairo2

Running

uv run render-mcp

No environment variables required.

Usage examples

// Render full score to PDF
{
  "tool": "render_to_pdf",
  "arguments": {
    "musicxml_path": "/path/to/score.mxl",
    "output_path": "/tmp/score.pdf"
  }
}

// Render page 1 to PNG at 150 DPI
{
  "tool": "render_to_image",
  "arguments": {
    "musicxml_path": "/path/to/score.mxl",
    "output_path": "/tmp/page1.png",
    "page": 1,
    "dpi": 150
  }
}

DPI range: 72–600. Default: 150. Page numbers are 1-indexed.

Testing

# All tests including integration (Verovio runs in-process, no external tool needed)
VIRTUAL_ENV= .venv/bin/pytest tests/ -v

Dependencies

  • verovio — MusicXML engraving to SVG (pure Python, in-process)
  • cairosvg — SVG to PNG/PDF conversion
  • pypdf — multi-page PDF assembly
  • Pillow — image utilities
  • mcp — MCP protocol

System requirements

  • Python 3.11+
  • libcairo2 shared library (for PNG/PDF output via cairosvg)

Metadata

Release files for render-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for render-mcp 0.2.0
File Size Uploaded
render_mcp-0.2.0.tar.gz 79.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for render-mcp 0.2.0
File Interpreter ABI Platform
render_mcp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 90.0 kB

Release files / render_mcp-0.2.0.tar.gz

Download URL render_mcp-0.2.0.tar.gz
Size 79.5 kB
Tags Source
SHA-256 checksum
How to use checksums
455f899bb5c25d78a9b43ea53d50625465b703ad6bfb060928aa4fdc95a8f98c
BLAKE2b-256 checksum
How to use checksums
161fa8234409d9186bd74bdcbecdf86240346b5e562709963ed79bd2784c4ea5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release files / render_mcp-0.2.0-py3-none-any.whl

Download URL render_mcp-0.2.0-py3-none-any.whl
Size 10.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
193a7c42b557d69816e16c3d61480758ae831a7aad64a9d03625d2110afdac29
BLAKE2b-256 checksum
How to use checksums
342c6463c589e23d3c1effcf9fc2669095cc25763f87dac7bf91ee6aa99a16f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.1

2 release files

This release

0.2.0 This release

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page