PDF Agent by Nova (CIVAI)
Server Details
I create PDF documents from markdown, preview, then generate a downloadable file
- Status
- Healthy
- Uptime
- 94.8% over 22 days
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Most tools are distinct (generate_pdf, list_previews, delete_preview, converse), but get_preview and preview_document have overlapping names and could easily be confused. Descriptions are minimal, so an agent may struggle to tell whether preview_document creates a preview or retrieves one.
Names are consistently snake_case and mostly follow verb_noun form (delete_preview, generate_pdf, get_preview, list_previews, preview_document). The only exception is converse, which is a single verb, but it still fits the pattern well overall.
Six tools is well-scoped for a PDF generation and preview server. Each tool appears to earn its place, with no obvious redundancy or missing core operation.
The preview lifecycle is covered (create via preview_document, list, get, delete) and generate_pdf covers final output. Minor gaps exist, such as no explicit retrieval of a generated PDF, but the core workflow is complete.
Available Tools
6 toolsconverseCInspect
Reply conversationally when the request is ambiguous or needs clarification.
| Name | Required | Description | Default |
|---|---|---|---|
| reply_hint | No | Optional hint for the conversational reply. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It says nothing about whether this ends the turn, whether it mutates state, whether it should be combined with other tool calls, or what the reply consists of โ significant gaps for a tool with zero structured behavioral coverage.
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?
A single tight sentence that front-loads the action and appends the trigger condition; nothing is wasted. It is efficient, though it is efficient at a fairly low level of detail.
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?
The tool is low-complexity (one optional param, no output schema), so the short description is defensible, but with no annotations and no output schema the description should at least clarify the conversational fallback's role in the turn lifecycle. It stops just short of that.
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?
There is one optional parameter (reply_hint) whose schema description already covers it at 100% coverage, so the baseline of 3 applies. The description adds no syntax, format, or influence guidance beyond what the schema already supplies.
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?
It gives a verb ('reply conversationally') and a trigger condition ('when the request is ambiguous or needs clarification'), which separates it from the calendar siblings by function. However, the 'resource' is nebulous โ there is no statement of what the reply acts on or produces, so the agent must infer it is a non-action fallback.
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?
The description names one condition for use: ambiguity or need for clarification. It implies, but never states, that the event-management siblings (add/update/delete/check events) are the alternative when the request is clear, leaving the when-not boundary to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_previewDInspect
๐ PDF Generator: delete preview
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | Parameters for this action (title, content, preview_id). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. For a delete operation it says nothing about irreversibility, required permissions, whether the preview must exist first, or side effects on referenced documents. This is a complete gap.
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?
The description is a single short fragment, which is concise but only because it is under-specified rather than efficient. It contributes no substantive content ahead of or behind the label.
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?
A destructive tool with no annotations, no output schema, and a one-line label is not adequately described. An agent cannot confidently determine the effect of the call, what it destroys, or what it returns.
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% and there is only one parameter, so per the baseline rule a 3 is appropriate. The description adds nothing about the detail parameter, whose schema text ('title, content, preview_id') is ambiguous for a delete call, but structured coverage carries it.
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 '๐ PDF Generator: delete preview' merely restates the tool name and categorises it under PDF Generator. It contains no verb+resource elaboration beyond what the name already conveys, so an agent learns nothing new about what is deleted or from where.
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?
There is no indication of when to call this versus get_preview, list_previews, or preview_document. No prerequisites, no warning that this is a destructive operation, and no note about what preview_id should reference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_pdfDInspect
๐ PDF Generator: generate pdf
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | Parameters for this action (title, content, preview_id). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and discloses nothing: no mention of permissions, whether a preview is required, latency, side effects, or whether the output is a file, URL, or binary payload.
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 short, but brevity here reflects under-specification rather than economy. The single line contains a decorative emoji and no substantive information, so no sentence earns its place.
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 tool whose only argument is an opaque string blob and which has no output schema, annotations, or example, the description should explain what must go into detail and what comes back. It explains neither, so an agent cannot invoke it reliably.
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?
The schema technically reports 100% coverage, but the only parameter description is the generic phrase "Parameters for this action (title, content, preview_id)", which does not explain the structure, required fields, or format of the detail string. The tool description adds nothing to resolve this, leaving the caller with no real semantics.
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?
"PDF Generator: generate pdf" is a tautology that restates the tool name without adding a distinct verb+resource framing or scope. It does convey that a PDF is produced, but gives no indication of what is generated from or how it differs from siblings like preview_document.
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?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. An agent cannot tell from this text whether it should call generate_pdf or preview_document/preview flow first, despite those siblings existing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_previewDInspect
๐ PDF Generator: get preview
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | Parameters for this action (title, content, preview_id). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether the call is read-only, whether it mutates state, what permissions are needed, or what happens on a missing preview. The name implies a read but this is never stated.
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 short, but brevity here comes from omission rather than economy. The single fragment is a label with an emoji rather than a front-loaded, informative statement.
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 no annotations, no output schema, and an ambiguous parameter, the description must define what a preview is and what the call returns. It does none of this, so an agent cannot reliably decide to invoke it or predict its result.
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 nominally 100%, but the single 'detail' parameter's own description ('Parameters for this action (title, content, preview_id)') is opaque and lists fields that make little sense for a get operation. The tool description adds no clarification, leaving the parameter's real semantics unresolved.
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 'PDF Generator: get preview' essentially restates the tool name with a category prefix. It does not say what a 'preview' is, what resource it retrieves, or how it differs from siblings like preview_document or list_previews, making it a near-tautology.
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?
There is no guidance on when to call this tool versus preview_document, list_previews, or generate_pdf. No prerequisites, no context, no exclusions are stated anywhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_previewsDInspect
๐ PDF Generator: list previews
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | Parameters for this action (title, content, preview_id). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no read-only confirmation, no permissions, no pagination or result-size behavior. A bare label on a zero-annotation tool provides no behavioral context whatsoever.
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?
The line is short but this is under-specification rather than conciseness; there is no substance being efficiently conveyed. The product prefix and emoji occupy most of the text without adding usable meaning.
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 no annotations and no output schema, the description is the only place an agent could learn how listing works, and it supplies nothing about filtering, ordering, pagination, or the returned preview records. It is inadequate for even a simple list operation in a five-sibling group.
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% for the single 'detail' parameter, so the baseline of 3 applies. However, the schema's own text is boilerplate ('title, content, preview_id') that reads like write-action fields rather than list filters, and the description does nothing to clarify the intended input.
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 text 'list previews' is essentially a restatement of the tool name, with only an emoji and a product-family prefix ('PDF Generator') added. It does not describe scope, what a preview is, or how it differs from get_preview or preview_document.
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?
There is no when-to-use, when-not-to-use, or alternative-tool guidance at all. Siblings like get_preview and preview_document are never referenced, so the agent must guess which of the group to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_documentCInspect
๐ PDF Generator: preview document
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | Parameters for this action (title, content, preview_id). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, yet it discloses nothing: not whether previewing is read-only, whether it creates/saves a preview artifact, what happens on repeated calls, or any auth/rate constraints. This is a total absence of behavioral disclosure.
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 short, but it is under-specified rather than concise โ the single fragment conveys no actionable information. Brevity here reflects missing substance, not efficient structure.
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?
Though the tool has just one parameter and no output schema, the definition omits everything an agent needs to select and invoke it correctly: what the preview produces, how it relates to generate_pdf/get_preview, and any return or side-effect behavior. It is inadequate for disambiguating among five closely related siblings.
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% and there is only one parameter, so the baseline is 3 per the rules. However, the description adds nothing, and the single 'detail' wrapper with generic schema text ('Parameters for this action (title, content, preview_id)') provides weak semantic grounding.
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 is essentially the tool name restated โ 'preview document' adds no verb or resource detail beyond the identifier, and the '๐ PDF Generator' prefix is a category label, not a purpose statement. It does not distinguish this tool from close siblings like generate_pdf or get_preview, so an agent cannot tell what preview_document uniquely does.
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?
There is no guidance on when to use this tool versus the five siblings (generate_pdf, get_preview, delete_preview, list_previews, converse). No prerequisites, context, or exclusions are stated, leaving usage entirely to inference.
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.
12 tool updates
- Added
converse - Added
delete_preview - Added
generate_pdf - Added
get_preview - Added
list_previews - Removed
pdf_generator__converse - Removed
pdf_generator__delete_preview - Removed
pdf_generator__generate_pdf - Removed
pdf_generator__get_preview - Removed
pdf_generator__list_previews - Removed
pdf_generator__preview_document - Added
preview_document
6 tool updates
- First observed
pdf_generator__converse - First observed
pdf_generator__delete_preview - First observed
pdf_generator__generate_pdf - First observed
pdf_generator__get_preview - First observed
pdf_generator__list_previews - First observed
pdf_generator__preview_document
Related MCP Connectors
Turn HTML or Markdown into a clean, styled PDF and get a download link.
Compliant PDFs (PDF/A-2A + PDF/UA-1) from markdown or a compact DSL - fast, no headless browser.
Markdown to PDF: headings, bold, code, lists, rules. A4/Letter/Legal. Free 30/hr. MCP + REST.
Markdown in, any format out. PDFs merged, split, watermarked. Runs on our own doc engines.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceConverts markdown files into professional PDF documents with automatic table of contents and interactive navigation.8MIT
- FlicenseNot 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.11-
- FlicenseNot gradedqualityDmaintenanceProvides tools for converting Markdown content and files into professional PDF documents with full support for Mermaid diagrams and LaTeX rendering. It allows for high-quality output customization, including paper size, table of contents, and syntax highlighting styles.-
- AlicenseNot gradedqualityDmaintenanceConverts Markdown files to print-ready PDF and Word DOCX with professional styling, page numbers, table of contents, and custom themes.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.