MEI Encoding Check
Guest access is available after setup. Full account linking verified by PowMCP: Claude only.
Use in your browser
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
Guest access is available after setup. Full account linking verified by PowMCP: Claude only.
Connect this app on its own. Add other PowMCP apps whenever your agent needs another job done.
Open the apps workspace
Choose your agent. Each button opens a new tab with only this app's endpoint ready to add.
Copy one ready-to-send prompt for any agent that supports remote MCP connections.
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 mcp add --transport http powmcp-music-encoding-check https://powmcp.com/music-encoding-check/mcpcodex mcp add powmcp-music-encoding-check --url https://powmcp.com/music-encoding-check/mcpgemini mcp add --transport http powmcp-music-encoding-check https://powmcp.com/music-encoding-check/mcpManage, 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
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.
Request cost1 completed result
Guests get 50 lifetime app requests. Free accounts get 100 each calendar month.
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).
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.
Other apps for the jobs next to MEI Encoding Check.
Scope and boundaries for 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.
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.
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.