Home › Blog › Connect ShipPDF to your AI assistant
Connect ShipPDF to your AI assistant
Point Claude, ChatGPT, Gemini, or Copilot at ShipPDF over MCP and have it build a template, publish it, and generate a finished PDF from your data, all in one conversation.
Ask your AI assistant to “make an invoice for Acme, $1,240, due in 30 days” and it can get you a PDF. Ask it for a hundred of them and the problem shows up: the layout drifts, the branding is approximate, and no two come out quite the same. Each document is a fresh guess, and reproducing the exact one you sent last month is its own small project.
ShipPDF turns that guess into a template. Have your assistant mock up the document, preview it in the visual editor, adjust anything that’s off, and publish. From then on every render uses that same template, so the hundredth invoice looks like the first. ShipPDF exposes an MCP server, so the assistant can build the template, publish it, and generate the PDF with no rendering code on your side.
Here is the whole loop.
1. Point your assistant at ShipPDF
Add the server at mcp.shippdf.com to any MCP-compatible client (Claude, ChatGPT,
Gemini, or Copilot) and authenticate with a scoped key. The key sets the boundary:
templates:writefor creating and publishing templatesdocuments:createfor generating PDFs
Grant one or both. An assistant holding only documents:create can generate
documents and do nothing else to your account.
2. Ask it to build a template
Describe the document the way you’d describe it to a colleague: “an invoice with our
logo, a line-item table, and a totals block.” The assistant calls create_template
with a structured document (the fields plus the laid-out pages), then
publish_template to freeze that draft into a numbered revision.
create_template({ name: "Invoice", document: { /* pages + data fields */ } })
→ { template_id: "tpl_8f...", lock_version: 1 }
publish_template({ template_id: "tpl_8f..." })
→ { published_revision: 1 }
Before it publishes, open the draft in the visual editor to preview it with real data and adjust anything that’s off. You never hand-write the markup, and once published it is a real template object you can reuse, version, and roll back.
3. Generate the PDF from your data
Hand over the data. The assistant calls generate_document, gets a document_ref,
and checks get_document until the file is ready:
generate_document({
template_id: "tpl_8f...",
data: { number: "INV-1042", customer: "Acme Co." }
})
→ { document_ref: "doc_a3...", status: "queued" }
get_document({ document_ref: "doc_a3..." })
→ { status: "completed", pdf_url: "…/inv-1042.pdf" }
That pdf_url is a finished document on your template. Send it, file it, or drop the
link into a record.
Why go through MCP
- You keep your choice of model. ShipPDF doesn’t ship an AI. It exposes tools. Move from one assistant to another and the templates don’t notice.
- One template, every trigger. What the assistant builds is the same template your API and no-code flows use, not a parallel copy that drifts out of sync.
- You can reproduce it. Same template, same data, same PDF. A document an agent generated in March is one you can regenerate and verify in October.
- Scoped by the key, not by trust. The key sets the blast radius, so “let the assistant handle it” never turns into “the assistant can touch everything.”
New to ShipPDF? Start with templates in, documents out for how the templates themselves work.
Want your assistant to deliver the finished document instead of a draft of one? Sign up.
← Back to blog