PaperPilot ships a pure-Rust PDF toolkit with CLI, WASM and MCP server

PaperPilot is a PDF and document toolkit written in Rust, published on GitHub by the repository owner KrushnaVardhanReddy. Its README pitches it as "PDF tools for your AI agent, and for you": pure Rust, runs locally, and files never leave your machine. It says it needs no Chromium, no C++ runtime and makes no cloud calls.
The same engine is exposed through five surfaces: a Tauri desktop app, a CLI, a REST server built on Axum, an MCP server over stdio, and a WASM module for the browser or edge. According to the README they all share one Rust core workspace (paperpilot-core, paperpilot-pdf, paperpilot-nlp, paperpilot-gateway, paperpilot-mcp, paperpilot-wasm, paperpilot-storage), so behaviour is consistent across them. It is described as small and dependency-light, built on lopdf, pdf_oxide, rten and other libraries.
For AI agents, the setup is to download the paperpilot-mcp binary from the project's Releases page and add it to claude_desktop_config.json under mcpServers. After restarting Claude, the README suggests a prompt such as "Merge these two PDFs and compress the result." The CLI examples are paperpilot merge --inputs doc1.pdf doc2.pdf --output merged.pdf, paperpilot compress --input in.pdf --quality 75 --output compressed.pdf, and a rotate command that takes a page list and an angle. Running paperpilot serve --port 7823 starts a local REST server with endpoints such as POST /api/v1/pdf/merge and Swagger docs at localhost:7823/docs. There is also an embeddable widget script with a data-tools attribute (the README example lists merge, compress and ocr).
The README lists the current tools in five groups. Organize: merge, split, rotate, delete pages, reorder pages, extract pages, booklet imposition and an N-up grid. Optimize: compress. Extract: plain text and OCR, done with PaddleOCR running in pure Rust via rten. Security: watermark, validate signatures, remove signatures, PII scan and deep sanitize. Office data: Excel to JSON and Excel to CSV.
A browser demo lives at usepaperpilot.com, and the README invites users to open the Network tab while working to see that no files are uploaded. Building from source needs Rust 1.75 or newer, plus Node.js and pnpm for the desktop app; the CLI, MCP and gateway crates are built with cargo.
The roadmap has four steps: v0.7 converts PDF to and from Markdown, HTML and JSON; v0.8 converts PDF to Word, Excel and PowerPoint; v0.9 adds encrypt, decrypt, sign, redact, forms and annotations; v1.0 adds render, flatten, repair, compare, PDF/A and Bates numbering.
The Community Edition in the repo is Apache 2.0 and includes the CLI, MCP server, REST gateway, WASM engine and desktop app. A separate Enterprise Edition (SSO, RBAC, audit logs, DLP) is developed separately. Issues and PRs are welcome; the README suggests bug reports with a sample PDF, new tool requests and docs fixes as good first contributions.
Key facts
- PaperPilot is a Rust PDF and document toolkit whose README says it runs locally, with no Chromium, no C++ runtime and no cloud calls.
- One Rust core is exposed as a desktop app (Tauri), CLI, REST server (Axum, default example port 7823), MCP server over stdio and a WASM module for the browser.
- Tools today include merge, split, rotate, compress, text extraction, OCR via pure-Rust PaddleOCR (rten), signature validation and removal, PII scan, deep sanitize and Excel to JSON/CSV.
- The MCP server is set up by adding the paperpilot-mcp binary to claude_desktop_config.json.
- The Community Edition is Apache 2.0; a separate Enterprise Edition (SSO, RBAC, audit logs, DLP) is developed separately. The roadmap runs from v0.7 to v1.0.
Why it matters
Agent workflows often need to merge, compress, OCR or sanitize PDFs, and many tools for that run in the cloud or lean on heavy runtimes. PaperPilot's pitch is the opposite: a single Rust engine that stays on your machine or in your browser tab, with MCP support described as first-class. The same core behind a CLI, a REST API and a WASM build is the main design idea the README stresses.
Who it affects
People who give PDF tasks to AI agents such as Claude Desktop, developers who want a local PDF engine they can script from a CLI or call over REST, and anyone handling documents they do not want to upload. The PII scan and deep sanitize tools are aimed at privacy-sensitive work. Rust developers can also contribute: the README welcomes issues and PRs.
How to use it
For Claude, download paperpilot-mcp from the Releases page, add it under mcpServers in claude_desktop_config.json with its path as the command, restart, and ask for something like merging two PDFs and compressing the result. For the shell, use commands such as paperpilot merge and paperpilot compress --quality 75. For HTTP, run paperpilot serve --port 7823 and post JSON to the local /api/v1/pdf/merge endpoint. To build from source you need Rust 1.75+, Node.js and pnpm. The Community Edition is Apache 2.0. The Enterprise Edition's pricing and availability are not given.
How solid is it
Everything here comes from the project's own README, so the privacy and consistency claims are the author's statements. The README does point to a benchmark report (SYSTEM_BENCHMARK_REPORT.md) and cargo bench --workspace for reproduction, but no benchmark numbers are given in the text. It does not state a current version number, and the roadmap has no release dates. No comparison with other PDF tools, no performance, size or accuracy figures, and no independent security audit are mentioned. The README says users can check the no-upload claim themselves with the browser Network tab on the web demo.
Risks and caveats
Several advertised capabilities are still on the roadmap: conversion to and from Markdown, HTML, Word and PowerPoint, plus encryption, signing, redaction, forms and rendering are all planned for v0.7 to v1.0, not available now. OCR quality and supported languages are not stated. The README also shows an embeddable widget script served from cdn.usepaperpilot.com, which is separate from the local-only tools. The Enterprise Edition is developed separately from the open one, and what it includes or costs is not described.
“Pure Rust. Runs locally. Files never leave your machine.”
— PaperPilot README