All posts
Blog4 min read

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:

  1. Copy the response.
  2. Paste into Google Docs or Word.
  3. Fix the headings the paste broke.
  4. Spend twenty minutes on fonts, spacing, and the table that won't behave.
  5. 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)

  1. Open Settings → Connectors → Add custom connector.
  2. Name it Inkrun, set the URL to https://inkrun.dev/api/mcp, and save.
  3. 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).
  4. Back in a chat, click the tools icon and confirm Inkrun is enabled.

(screenshot: connector settings panel)

Setup: Claude Desktop

  1. Settings → Connectors → Add custom connector.
  2. Paste https://inkrun.dev/api/mcp, connect, approve the OAuth prompt in your browser.
  3. 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.

Give your agent a PDF tool.
Connect Inkrun in five minutes — the free tier includes 50 renders a month.
Get started
Inkrun © 2026