Turn signed contracts into client-ready summaries.
A 40-page contract goes in. A one-page branded summary comes out. Nobody retyped anything.
extract_and_generateextractcreate_template
The problem
Every signed agreement triggers the same downstream chore: someone has to produce the human-readable version. The account team needs a deal sheet, the client needs a plain-language summary of terms, operations needs the renewal date and notice period on a page they'll actually read. So a person reads the contract, copies the parties, dates, fees and obligations into a document template, and formats it — again.
An agent can read the contract. But "read" isn't the deliverable — the deliverable is a document that looks like your firm produced it, with values you can trust came from the source.
How Inkrun solves it
- 1Send the contract and your summary templateA Markdown page with
{{party_a}},{{effective_date}},{{term_length}},{{renewal_notice}},{{fees}}placeholders, styled by your saved template — theme, fonts, cover page, accent color. - 2Inkrun extracts the termsThe
contract_termspreset returns grounded, schema-shaped values with per-field confidence. Nothing is paraphrased into existence: a term the contract doesn't state comes back blank, with a warning. - 3Inkrun renders the summary on your letterheadAnd returns a link.
one tool callMCP
agent → extract_and_generate(contract.pdf,
template: deal_summary_md,
theme: "firm-letterhead")
← { url: "https://…/renders/ctr_91d.pdf",
warnings: ["renewal_notice: not found — rendered blank"] }Why it holds up
Never-fabricate is a product rule, not a prompt
Missing fields render as explicit blanks plus warnings in the response envelope — a blank you can see beats a plausible value you can't verify.
Extracted text is inert
Values are substituted as data before Markdown parsing with HTML disabled, so a contract clause full of markup metacharacters renders as literal text, never as formatting or script.
The design is locked
Templates own the look; content can't restyle the page. Every summary from every agent lands on-brand.
Deterministic rendering
Self-hosted embedded fonts, inlined CSS, no network at render time — the same input produces the same PDF, every time.
Where it fits
- Law firms and legal ops producing deal sheets and engagement summaries
- Sales ops turning signed MSAs into internal handoff docs
- Procurement summarizing vendor agreements for stakeholders
- Renewals teams generating “key dates and obligations” one-pagers at scale
One MCP connector, both directions of the document layer.
Get API key