Skip to main content
Glama

Create a PDF

create_pdf

Turn Markdown or HTML you write into a well-set PDF: a report, invoice, letter, resume or plain document. Tables, headings, lists, images by URL and page breaks work; header, footer and page numbers are optional. For an invoice, resume or letter, prefer data (the fields, with template set to match): it is laid out properly, and an invoice is added up for you (leave out amounts, subtotal, tax or total to have them worked out; give them and they are checked). extract_data's invoice result can be passed as data as it is. Use it whenever the person wants a document they can download, print or send.

Input Schema

NameRequiredDescriptionDefault
dataNoInstead of markdown/html: the fields of an invoice, resume or letter (set template to match). We lay it out; for an invoice we also add up the lines, tax and total and report anything that doesn't add up.
htmlNo
styleNoquiet (default): modern sans, gray labels. classic: serif, fine rules, centered heads; suits letters and traditional CVs.
titleNoAlso the file name.
footerNo
headerNo
marginNo
markdownNo
templateNo
page_sizeNo
page_numbersNo

Output Schema

NameRequiredDescriptionDefault
cardNo
filesYes
stepsYes
job_idYes
statusYes
creditsYes
messageYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only declare the mutation profile (readOnly=false, idempotent=false, destructive=false), so the description carries real weight and delivers: supported markup features (tables, headings, lists, URL images, page breaks), optional header/footer/page numbers, and the notable behavior that invoice totals are computed when omitted and validated when supplied. It does not mention failure modes, size limits, or what happens on arithmetic mismatch beyond 'checked'.

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-loads the core capability in the first clause, then layers the invoice/resume/letter shortcut and the usage trigger. The long parenthetical about amounts is dense but earns its place; the prose is slightly sprawling and could be trimmed without loss.

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?

With 11 parameters, low schema coverage and an output schema (so return values need no explanation), the description covers the decisive paths well: content mode, structured-data mode, template matching and invoice math. Missing guidance on the styling/layout parameters is the only substantive gap for a tool this flexible.

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 only 27%, so the description must compensate, and it does so for the most consequential parameters: the markdown/html vs `data` choice, the need to set `template` to match, and the leave-out-or-supply rule for amounts, subtotal, tax and total. However `style`, `margin`, `page_size`, `page_numbers`, `header`/`footer` are never explained, leaving several layout parameters to bare enum values.

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 and resource — turning authored Markdown/HTML (or structured fields) into a laid-out PDF, naming concrete document types (report, invoice, letter, resume). It implicitly separates itself from file-conversion siblings by emphasizing content 'you write', but never names convert_to_pdf or convert_from_pdf, so the sibling boundary is inferred rather than stated.

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?

Gives a clear routing rule: for invoice, resume or letter, prefer `data` with a matching `template`, because layout and arithmetic are handled. It also states the trigger condition ('whenever the person wants a document they can download, print or send') and a handoff from extract_data. It stops short of any explicit when-not-to-use or alternative-tool exclusion.

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