Documents in, structured data out, styled documents back — one MCP server. Extraction that never guesses a value, and PDFs locked to your templates so the thousandth looks exactly like the first.
// documents in → structured data out { "tool": "extract", "preset": "invoice" } → { "vendor": "Acme Co", "total": 1240.5 } confidence 0.98 · grounded on page 1 // structured data → styled document back { "tool": "create_pdf", "template": "invoice-summary" } → 200 OK summary.pdf · 84 KB
Agent workflows start with a document and end with one — an invoice arrives, data comes out, a summary goes back to the customer. Inkrun is both directions behind one MCP server, one API key, and one credit meter.
inspect_document sizes up any PDF for free — page count, scanned-vs-digital, and what extraction will cost — then extract pulls the fields you asked for with a preset or your own JSON Schema.null plus a warning — not a plausible fabrication your pipeline trusts.create_pdf — typography, colors and page geometry locked to your templates, so output can't drift.You've fought this before: Puppeteer in a Lambda, fonts that render differently in CI, page breaks that split tables in half. Inkrun runs the headless-Chromium fleet so you don't. Send Markdown, name a template, get back a PDF that looks the same on render one and render ten thousand.
curl -X POST https://inkrun.dev/api/v1/render \ -H "Authorization: Bearer sk_..." \ -H "Accept: application/pdf" \ -d '{"markdown": "# Invoice #1042\n...", "template": "quarterly-report"}' \ --output invoice.pdf # → invoice.pdf · themed, print-ready, deterministic
Your content stays plain text. Inkrun drops it into a controlled theme, so every render comes out consistent and on-brand.
# Q2 Revenue Report **Inkrun Inc.** · Prepared June 2026 ## Summary Revenue grew **18%** quarter over quarter, driven by new enterprise accounts. > Net retention hit 112% — our best yet. ## By region | Region | Revenue | Growth | | -------- | ------- | ------ | | Americas | $1.2M | +14% | | EMEA | $840K | +22% | | APAC | $610K | +31% | - 47 new logos - 3 expansions
Revenue grew 18% quarter over quarter, driven by new enterprise accounts.
Net retention hit 112% — our best yet.
| Region | Revenue | Growth |
|---|---|---|
| Americas | $1.2M | +14% |
| EMEA | $840K | +22% |
| APAC | $610K | +31% |
Your source of truth is already plain text — repos, wikis, meeting notes. Inkrun is the export button those tools should have had: pick a template once, and every SOW, runbook, and report your team sends out looks like it came from the same design department. Because it did.
Browse the templatesWhat happens to my documents? Here is the whole answer — and the data-handling page traces every claim to the code that enforces it.
EU-resident processing is coming on a higher tier.
Harbourline Bookkeeping runs outsourced accounts payable for 140 small businesses. Every month, roughly 5,000 supplier invoices arrive in 5,000 layouts — and every rebillable one used to be retyped by hand into Harbourline's own template before it could go out to a client.
Their internal AI agent now does it in one Inkrun call: extract_and_generate pulls the vendor, line items and totals out of the supplier PDF and renders them straight onto Harbourline's letterhead. Missing fields come back as visible blanks with warnings — never invented values — so the team reviews exceptions instead of retyping everything.
“The part that sold us wasn't the speed — it was that it refuses to make things up. A blank field and a warning is something my team can work with.”
Every plan includes a monthly credit allowance and a per-key rate limit — 1 PDF render = 1 credit. Keys pick up your plan’s limits automatically — no config required.
For trying Inkrun and personal projects.
For production agents and teams.
For automated pipelines that outgrow Pro.
For high-volume pipelines and platforms.
One meter for the whole round trip — rendering and extraction draw from the same monthly allowance. You're only ever charged for the extraction tier that actually ran.
Add Inkrun's MCP connector and your agent gets an extract tool: send the PDF plus a preset (invoice, receipt, contract_terms, table_dump, full_text) or your own JSON Schema, and get back schema-shaped data with per-field confidence. inspect_document first tells you what it will cost — for free.
They're processed in memory and never stored — source bytes are never written to disk, and results are returned inline. Deterministic extraction never leaves our servers, we never train on your documents, and the optional model tier is sent with no-store routing flags. See the data-handling page for the full posture.
Inspection is free. Deterministic extraction is 1 credit per document (up to 20 pages), the model tier is 3, and opt-in OCR is 10. A PDF render is 1 credit — one meter for the whole round trip.
One POST to /api/v1/render with your Markdown and a template name returns the PDF bytes or a download URL. Quickstart takes under a minute.
Add Inkrun's MCP connector once. Then ask your agent for "a proposal as a PDF" and it calls create_pdf with the content; you get a themed document back as a link.
Yes — templates. A template is a theme plus your accent color, fonts and page size. Content never carries styling, so output can't drift off-brand.
Yes. Fonts are self-hosted and embedded, CSS is inlined, no network fetches at render time. Same input, same output — reproducible and air-gap friendly.