cd /news/ai-agents/paperpilot-zero-cloud-pure-rust-pdf-… · home › topics › ai-agents › article
[ARTICLE · art-157600] src=github.com ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

PaperPilot – Zero-Cloud, Pure-Rust PDF Engine with WASM and MCP

PaperPilot, an open-source PDF toolkit written in pure Rust by developer KrushnaVardhanReddy, ships an MCP server that lets Claude Desktop, Cursor and other MCP clients merge, split, OCR and compress PDFs locally, with the same engine also running as a CLI, a WASM browser build, a Tauri + Svelte desktop app and a local REST API on port 7823. The project, released under Apache 2.0 and built on lopdf, pdf_oxide and rten, requires Rust 1.75+ and processes files on-device with no cloud calls; the roadmap lists PDF-to-Markdown/HTML/JSON conversion in v0.7, PDF-to-Office export in v0.8, encrypt/decrypt/sign/redact in v0.9 and render, flatten, repair and PDF/A in v1.0.

read3 min views2 publishedOct 26, 2026
PaperPilot – Zero-Cloud, Pure-Rust PDF Engine with WASM and MCP
Image: Michielbdejong (auto-discovered)

PDF tools for your AI agent — and for you. Pure Rust. Runs locally. Files never leave your machine.

Try it in your browser → · Download · Roadmap

PaperPilot is a PDF and document toolkit written in Rust. The same engine runs as:

Surface Use it for
MCP server Give Claude Desktop, Cursor, or any MCP client the ability to merge, split, OCR, and compress PDFs
CLI Batch and scripted workflows
Browser (WASM) Zero-install tools; files are processed in browser memory, nothing is uploaded
Desktop app Tauri + Svelte GUI with viewer, markup, and diff
Local REST API Call it from Python, Node, or n8n at localhost:7823

No Chromium, no C++ runtime, no cloud calls.

Download paperpilot-mcp from Releases, then add it to claude_desktop_config.json:

{
  "mcpServers": {
    "paperpilot": {
      "command": "/path/to/paperpilot-mcp"
    }
  }
}

Restart Claude and try: "Merge these two PDFs and compress the result."

paperpilot merge --inputs doc1.pdf doc2.pdf --output merged.pdf

paperpilot compress --input in.pdf --quality 75 --output compressed.pdf

paperpilot rotate --input in.pdf --pages 1,3-5 --angle 90 --output out.pdf

Go to usepaperpilot.com. Open your browser's Network tab while you work — you'll see no file uploads.

git clone https://github.com/KrushnaVardhanReddy/PaperPilot.git
cd PaperPilot
cargo build --release -p paperpilot-cli -p paperpilot-mcp -p paperpilot-gateway

Desktop app:

cd apps/desktop && pnpm install && pnpm tauri dev

Requires Rust 1.75+, Node.js, and pnpm.

Organize: merge, split, rotate, delete pages, reorder pages, extract pages, booklet imposition, N-up grid Optimize: compress Extract: plain text, OCR (pure-Rust PaddleOCR via rten) Security: watermark, validate signatures, remove signatures, PII scan, deep sanitize Office data: Excel → JSON, Excel → CSV

Coming next (see ROADMAP.md):

  • v0.7: PDF ↔ Markdown / HTML / JSON

  • v0.8: PDF → Word / Excel / PowerPoint

  • v0.9: encrypt, decrypt, sign, redact, forms, annotations

  • v1.0: render, flatten, repair, compare, PDF/A, Bates numbering

  • Private by default. Everything runs locally or in your browser tab.

  • Agent-ready. MCP support is first-class, not an afterthought.

  • One engine, many surfaces. CLI, MCP, REST, WASM, and desktop share the same Rust core, so behavior is consistent.

  • Small and dependency-light. Pure Rust, built onlopdf , pdf_oxide , rten , and friends.

Run cargo bench --workspace to reproduce. Methodology and results: SYSTEM_BENCHMARK_REPORT.md.

Desktop (Tauri) · CLI · REST (Axum) · MCP (stdio) · WASM (browser / edge)
                              │
                       Rust core workspace
   paperpilot-core · paperpilot-pdf · paperpilot-nlp · paperpilot-gateway
   paperpilot-mcp · paperpilot-wasm · paperpilot-storage
<script src="https://cdn.usepaperpilot.com/embed.js" data-tools="merge,compress,ocr"></script>
<div id="paperpilot-widget"></div>
paperpilot serve --port 7823
curl -X POST http://localhost:7823/api/v1/pdf/merge \
  -H "Content-Type: application/json" \
  -d '{"inputs": ["a.pdf", "b.pdf"], "output": "out.pdf"}'

Swagger docs at http://localhost:7823/docs.

Issues and PRs are welcome. Good first contributions: bug reports with a sample PDF, new tool requests, and docs fixes.

Community Edition (this repo): Apache 2.0. It includes the CLI, MCP server, REST gateway, WASM engine, and desktop app.

An Enterprise Edition (SSO, RBAC, audit logs, DLP) is developed separately.

── more in #ai-agents 4 stories · sorted by recency
── more on @paperpilot 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/paperpilot-zero-clou…] indexed:0 read:3min 2026-10-26 · —