Skip to main content
Glama

Zovo PDF Maker

Check PDF text against Markdown

check_pdf_text
Read-onlyIdempotent

Use this when the user wants to confirm that the text blocks of their Markdown (headings, paragraphs, list items, table cells, code) are present in a PDF in the same order. With an uploaded PDF it checks that file; without one it builds the PDF from the text as make_pdf does and checks it. Reports blocks found in order, missing and out of order. Compares text only: it does not check fonts, layout, images or spelling, and does not edit the PDF.

Input Schema

NameRequiredDescriptionDefault
fileNoOptional: a PDF to check, e.g. the report.pdf downloaded from make_pdf or exported from another app. Without it, the tool builds the PDF from the text and checks that.
textYesThe Markdown whose blocks should be found in the PDF, e.g. "# Budget\n\n| Item | Cost |\n|---|---|\n| Rent | 1200 |".
paperNoPaper size: letter (US, default) or a4.
titleNoOptional document title printed at the top (or on a title page), e.g. "Q3 Field Report". Up to 200 characters.
formatNomarkdown (default) reads # headings, lists, tables and so on; plain prints the text as paragraphs with no markup.
marginsNoPage margins: normal (1 in / 25.4 mm, default) or narrow (0.5 in / 12.7 mm).
font_sizeNoBody text size in points from 10 to 14, e.g. 11 (default).
title_pageNotrue to print the title on its own first page. Needs a title (or uses the first heading). Default false.
page_numbersNotrue (default) prints "page / total" at the bottom of each page except a title page.
table_of_contentsNotrue to add a contents page listing headings of levels 1-3 with their page numbers. Default false.

Output Schema

NameRequiredDescriptionDefault
notesYes
pagesYes
resultYes
sourceYes
missingYes
pages_readYes
out_of_orderYes
missing_countNo
blocks_checkedYes
out_of_order_countNo
blocks_found_in_orderYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds real value beyond that — the fallback build-from-text behavior and the reported outcome (blocks found in order, missing, out of order) — though it does not mention limits, size constraints, or failure modes for unreadable PDFs.

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

Conciseness5/5

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

Four sentences, front-loaded with the usage trigger, then mode behavior, then the scope boundary. Nothing is padded; the closing 'compares text only' sentence is the highest-value line and is kept short.

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?

With an output schema present, the description needn't explain return values, and it doesn't over-explain them. Given 10 parameters, nested file object, and a sibling make_pdf, the description covers the mode distinction and comparison scope that structured fields cannot express.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds non-obvious semantics for the optional file object: supplying it checks that file, omitting it triggers a build-and-check path. It also clarifies what 'text' means (Markdown whose blocks should appear), which the schema alone does not convey.

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 and resource — confirm that Markdown text blocks (headings, paragraphs, list items, table cells, code) are present in a PDF in the same order. The ordering-of-blocks criterion separates it cleanly from make_pdf, which it names explicitly.

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

Usage Guidelines5/5

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

Opens with a direct when-to-use clause ("when the user wants to confirm..."), then explains the two operating modes (with an uploaded PDF vs. building one as make_pdf does), and closes with explicit exclusions: no fonts, layout, images, spelling, and no PDF editing.

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