PaperType

PDFs for AI agents: one install line, a file on disk.

PaperType is a hosted PDF renderer with an open-source MCP server. Your agent writes the Markdown, HTML or template data; the server renders it on PaperType and saves the PDF where you say. The model gets a file path and a page count back, never the bytes.

Install

Claude Code

claude mcp add papertype -e PAPERTYPE_API_KEY=dp_... -- npx -y papertype-mcp

Claude Desktop (claude_desktop_config.json) and Cursor (.cursor/mcp.json)

{
  "mcpServers": {
    "papertype": {
      "command": "npx",
      "args": ["-y", "papertype-mcp"],
      "env": { "PAPERTYPE_API_KEY": "dp_...", "PAPERTYPE_OUTPUT_DIR": "/Users/you/Documents/papertype" }
    }
  }
}

Python agents and scripts

pip install papertype
export PAPERTYPE_API_KEY=dp_...
papertype render notes.md -o notes.pdf

Needs Node.js 20+ for the MCP server. Listed in the official MCP registry as dev.papertype/papertype-mcp. Any stdio MCP client works; see the README.

What the agent can do

  • render_pdf Markdown or HTML, or a hosted template with data, to a PDF file. Options: theme, page size, cover page, table of contents, page numbers, header and footer text, custom CSS. Returns the file path, page count and remaining quota.
  • list_templates The hosted templates (invoice, certificate, report) with their fields, so the model can fill them without guessing.
  • account Plan, monthly quota and usage behind the configured key. Uses no quota.

Try it once installed: "Turn the meeting notes in notes.md into a PDF with a cover page and contents, report theme, and save it in ~/Documents."

Why an API instead of a local converter

  • Nothing to install on the machine beyond Node. No LaTeX, no headless Chrome, no WeasyPrint and its system libraries. The same config works on a laptop and in CI.
  • Paged output. Real page breaks, a contents table with leader dots and page numbers, running headers and footers, widow and orphan control. A browser's print-to-PDF does not do this.
  • Safe for untrusted content. The renderer has no network access and runs no JavaScript, so a document the agent assembled from the web cannot make the renderer fetch anything or reach your network.
  • The model never sees the PDF bytes. Files go to disk; the context window gets a path and a page count.

Limits and price

A free key renders 50 documents a month with a small "papertype.dev" footer mark. Paid plans remove the mark: Starter $9 for 500 documents, Pro $29 for 3,000, Scale $79 for 15,000, all per month with a hard cap and no overage charges. Each render_pdf call is one document. Inputs up to 2 MB and 300 pages. Pricing details.

Questions

Does the model get my API key?

No. The key lives in the MCP client's environment and the server process; it is sent only to papertype.dev over HTTPS. The model sees tool results, not configuration.

What happens to the documents I render?

API renders are returned and not stored; the service keeps a count per month and an error log. See the privacy policy.

Can I use it without an agent?

Yes. The same key works with the HTTP API, the Python SDK and CLI, and the browser studio needs no key at all.

Where is the code?

The MCP server and SDKs are MIT-licensed at github.com/papertype-dev. The hosted renderer is the paid service.