Skip to main content
Glama
pdfmonkey

PDFMonkey MCP Server

Official
by pdfmonkey

generate_document

Generate a PDF from a template by merging your data, then retrieve the download URL when processing completes. Optionally specify a workspace.

Instructions

Generate a PDF document from a template with provided data. This uses async generation with automatic polling until completion. Returns the download URL when ready. Optionally target a specific workspace with workspace_id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ttlNoOptional time-to-live for automatic deletion (e.g., "7d", "2h", "30m")
metaNoOptional additional metadata to store with the document
payloadYesThe data to merge into the template (must match template structure)
filenameNoOptional filename for the generated PDF (e.g., "invoice-001.pdf")
template_idYesThe ID of the template to use for generation
workspace_idNoOptional workspace (app) ID to generate the document in. When omitted, uses the default workspace.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral disclosure burden. It does this well by revealing that generation is asynchronous, that polling happens automatically until completion, and that the result is a download URL. It does not mention side effects like document persistence or quota impact, but the core mutation and return behavior are transparent.

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?

The description is three concise sentences with no filler. The primary purpose is front-loaded, the async behavior and return value are stated next, and the workspace option is placed last. Every sentence contributes useful information.

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 6-parameter tool with no output schema and no annotations, the description does a good job covering the return value and async workflow. It could additionally mention failure modes or how to source template_id, but the schema plus sibling tool names provide enough context for an agent to invoke it correctly.

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?

The schema covers all 6 parameters with descriptions, so the baseline is 3. The description adds only minimal semantic value beyond the schema, such as clarifying that payload is 'provided data' and that workspace_id is optional. It does not enrich parameter understanding meaningfully, but it does not need to because the schema already documents the parameters well.

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 begins with a specific verb and resource: 'Generate a PDF document from a template with provided data.' This clearly distinguishes it from sibling tools like list_documents, delete_document, and get_document_status, which are about retrieving or managing documents rather than creating them.

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?

The description gives clear context for when to use the tool: when a PDF needs to be produced from a template. It also communicates the async polling workflow and optional workspace targeting, though it does not explicitly state exclusions or name alternatives like list_templates for finding a template_id.

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