How to Generate PDFs from Claude
Every "quick PDF" has the same detour: open a template, fill in the numbers, fight the layout, export, rename. For documents you produce from information you already have — invoices, summaries, reports — that detour is pure overhead.
With Claude connected to Apdf over MCP, the detour disappears: you describe the document, Claude drafts the layout and renders it. The PDF drops out of the conversation.
Connect Claude to Apdf
One OAuth-signed endpoint, any MCP client — add it in Claude Desktop under Settings → Connectors, or in Claude Code:
claude mcp add --transport http apdf https://apdf.io/mcp/main
Describe the document, get the PDF
Give Claude the facts; it writes the HTML layout and hands it to the
create-pdf-file tool:
Rendering runs as an async job — the agent handles the polling for you. The two tool results, verbatim:
{ "job_id": "01KY6XYMTM1W70X3M413ANGY68" }
{
"id": "01KY6XYMTM1W70X3M413ANGY68",
"created": "2026-07-23T07:27:31.000000Z",
"status": "successful",
"result": {
"file": "https://apdf-files.s3.eu-central-1.amazonaws.com/d864e4c26a61c263e41f5.pdf",
"size": 37505,
"pages": 1,
"expiration": "2026-07-23T08:27:32.647578Z"
}
}
Steer the output — in plain English
The tool exposes the full layout surface — page format (Letter to A6), orientation, margins, scale, and header/footer templates — and Claude maps your wording onto it. Which means revisions are just more conversation:
The same pattern scales beyond invoices: paste meeting notes and ask for a summary one-pager, hand over CSV rows and ask for a formatted report — anything Claude can draft as HTML, the tool can turn into a document.
Where to go from here
Creating documents is half the toolbelt — the same connection also transforms them.
Your code made the PDF.
Then it went dark.
Opened, read, re-read, dropped on page 4 — you never see any of it. Share the PDFs you generate through Apdf recipient links, and every signal becomes something you can act on: ping Slack, update the CRM, let an agent follow up. Same account, same API token, one more call.
API · Webhook · MCP