Skip to main content
Glama

veraPDF by pagespool

Check a PDF's accessibility against PDF/UA

check_pdf_accessibility
Read-only

Check whether a PDF is accessible by PDF/UA, the ISO standard for accessible PDF.

veraPDF checks the machine-checkable rules of PDF/UA: tags, structure, alt text present, fonts, metadata. Whether alt text or reading order make sense still needs a person.

Input: pdf_base64 is the PDF as base64, at most 4 MB decoded; or pass the file as a download link in file. profile is "ua1" or "ua2".

Returns compliant (true or false), profile_name, 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, use the REST API (POST /v1/verapdf/api/validate/ua1).

Credits: 10 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.
profileNo"ua1" (the default) checks against PDF/UA-1 (ISO 14289-1), "ua2" against PDF/UA-2 (ISO 14289-2).ua1
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?

Beyond readOnlyHint and openWorldHint, the description discloses important behavioral limits: only machine-checkable PDF/UA rules are covered, human review remains necessary, inputs are capped at 4 MB decoded, specific failure codes exist (not_a_pdf, engine_unavailable), and each call costs 10 credits.

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?

The description is front-loaded with purpose, then scope caveat, inputs, outputs/errors, and cost. Most sentences earn their place, though the detailed return-field enumeration overlaps with the output schema and makes it denser than strictly necessary.

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 validator with an output schema, the definition is complete: it explains the standard, the scope of automated checking, input alternatives and size limit, profile choice, key return fields, error cases, and credit cost.

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%, so the schema already explains pdf_base64, file, and profile. The description restates the two input paths and the ua1/ua2 choice but adds little format or selection meaning beyond what the schema already provides.

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?

The description states a specific verb and resource: check whether a PDF is accessible under PDF/UA, the ISO standard for accessible PDF. This clearly distinguishes it from the sibling validate_pdfa, which concerns PDF/A rather than accessibility, without needing to name it.

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?

It clearly frames the tool as a PDF/UA accessibility check and notes that human review is still needed for semantic issues like alt text quality and reading order. It does not explicitly route between this and validate_pdfa, but the standards differ enough that the intended use is evident.

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