How to get a real PDF out of Claude (5 minutes, no code)
The short answer: add https://inkrun.dev/api/mcp as a remote connector in Claude (OAuth handles sign-in), then ask Claude to "render this as a PDF with the sales-proposal template." You get back a download link to a typeset document. That's the whole workflow.
The rest of this post is the setup with screenshots, what's actually happening under the hood, and the prompts that work best.
The problem: Claude writes documents, not documents
Claude is genuinely good at drafting a proposal, a report, or an investor update. But the output is text in a chat window. The last mile — the one everyone still does by hand — looks like this:
- Copy the response.
- Paste into Google Docs or Word.
- Fix the headings the paste broke.
- Spend twenty minutes on fonts, spacing, and the table that won't behave.
- Export to PDF. Repeat next week, slightly differently.
Step 4 is the tax. And it compounds: every document formatted by hand drifts a little further from the last one, so your March proposal doesn't quite match your January proposal.
The fix: give Claude a PDF tool
MCP (Model Context Protocol) lets you plug tools into Claude. Inkrun's MCP server gives Claude exactly one capability it's missing: turning the Markdown it already writes into a designed PDF.
The important detail is what Claude controls and what it doesn't. Claude supplies the content and picks a template by name. The template — typography, colors, page geometry, table styling — is fixed and lives on your Inkrun account. Claude physically cannot make the document off-brand, because design isn't in its hands. (We wrote a whole post about why that boundary matters: Why your AI agent shouldn't write CSS.)
Setup: claude.ai (web)
- Open Settings → Connectors → Add custom connector.
- Name it
Inkrun, set the URL tohttps://inkrun.dev/api/mcp, and save. - Click Connect — you'll be sent through a standard OAuth sign-in on inkrun.dev (create a free account if you don't have one; the free tier includes 50 renders a month).
- Back in a chat, click the tools icon and confirm Inkrun is enabled.
(screenshot: connector settings panel)
Setup: Claude Desktop
- Settings → Connectors → Add custom connector.
- Paste
https://inkrun.dev/api/mcp, connect, approve the OAuth prompt in your browser. - Done — the tools appear in every new conversation.
(screenshot: Claude Desktop connector list showing Inkrun)
Your first render
Paste some notes into Claude — meeting notes, a rough outline, anything — and ask:
"Draft a one-page project proposal from these notes and render it as a PDF with the one-pager template."
Claude drafts the Markdown, calls Inkrun's create_pdf tool, and replies with a download link. Open it: proper heading hierarchy, a real typographic scale, page margins set for print, your accent color. Average render time is under two seconds.
A few prompts that work well:
- "Turn this thread into meeting minutes and render with the meeting-minutes template."
- "Summarize the attached research as a whitepaper PDF."
- "Ask me what's missing, then produce the investor update as a PDF with our template."
Discovering what's available
You don't need to memorize template names. Ask Claude:
"What Inkrun templates do I have?"
Claude calls list_templates and shows you the named styles on your account — the 20 built-ins (Quarterly Report, Sales Proposal, Runbook, Release Notes…) plus any you've customized. You can even have Claude mint a new one:
"Create an Inkrun template called 'Acme Brand' based on the default theme with accent #0F4C81 and Inter for headings."
From then on, "…as a PDF with the Acme Brand template" produces your branding every time — for you, and for anyone else on the account.
Why the output is consistent (the part that matters)
Inkrun renders every document through one pipeline: your Markdown is dropped into the same HTML shell and styled by the same theme CSS, then printed by a managed headless-Chromium fleet. Fonts are self-hosted and embedded, so there are no network fetches at render time and no "it looked different on my machine." Same input, same output — the tenth render matches the first.
That's also why this beats asking an AI to "make it look nice": consistency isn't something a language model can promise. A template can.
FAQ
Does this cost anything? The free tier includes 50 renders a month — enough to make it a daily habit before deciding. Pro is $20/mo for 500.
Does it work with agents other than Claude? Yes — any MCP client can connect, and there's a plain REST API (POST /api/v1/render) for code.
Where do the PDFs live? Each render is stored on your account with a re-fetchable link, and shows up in your dashboard history tagged as an MCP render.
Can Claude break the design? No. Content and form never mix: Claude's Markdown is treated strictly as content, and the theme is the only source of styling.
Next step: see the full agent-to-proposal workflow on our proposal generator use-case page, or just add the connector and ask Claude for your first PDF.