Skip to main content
Glama

validate_conversion

Idempotent

Compare a source document with its converted version to check text, numeric, identifier, and structural fidelity, and return a report of mismatches and unsupported checks.

Instructions

Given a source document and a converted one (made by anything), run every check that is possible for the format pair and return the validation report: text, numeric and identifier fidelity, structure, and every property NOT_CHECKED or UNSUPPORTED. Writes nothing unless report_path is set. [docbridge schema 0.2.4]

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
detailNosummary: report_summary + report_id (get_report has the rest). full: the whole report inline.summary
overwriteNo
report_pathNo
source_pathYesAbsolute file path.
target_pathYesAbsolute file path.
max_differencesNoDifferences kept in the full report; the rest are counted.
source_encodingNoText encoding of a .md/.txt input. Omit for UTF-8; docbridge never guesses.
target_encodingNoText encoding of a .md/.txt input. Omit for UTF-8; docbridge never guesses.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
toolYes
errorNo
reportNoThe full report. Over MCP only with detail='full'.
outputsNo
report_idNoPass to get_report for the full report (held for this server session).
disclaimerNodocbridge never alters, summarizes or silently truncates source evidence. docbridge reports what it compared. PASS on an axis covers only that axis's stated scope; NOT_CHECKED and UNSUPPORTED are never passes. PDF text is the text layer as PyMuPDF decodes it, not the rendered glyphs. Nothing here interprets meaning: numbers are compared as characters, not as values.
report_pathNo
report_summaryNo
schema_versionYes
conversion_notesNo
operation_completedYesThe operation ran and wrote its outputs. Says NOTHING about fidelity: read the report status.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.4

TDQS

A3.7/5.0
Behavior4/5

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

Annotations declare non-destructive, idempotent, but NOT read-only. The description resolves that tension well by stating 'Writes nothing unless report_path is set', which explains why readOnlyHint is false for a mostly-read operation. It also discloses behavior beyond annotations by naming the report contents (fidelity categories plus every NOT_CHECKED or UNSUPPORTED property).

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-loaded with the trigger condition and the returned checks in two dense sentences with no filler. The trailing '[docbridge schema 0.2.4]' tag is metadata rather than agent-facing guidance, a minor deduction.

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

Completeness4/5

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

For a validation tool whose return shape is covered by an output schema, the description gives enough: it defines inputs, the optional side effect, and the report's scope. Safety and idempotency come from annotations. The only real gap is the absence of routing against document_compare.

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 75%, so the schema already documents most parameters. The description adds meaning for report_path (the conditional write) and alludes to the report scope, but says nothing about detail, overwrite, max_differences, or the encoding parameters, so it only partially compensates for the uncovered fields.

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

Purpose4/5

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

States a specific verb (validate) and resource (a conversion between a source document and a converted one), and enumerates the check categories it returns: text, numeric and identifier fidelity, structure. It does not name or differentiate itself from the sibling document_compare, which is the most likely source of confusion for an agent, so it stops short of a 5.

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

Usage Guidelines3/5

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

'Given a source document and a converted one (made by anything)' sets the precondition and clarifies it works with output from any converter, which is helpful. However, it never says when to prefer this over document_compare, or when a validation is unnecessary, leaving the when-to-use decision largely implied.

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