Skip to main content
Glama

veraPDF by pagespool

Validate a PDF against PDF/A

validate_pdfa
Read-only

Check whether a PDF conforms to PDF/A, the ISO archiving standard, with veraPDF.

Input: pdf_base64 is the PDF as base64, at most 4 MB decoded; or pass the file as a download link in file. profile picks the PDF/A part and level.

Returns compliant (true or false), profile_name (the profile veraPDF used), statement, passed_rules, failed_rules and top_failed_rules: up to 10 failed rules with their id (clause and test number), specification, description and failed_checks. A file that is not a PDF fails with not_a_pdf; an unavailable veraPDF with engine_unavailable. For the full report in JSON, XML or HTML, use the REST API (POST /v1/verapdf/api/validate/{profile}).

Credits: 2 per call.

Input Schema

NameRequiredDescriptionDefault
fileNoThe file as a download link, instead of `pdf_base64`. In ChatGPT, pass the user's uploaded file here. Other clients can set `download_url` to a public https URL.
profileNoThe PDF/A part and level, such as "2b" or "3a". "auto" (the default) checks against the part the file declares, and against PDF/A-1b when it declares none.auto
pdf_base64NoThe PDF, base64-encoded. At most 4 MB decoded.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare read-only and open-world behavior; the description goes well beyond by disclosing the 2-credit cost, the 4 MB decoded size ceiling, and the specific failure modes (`not_a_pdf`, `engine_unavailable`). That tells an agent the real operational constraints of an external-engine call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose in one sentence, then organizes inputs, outputs, errors, and cost into short blocks with no filler. The enumerated return fields are somewhat verbose given an output schema exists, keeping it just short of a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only validation call with a nested file object and an output schema, the description covers input alternatives, limits, cost, error codes, and where to go for a fuller report. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the description mostly restates it — the 4 MB limit on `pdf_base64` and the meaning of `profile` are already in the schema, including the `auto` fallback behavior. It confirms the intended one-of input pairing but adds no new semantics, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (check conformance), resource (a PDF), and the exact standard and engine (PDF/A ISO archiving standard, veraPDF). This is far more precise than the sibling check_pdf_accessibility, which targets a different property of the same file type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the two mutually exclusive input routes (inline base64 vs. a download link) and redirects to the REST API when a full JSON/XML/HTML report is needed. It never explicitly says when to prefer this over check_pdf_accessibility, so sibling routing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources