VOTable Check
Guest access is available after setup. Full account linking verified by PowMCP: Claude only.
Use in your browser
Validate a hosted or pasted IVOA VOTable with astropy's conformance checks, or compare a baseline with a revised table to see what changed. Results include exact line-and-code evidence.
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/votable-check/mcp {
"mcpServers": {
"powmcp-votable-check": {
"type": "http",
"url": "https://powmcp.com/votable-check/mcp"
}
}
}Terminal agents add this app with one command:
claude mcp add --transport http powmcp-votable-check https://powmcp.com/votable-check/mcpcodex mcp add powmcp-votable-check --url https://powmcp.com/votable-check/mcpgemini mcp add --transport http powmcp-votable-check https://powmcp.com/votable-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
Validate a hosted astronomy VOTable against astropy's ~80-code IVOA conformance corpus with exact line-and-code evidence: real conformance validation, not an XSD or well-formedness parse
Validate one public IVOA VOTable file against astropy's IVOA conformance corpus (invalid UCDs, bad unit strings, astroYear, datatype/arraysize/value semantics) using astropy io.votable.validate with exact line, code, message, and severity evidence, or compare two same-version-family VOTables across catalogs, hosts, or versions, with a clear format-and-conformance-versus-scientific-correctness boundary.
Request cost1 completed result
Guests get 50 lifetime app requests. Free accounts get 100 each calendar month.
votable_check
Validates one directly hosted public IVOA VOTable (a VO-service query URL such as VizieR/TAP/cone-search/SIA, or a raw .xml/.vot file, fetched over HTTP(S) under a 5 MB cap and confirmed XML with a <VOTABLE> root), OR an inline-pasted VOTable XML body, against astropy's ~80-code IVOA conformance corpus (invalid UCDs, bad unit strings, astroYear, per-datatype/arraysize/value semantics, ID rules) that XSD or xmllint cannot catch, run fully offline by the pinned astropy io.votable.validate 8.0.1 engine in a no-network sandbox. Returns conformance pass/fail, the astropy engine version, the detected VOTable version, findings grouped by line, W/E code, message, and severity, counts by severity, and a table inventory (RESOURCE/TABLE counts with per-column FIELD name, datatype, UCD, and unit). Use for one-table conformance and diagnosis questions: 'is this a valid IVOA VOTable', 'which UCDs/units/datatypes are wrong', 'is my export clean before I publish'. Provide exactly one of url or body. Absence is encoded as distinguished states (not-xml vs not-votable; no-findings vs conformance-violation; endpoint-responded-non-200). A pass means only that the bytes satisfy VOTable format and astropy's IVOA conformance codes at 8.0.1 (never that the astronomical data is scientifically correct, so humanReviewRequired is always true), and it does not validate an unhosted local table. A call completes in well under a second even for a large service export. Never repeat VOTable URL query strings or credentials in narration.
votable_compare
Runs the identical pinned astropy io.votable.validate 8.0.1 validation against exactly two directly hosted public IVOA VOTables (VO-service URLs or raw .xml/.vot files) or inline-pasted VOTable bodies that should be the SAME VOTable version family (the same catalog served by two hosts or pipelines, two catalogs of the same VOTable version, or a before/after regeneration), baseline first, revised second, sequentially under one shared deadline. Select this whenever two VOTables are given and the user asks what conformance changed, which table trips fewer checks, or how their columns/UCDs/units differ; the tool assesses the version family itself and flags the pair not-comparable (still reporting the raw diff) when they do not line up, so you need not pre-verify sameness. Returns per-table hashes, detected versions, conforms verdicts and severity counts; a comparability note; a difference table of findings introduced (regressions) and resolved keyed by code and line; a fieldDiff of the FIELD schema (columns added/removed and per-column UCD or unit changes); and a ranking by conformance state then fewer findings. The ranking orders automated conformance only (never that one table's astronomical data is more correct or scientifically truer), and human review remains required for both. Each source is a VOTable URL or a pasted VOTable XML body. Never repeat VOTable URL query strings in narration.
Other apps for the jobs next to VOTable Check.
Scope and boundaries for VOTable Check.
Paste the included VOTable 1.4 stars table containing source_id and right-ascension fields, or provide a direct public VO-service or .vot URL and choose maxFindings.
Read documentState first because only votable receives an astropy conformance verdict. Conforms means the checked IVOA corpus reported no findings; fix exception codes before warnings using the reported lines, then rerun. Non-XML, non-VOTable, non-200, or truncated results are incomplete, and a comparison marked noncomparable is only a raw code and field difference, not a true regression.
Inputs are capped at 5 MB and validation uses the pinned offline astropy conformance corpus, with findings limited by maxFindings. Format conformance does not establish scientific correctness, units' intended meaning, catalog completeness, or the validity of the astronomical observations.