KrushnaVardhanReddy/PaperPilot: Your native AI copilot for paperwork · GitHub


PDF instruments in your AI agent — and for you. Pure Rust. Runs regionally. Files by no means depart your machine.

Try it in your browser → · Download · Roadmap

PaperPilot is a PDF and doc toolkit written in Rust. The similar engine runs as:

Surface Use it for
MCP server Give Claude Desktop, Cursor, or any MCP consumer the power to merge, break up, OCR, and compress PDFs
CLI Batch and scripted workflows
Browser (WASM) Zero-install instruments; recordsdata are processed in browser reminiscence, 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.


1. Use it with Claude / Cursor (MCP)

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

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

Restart Claude and check out: “Merge these two PDFs and compress the end result.”

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

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

# Rotate pages 1, 3–5 by 90°
paperpilot rotate --input in.pdf --pages 1,3-5 --angle 90 --output out.pdf

Go to usepaperpilot.com. Open your browser’s Network tab when you work — you may see no file uploads.

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

Desktop app:

cd apps/desktop && pnpm set up && pnpm tauri dev

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


What it may possibly do right this moment (v0.6)

Organize: merge, break up, rotate, delete pages, reorder pages, extract pages, booklet imposition, N-up grid
Optimize: compress
Extract: plain textual content, OCR (pure-Rust PaddleOCR through rten)
Security: watermark, validate signatures, take away signatures, PII scan, deep sanitize
Office knowledge: Excel → JSON, Excel → CSV

Coming subsequent (see ROADMAP.md):

  • v0.7: PDF ↔ Markdown / HTML / JSON
  • v0.8: PDF → Word / Excel / PowerPoint
  • v0.9: encrypt, decrypt, signal, redact, varieties, annotations
  • v1.0: render, flatten, restore, examine, PDF/A, Bates numbering

  • Private by default. Everything runs regionally or in your browser tab.
  • Agent-ready. MCP assist is first-class, not an afterthought.
  • One engine, many surfaces. CLI, MCP, REST, WASM, and desktop share the identical Rust core, so conduct is constant.
  • Small and dependency-light. Pure Rust, constructed on lopdf, pdf_oxide, rten, and buddies.

Run cargo bench --workspace to breed. Methodology and outcomes: 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: utility/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 experiences with a pattern PDF, new instrument requests, and docs fixes.

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

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



Source link