What pdf-it does
Anthropic ships a PDF skill that reads and fills PDFs. It does not compose them. Every Claude research session ends the same way: a wall of useful markdown and no clean way to turn it into a PDF a person would want to read.
pdf-it is the other half. Markdown in, designed PDF out. No Chrome printing, no manual HTML conversion.
Output: cover page, auto-generated table of contents, body with proper hierarchy, code blocks that hold across page breaks, page-numbered footer.
Works with
pdf-it is a standard Model Context Protocol server. Any local client that supports MCP can use it:
- Claude Desktop (Mac, Windows)
- Claude Code (CLI) — full skill triggers, "save this as PDF" auto-routes
- Cursor
- Cline (VS Code)
- Continue.dev
- Zed
- Goose
- Any custom agent built on the Anthropic SDK with MCP
Does NOT work on claude.ai web or Claude mobile apps because those cannot run local MCP servers.
Requirements: Node.js 18+ and Google Chrome installed locally on any client.
Install
npm install -g pdf-it-mcp
Or run on demand with npx pdf-it-mcp.
Configure
Claude Desktop, Cursor, Zed, and most other clients use the same JSON shape:
{ "mcpServers": { "pdf-it": { "command": "npx", "args": ["-y", "pdf-it-mcp"] } } }
For Claude Code: claude mcp add pdf-it -- npx -y pdf-it-mcp
Use
In any Claude session connected to the server, ask:
"Save this as a PDF"
Or any of: "export as PDF", "make a PDF report from this", "/pdf", "turn this into a PDF". The output lands in ~/Documents/pdf-it/ by default.
Tools
- generate_pdf — Convert markdown to PDF. Accepts a template (research-report or plain), optional title and author, and optional output path.
- list_templates — Return the list of available templates.
Templates
- research-report — Cover page with title, author, and date. Auto-generated table of contents from H1 and H2. Body with proper hierarchy. Page-numbered footer.
- plain — No cover, no TOC. Dense body content for short notes.
Why pdf-it instead of Anthropic's PDF skill
The two are complementary. Anthropic's skill handles input (read text, extract tables, fill forms, OCR scanned pages). pdf-it handles output (compose a designed PDF from markdown). Use both.
License
MIT. Source on GitHub: https://github.com/mrslbt/pdf-it
Built by Marsel Bait · https://marselbait.me
Server Config
{
"mcpServers": {
"pdf-it": {
"command": "npx",
"args": [
"-y",
"pdf-it-mcp"
]
}
}
}