Pdfmakerapi
@GerardoBarrera
About Pdfmakerapi
No overview available yet
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"pdfmakerapi": {
"command": "npx",
"args": [
"-y",
"@pdfmakerapi/mcp"
]
}
}
}Tools
1Create a professional, shareable PDF document — invoices, receipts, certificates, reports, resumes, letters, and more. Returns a link that opens the document in the PDFMakerAPI editor, where the user can preview it, edit any field, and download the PDF. Design a THOROUGH, realistic document (don't leave it sparse) that exactly follows this model, then pass it as `document`. DOCUMENT MODEL (PDFMakerAPI) Document: - id: string (short slug) - name: string - description: string (one short sentence) - pageSize: "letter" | "a4" | "legal" | "letter-landscape" | "a4-landscape" | "square" | "auto" (default "a4"; "auto" = letter width with the height growing to fit the content — use it for certificates/awards so there's no empty space below) - pageBackgroundColor: hex string (default "#ffffff") - margin: "none" | "sm" | "md" | "lg" — page margin; default "lg" - gap: "none" | "sm" | "md" | "lg" — vertical spacing between top-level sections; default "lg" - variables: Variable[] — every {{placeholder}} you use MUST be declared here - children: Node[] — the document body, top to bottom Variable: { id, name (snake_case, used as {{name}}), label (human), type: "text"|"date"|"number"|"currency", defaultValue?: string } Node (every node has: id, name, width: "full"|"1/2"|"1/3"|"1/4"|"2/3"|"3/4"|"auto", order: number, align?: "left"|"center"|"right", style?: NodeStyle): - container: { type:"container", layout:{ direction:"row"|"column", gap:"none"|"sm"|"md"|"lg", justify?:"start"|"center"|"end"|"between", alignItems?:"start"|"center"|"end"|"stretch" }, children: Node[] } - text: { type:"text", content: string (supports \n, {{vars}}, and **inline bold** — wrap part of the text in double asterisks to bold just that part, e.g. "Total: **{{total}}**"), fontSize?:"xs"|"sm"|"base"|"lg"|"xl", fontWeight?:"normal"|"medium"|"semibold"|"bold" } - table: { type:"table", columns: { id, name (data key), label (header), width?: "40%", align?: "left"|"center"|"right" }[], rowVariable: string } - spacer: { type:"spacer", height: "sm"|"md"|"lg"|"xl" } - divider: { type:"divider", lineStyle?: "solid"|"dashed"|"dotted" } NodeStyle: { backgroundColor?: hex, backgroundMode?: "none"|"solid"|"gradient", gradientTo?: hex, textColor?: hex, padding?: "none"|"sm"|"md"|"lg"|"xl", borderRadius?: "none"|"sm"|"md"|"lg", fullBleed?: boolean } VARIABLES — how data is inserted - In text content, insert a value with double braces and the exact snake_case name, e.g. {{invoice_number}} — no spaces inside the braces. Every {{name}} used MUST be declared in variables[]. - Give every variable a realistic defaultValue so the result looks complete. - TABLES do NOT use {{}}. A table renders one row per item in its rowVariable array, pulling item[column.name] for each cell — so each column "name" must match the row object's key. The rowVariable variable's defaultValue must be a JSON-encoded string of the row array, e.g. JSON.stringify([{ description: "Brand design", qty: "1", amount: "$2,400.00" }]). RULES - Use containers (direction:"row") to place items side by side. - Row widths: a direction:"row" container puts ALL children on ONE line (no wrap), so their widths must sum to AT MOST "full" (full=1, 3/4=.75, 2/3≈.67, 1/2=.5, 1/3≈.33, 1/4=.25). 1/3+1/3+1/3, 1/2+1/2, and 2/3+1/3 fit; 1/2+1/2+1/2 (1.5) or 2/3+2/3 overflow and break the layout — split into multiple stacked row containers or use narrower widths. - For label/value pairs (dates, totals, "Bill To", reference numbers), nest a direction:"row" container with two text children — a BOLD label (fontWeight:"bold") and the value as a {{variable}} — each with a width (e.g. label "1/3", value "2/3") so they align in columns. Stack such rows in a column container. - Use a table node for any repeating rows (line items, attendees) and set rowVariable. - Spacing between sections comes from the document "gap" (default "lg") — do NOT insert spacer nodes between top-level sections. - Table column alignment: left-align text columns, right…
Basic information
More Other MCP servers

DeepMark
DeepMark helps teachers deliver rapid, consistent marking with meaningful feedback for every student — in a fraction of the time. What once took a week, now takes one free period.

Glasswarp
GlasswarpSee and control a real Windows PC you own — from any MCP client, locally or remotely. Observe (UIA + screenshots), click/type/drag/scroll, launch apps, owner Live View. BYOH: your machine, your key.
MaxKB
1Panel-dev🔥 MaxKB is an open-source platform for building enterprise-grade agents. 强大易用的开源企业级智能体平台。

Lemon.io
lemon-ioRequest dedicated senior developers to work on your project, write job descriptions, and prep technical interviews — all without leaving your Claude chat. Just describe what you need, and Lemon.io MCP does the rest. 1–3
IDA Pro MCP
mrexodiaAI-powered reverse engineering assistant that bridges IDA Pro with language models through MCP.
Comments