Use in your browser

Check JATS4R conformance

Check a public or pasted JATS XML article with the JATS4R Schematron rules under Saxon-HE. See the conformance verdict, exact rule-code evidence, and changes between two versions of the same article.

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

JATS Article Check

Connect agent

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

Article check

Validate one JATS XML article against JATS4R rules and see exact rule-code evidence.

Usually finishes in a few seconds; a large article can take up to 110 seconds.

JATS article

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

Public JATS XML with no login.

Allowed range: 1–1000 · whole numbers

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

Add JATS Article 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/scholarly-article-check/mcp
{
  "mcpServers": {
    "powmcp-scholarly-article-check": {
      "type": "http",
      "url": "https://powmcp.com/scholarly-article-check/mcp"
    }
  }
}

Terminal agents add this app with one command:

Claude Code
claude mcp add --transport http powmcp-scholarly-article-check https://powmcp.com/scholarly-article-check/mcp
Codex CLI
codex mcp add powmcp-scholarly-article-check --url https://powmcp.com/scholarly-article-check/mcp
Gemini CLI
gemini mcp add --transport http powmcp-scholarly-article-check https://powmcp.com/scholarly-article-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 JATS XML article against the JATS4R reuse and quality rules with the real Schematron engine, with exact rule-code evidence

Validate one public JATS XML journal article (NISO Z39.96, as served by PMC / Europe PMC and publishers) against the JATS4R Schematron reuse and quality rules (citation typing, ORCID, data-availability and funding statements, clinical-trial and ethics/COI checks, CRediT roles, display-object accessibility) with exact rule-code and SVRL-location evidence, or compare two same-lineage articles, with a clear machine-conformance-versus-scholarly-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

JATS4R Article Conformance Check

article_check

Validates one public-URL or pasted JATS XML journal article (NISO Z39.96, as served by PMC / Europe PMC and publishers) against the JATS4R (JATS for Reuse) Schematron reuse and quality rules, the beyond-DTD interoperability checks a plain XML validator cannot make: citation typing, ORCID, data-availability and funding statements, clinical-trial and ethics/COI checks, CRediT roles, and display-object accessibility. The rules are compiled app-local to an ISO Schematron XSLT2 validator stylesheet and run under the vendored Saxon-HE 10.9 JVM in a no-network sandbox, with the article's DOCTYPE-referenced DTD stripped and never fetched (offline, XXE-safe). Supply exactly one of url (a public HTTP(S) JATS-XML URL) or body (the raw JATS XML pasted inline). Returns the conformance verdict: a conforms boolean, the JATS4R schematron package version and the Saxon engine version, the detected JATS model (article-type and dtd-version), severity counts, the failed-assert and successful-report totals, findings grouped by JATS4R rule code, bounded per-finding evidence (rule code, severity, SVRL location XPath, and message), a structural inventory (section/citation/contributor/figure/table counts and data-availability/funding/ethics presence), and distinguished states (not-well-formed-xml, not-a-jats-article, jats-conformant, jats-nonconformant, responded-other). Use for one-article conformance and diagnosis: 'will this pass PMC ingest', 'is this JATS4R-conformant', 'what reuse-rule problems does it have', 'is it clean enough to submit'. A conforms result means only that the bytes satisfied the JATS4R Schematron profile at the named versions; it never judges whether the article is scientifically correct, whether its citations are accurate, or whether a specific publisher's or PMC's ingest board will accept it, and it does not validate an un-hosted local draft. Offline validation is fast: a few seconds, mostly JVM and rule-set load; a call may take up to ~110 seconds. Lead with conformance pass/fail, then the schematron and engine versions.

02

JATS4R Article Lineage Compare

article_compare

Runs the identical app-local JATS4R Schematron validation (Saxon-HE 10.9) over exactly two JATS XML articles, baseline first (urlA or bodyA), revised second (urlB or bodyB), sequentially under one shared 115-second deadline, then reports which JATS4R findings regressed or were resolved between them, keyed by rule code and SVRL location. Select this whenever the user gives two articles and asks what conformance changed or which is cleaner: the same article before and after copyediting or an XML regeneration, or two renders/revisions of the same canonical article (the JATS/DTD version may differ). The tool verifies that both inputs are JATS <article> documents and share at least one declared article-id; missing or disjoint identifiers produce an explicit not-comparable result with no diff or ranking. Returns per-article identifiers, hashes, detected JATS models, conforms verdicts and severity counts, a comparability note, and, only for shared-identity revisions, regressions, resolved findings, and a ranking by conformance then fewer error-severity findings. The ranking orders automated JATS4R conformance only (it never means one article is truer, more scholarly, or more likely to be accepted), and human review remains required for both.

JATS Article Check questions

Scope and boundaries for JATS Article Check.

01What can I check with JATS Article Check?

Validate the Europe PMC fullTextXML URL for PMC2231364, or paste one complete JATS article body and set maxFindings to control how much rule evidence is returned.

02How should I read the result?

Read status first: only a JATS conformant or nonconformant state means Schematron validation ran. Conforms means zero error-severity JATS4R finding, although warnings and informational findings may remain; fix the most severe rules at their reported locations and rerun. A non-article state or truncated findings cannot support a complete verdict, and conformance does not guarantee publisher acceptance or scholarly correctness.

03What are its limits?

The pinned JATS4R Schematron profile checks reuse and interoperability rules, not scholarly correctness, citation accuracy, or acceptance by PMC or a publisher. Validation runs offline without fetching a DOCTYPE DTD, pasted bodies are limited to about 8 MB, and maxFindings can make the returned list partial.