AI agents can now generate PDFs
Large language models are great at producing Markdown. What they can’t do is turn that Markdown into a polished, branded PDF. That’s always been a manual step — copy the output, paste it somewhere, fiddle with formatting, export.
PaperQuire v0.3.0 removes that step entirely. The app now includes a built-in Model Context Protocol (MCP) server. Any MCP-compatible AI agent — Claude, ChatGPT, Copilot, or others — can call PaperQuire directly as a tool to render Markdown into professional documents.
What is MCP?
MCP is an open protocol that lets AI applications call external tools over a standard JSON-RPC interface. Think of it as “USB-C for AI tools” — one protocol, many tools. When you configure PaperQuire as an MCP server, your AI agent discovers its capabilities automatically and can call them during a conversation.
How it works
Run the MCP server as a CLI subcommand:
paperquire mcp-server
The server exposes four tools:
- render — convert Markdown to PDF with full template and branding support
- list_templates — discover all 8 built-in templates
- show_template — inspect a template’s design tokens, cover style, and page config
- batch_render — render multiple documents in one call (Pro)
It also exposes a paperquire://config resource that returns your project’s .paperquire.yml configuration, so the agent can discover your preferred template and branding before rendering.
Setup
Claude Desktop
Add this to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"paperquire": {
"command": "paperquire",
"args": ["mcp-server"]
}
}
}
Restart Claude Desktop, and you’ll see PaperQuire’s tools in the MCP panel.
Claude Code
Add to your project’s .mcp.json:
{
"mcpServers": {
"paperquire": {
"command": "paperquire",
"args": ["mcp-server"]
}
}
}
VS Code (GitHub Copilot)
Add to .vscode/mcp.json:
{
"mcp": {
"servers": {
"paperquire": {
"command": "paperquire",
"args": ["mcp-server"]
}
}
}
}
What you can ask your agent to do
Once configured, you can ask things like:
“Write a project status report for Q2 and render it as a branded PDF.”
“What templates does PaperQuire have? Show me the technical design template, then use it to render my spec.”
“Render all the markdown files in my docs/ folder as PDFs with the corporate template.”
The agent generates the content, calls PaperQuire’s MCP tools, and reports back with the file path. No manual steps.
Architecture
The MCP server reuses PaperQuire’s existing Electron-based render pipeline — the same Chromium engine behind the desktop app’s live preview and PDF export. This means MCP-rendered PDFs are identical to what you’d get from the GUI or CLI.
A few design decisions worth noting:
- Long-running renderer — unlike the CLI (which creates and destroys a renderer per command), the MCP server keeps one alive and reuses it across all tool calls. First render takes a few seconds; subsequent ones are fast.
- Stdout isolation — MCP uses stdout exclusively for JSON-RPC. PaperQuire suppresses Chromium’s startup noise on stdout so it doesn’t interfere with the protocol.
- Render lock — the Chromium renderer is single-threaded, so concurrent tool calls are serialized with a Promise-based mutex.
Free tier
The same daily limits apply: 3 free renders per day. Upgrade to Pro for unlimited renders and batch export.
Get it
- Download v0.3.0 for macOS, Windows, or Linux
- MCP setup guide for full configuration and tool reference
- CLI Reference for all commands including
mcp-server
Or install via Homebrew:
brew install --cask paperquire/paperquire/paperquire