Use in your browser

Validate your MEI edition

Check a hosted or pasted MEI edition against its RelaxNG grammar with jing and the beyond-schema Schematron layer with Saxon. Compare a baseline and revised edition to see which conformance findings appeared or cleared.

Guest includes 50 lifetime app requests. Create a free account for 100 app requests each calendar month. One allowance across every app, in your browser and your agent.One allowance across every app, in your browser and your agent. Manage usage

MEI Encoding Check

Connect agent

Guest access is available after setup. Full account linking verified by PowMCP: Claude only.

Check

Validate one MEI edition against its RelaxNG grammar and beyond-schema Schematron layer.

A check usually finishes in about five seconds.

MEI edition source

Only the active source is sent. You can switch without losing what you entered.

Plain text

Paste the document itself, up to about 5 MB.

Allowed range: 1–1000 · whole numbers

Most severe first. Left empty, up to 400 are returned.

Add MEI Encoding Check to your agent

Connect this app on its own. Add other PowMCP apps whenever your agent needs another job done.

Open the apps workspace A glowing app tile clicking into a slot on a dark agent device, with the PowMCP app box behind it

Connect directly

Choose your agent. Each button opens a new tab with only this app's endpoint ready to add.

Use another agent

Copy one ready-to-send prompt for any agent that supports remote MCP connections.

Manual endpoint, JSON, and terminal commands

For clients that require manual configuration, use this app-only endpoint, its JSON entry, or one terminal command.

ChatGPT: enable Developer mode in Settings → Security and login, then add this MCP endpoint from the Plugins page. Availability depends on your account and workspace policy. PowMCP has not yet verified ChatGPT account linking. OpenAI setup guide

https://powmcp.com/music-encoding-check/mcp
{
  "mcpServers": {
    "powmcp-music-encoding-check": {
      "type": "http",
      "url": "https://powmcp.com/music-encoding-check/mcp"
    }
  }
}

Terminal agents add this app with one command:

Claude Code
claude mcp add --transport http powmcp-music-encoding-check https://powmcp.com/music-encoding-check/mcp
Codex CLI
codex mcp add powmcp-music-encoding-check --url https://powmcp.com/music-encoding-check/mcp
Gemini CLI
gemini mcp add --transport http powmcp-music-encoding-check https://powmcp.com/music-encoding-check/mcp

Manage, disable, or remove this connection in your agent's own MCP settings. PowMCP does not label an external connection as installed without confirmation from that client.

Proof

What it does

Check a hosted or pasted public MEI music encoding against BOTH its RelaxNG grammar and the beyond-schema XPath2 musical-semantic Schematron layer, with exact rule and location evidence

Validate one public MEI (Music Encoding Initiative) XML file against its RelaxNG grammar (jing against the bundled mei-all.rng) AND the embedded MEI-All Schematron constraint layer (control-event anchoring, beam and stem-direction coherence, duration and endpoint co-occurrence rules the grammar cannot express) evaluated by Saxon over the ISO Schematron XSLT2 skeleton, selecting the schema by the file's declared @meiversion, or compare two same-version-family editions, with a clear grammar-and-Schematron-versus-musical-correctness boundary.

Category
Developer Tools

Request cost1 completed result

Guests get 50 lifetime app requests. Free accounts get 100 each calendar month.

Tools in this app

01

MEI Encoding Conformance Check

encoding_check

Validates one public MEI (Music Encoding Initiative) XML file, fetched from a public HTTP(S) URL or pasted inline, against BOTH its RelaxNG grammar (jing, the pinned mei-all.rng selected by the file's declared @meiversion) AND the embedded MEI-All XPath2 Schematron musical-semantic layer (Saxon-HE 10.9J over the ISO Schematron XSLT2 skeleton): control-event anchoring (startid/tstamp/tstamp.ges/tstamp.real), spanning-event duration and endpoint rules (dur/dur.ges/endid/tstamp2), beam and stem-direction coherence, and notation-subtype constraints the grammar cannot express: checks stock validators (lxml.isoschematron, xmllint --schematron) cannot even load. Supply exactly one of url or body. Returns pass/fail as distinct rngValid, schematronClean, and overall conforms booleans, the selected schema version, severity counts (rng-error / assert-failure), bounded per-finding evidence (layer, XPath2 rule test, message, and document location by element or line), a structural inventory (root, declared @meiversion, scoreDef/staffDef/measure/note/rest/control-event counts), and distinguished absence states (not-xml vs not-mei; rng-invalid vs schematron-invalid; schematron-not-checked; meiversion-unsupported). Use for one-file conformance and diagnosis: 'is this MEI valid', 'does it conform', 'what encoding errors does it have', 'find the unanchored ties/slurs and bad durations the plain schema misses'. A conforms result means only that the bytes satisfied the RNG grammar and the Schematron layer at the named engine and schema versions; it never judges whether the musical transcription is accurate, the edition is scholarly correct, or the notational choices are appropriate. A validation typically returns in ~1-2s (the schema is pre-compiled at build time).

02

MEI Two-Edition Conformance Compare

encoding_compare

Runs the identical bounded validation against exactly two MEI editions and reports which grammar errors and Schematron musical-semantic findings regressed (present in B, not A) or were resolved (present in A, not B), ranking by measured automated conformance only. Supply two inputs, each as a public HTTP(S) MEI URL (urlA/urlB) or a pasted MEI body (bodyA/bodyB). Select this whenever the user gives two MEI editions and asks what conformance changed: a re-encoding pass, the same edition before and after a fix, or the same work across versions; the tool itself reports the pair as not-comparable if the two do not resolve to the same MEI version family, so you never need to pre-verify their lineage. Returns per-document conformance summaries, a comparability note (same MEI version family), the regressed and resolved findings keyed by layer, rule, and location, and a conformance ranking. The ranking orders automated conformance only: fewer findings never means an edition is a truer, better, or more scholarly transcription. It never judges transcription accuracy, scholarly correctness, or encoding appropriateness. Each document runs under the same ~8 MB download / ~5 MB paste limits and a shared deadline.

MEI Encoding Check questions

Scope and boundaries for MEI Encoding Check.

01What can I check with MEI Encoding Check?

Paste the MEI 5.0 demo score containing staff 1 and note n1, or compare a baseline containing an unanchored tie with the revised edition after that tie is removed; hosted .mei XML is also accepted.

02How should I read the result?

Read wellFormed, isMei, rngValid, and schematronClean before conforms. Conforms true means a supported-version MEI document passed both pinned RelaxNG and Schematron layers; fix grammar findings before assertion failures using their rule and location evidence. A schematron-not-checked state or truncated findings leaves the evidence incomplete, and comparison changes are meaningful only when comparable is true.

03What are its limits?

Only supported MEI version families can select a bundled schema, and comparison requires the same version family. Automated RNG and Schematron conformance can locate anchoring, duration, beam, stem, and notation constraints, but it does not judge musical transcription accuracy, scholarly correctness, or whether a notational choice is appropriate.