Zovo PDF Maker
Server Details
Turn Markdown or plain text into a clean PDF document to print or share, plus an editable Word file.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: make_pdf creates downloadable PDF/DOCX files, while check_pdf_text verifies that Markdown text blocks appear in a PDF in order. Although check_pdf_text can internally build a PDF when none is uploaded, its verification-only scope and non-editing behavior keep it separate from make_pdf.
Both names follow a consistent snake_case verb_object pattern: check_pdf_text and make_pdf. The naming is predictable and readable.
Two tools is thin for a PDF-making server, even though each has a clear role. The surface covers creation and verification but feels minimal compared with typical 3-15 tool servers.
The core workflow of Markdown/text to PDF with text verification is covered, including DOCX output and useful options. Minor gaps include no image embedding, no conversion of existing files, and only text-level PDF checking, but these are explicitly scoped limitations rather than dead ends.
Available Tools
2 toolscheck_pdf_textCheck PDF text against MarkdownARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Optional: 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. | |
| text | Yes | The Markdown whose blocks should be found in the PDF, e.g. "# Budget\n\n| Item | Cost |\n|---|---|\n| Rent | 1200 |". | |
| paper | No | Paper size: letter (US, default) or a4. | |
| title | No | Optional document title printed at the top (or on a title page), e.g. "Q3 Field Report". Up to 200 characters. | |
| format | No | markdown (default) reads # headings, lists, tables and so on; plain prints the text as paragraphs with no markup. | |
| margins | No | Page margins: normal (1 in / 25.4 mm, default) or narrow (0.5 in / 12.7 mm). | |
| font_size | No | Body text size in points from 10 to 14, e.g. 11 (default). | |
| title_page | No | true to print the title on its own first page. Needs a title (or uses the first heading). Default false. | |
| page_numbers | No | true (default) prints "page / total" at the bottom of each page except a title page. | |
| table_of_contents | No | true to add a contents page listing headings of levels 1-3 with their page numbers. Default false. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | Yes | |
| pages | Yes | |
| result | Yes | |
| source | Yes | |
| missing | Yes | |
| pages_read | Yes | |
| out_of_order | Yes | |
| missing_count | No | |
| blocks_checked | Yes | |
| out_of_order_count | No | |
| blocks_found_in_order | Yes |
TDQS
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.
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.
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.
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.
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.
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.
make_pdfMake PDF and Word fileARead-onlyIdempotentInspect
Use this when the user wants Markdown or plain text (a chat answer, notes, a report, a README) as a downloadable PDF and an editable Word (DOCX) file. Reads ATX headings 1-4, paragraphs, bold, italic, inline code, fenced code blocks, bullet and numbered lists (2 levels), pipe tables, links, block quotes and rules; other Markdown prints as plain text and is listed in notes. Options: Letter or A4, normal or narrow margins, 10-14 pt text, title page, contents page, page numbers. Returns both links, the page count, the outline with page numbers, and a read-back check of the PDF text. Does not write or edit content, embed images, or convert existing files (Word, HTML, scans). Links expire in about 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The Markdown or plain text to typeset, up to 200,000 characters, e.g. "# Trip notes\n\n- Day 1: Lisbon\n- Day 2: Porto". | |
| paper | No | Paper size: letter (US, default) or a4. | |
| title | No | Optional document title printed at the top (or on a title page), e.g. "Q3 Field Report". Up to 200 characters. | |
| format | No | markdown (default) reads # headings, lists, tables and so on; plain prints the text as paragraphs with no markup. | |
| margins | No | Page margins: normal (1 in / 25.4 mm, default) or narrow (0.5 in / 12.7 mm). | |
| font_size | No | Body text size in points from 10 to 14, e.g. 11 (default). | |
| title_page | No | true to print the title on its own first page. Needs a title (or uses the first heading). Default false. | |
| page_numbers | No | true (default) prints "page / total" at the bottom of each page except a title page. | |
| table_of_contents | No | true to add a contents page listing headings of levels 1-3 with their page numbers. Default false. |
Output Schema
| Name | Required | Description |
|---|---|---|
| check | Yes | |
| notes | Yes | |
| pages | Yes | |
| paper | Yes | |
| title | Yes | |
| counts | Yes | |
| headings | Yes | |
| downloads | Yes | |
| file_name | Yes | |
| font_size | Yes | |
| headings_count | No | |
| expires_in_hours | Yes | |
| replaced_characters | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, the description discloses the return payload (both links, page count, outline with page numbers, a read-back text check) and the critical operational caveat that links expire in about 1 hour. It also states the fallback behavior for unsupported Markdown (printed as plain text and listed in notes), which is behavior no annotation or schema conveys. Nothing contradicts readOnlyHint, since no pre-existing content is modified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with the use case, then capabilities, then options, then returns, then exclusions and the expiry caveat, so an agent can stop reading at any point. The Markdown feature list is long but each item informs a real formatting decision, leaving little genuine waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter generation tool with full schema and an output schema, the description covers the remaining risk surface: what syntax renders, what happens to the rest, size/pagination options in prose, artifact lifetime, and what comes back. An agent needs nothing else to call it correctly or to explain the result to a user.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all nine parameters, enums and defaults are already documented in structured form; the description's option recap (Letter/A4, normal/narrow, 10-14 pt, title page, contents, page numbers) largely repeats it. The one genuine addition is that heading parsing covers ATX levels 1-4 and that contents lists levels 1-3, which clarifies how text interacts with format and table_of_contents. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete verb and dual artifact ("as a downloadable PDF and an editable Word (DOCX) file") and enumerates exactly which Markdown constructs are honored versus printed as plain text. An agent can distinguish this typesetting tool from the sibling check_pdf_text purely from the text, since it explicitly frames its own read-back as a validation extra rather than the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use this when the user wants Markdown or plain text ... as a downloadable PDF and an editable Word file" gives a clear triggering condition, and the closing sentence supplies explicit exclusions (no writing/editing content, no image embedding, no conversion of existing Word/HTML/scans). It stops short of naming an alternative tool for the excluded cases (e.g. check_pdf_text for verifying an existing PDF), so it is a strong 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
check_pdf_text - First observed
make_pdf
Related MCP Connectors
Turn HTML or Markdown into a clean, styled PDF and get a download link.
Markdown in, any format out. PDFs merged, split, watermarked. Runs on our own doc engines.
Turn Markdown and AI answers into Word (.docx) with native equations, or into PDF.
I create PDF documents from markdown, preview, then generate a downloadable file
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConverts Markdown files to print-ready PDF and Word DOCX with professional styling, page numbers, table of contents, and custom themes.MIT
- AlicenseNot gradedqualityFmaintenanceConverts markdown files into professional PDF documents with automatic table of contents and interactive navigation.8MIT
- AlicenseNot gradedqualityDmaintenanceConverts Markdown files and raw content into professionally styled PDFs with full support for Mermaid diagrams and syntax highlighting. It offers customizable page formats, margins, and modern typography for high-quality document generation.11MIT
- AlicenseAqualityDmaintenanceConverts Markdown documents to professional Word documents with advanced formatting capabilities including mathematical formulas, custom styling, tables, images, headers/footers, and watermarks.4187 npm14MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.