ClaudeMap

PaperPilot

Local-first PDF toolkit in pure Rust with an MCP server: merge, compress, rotate and extract as one agent prompt — files never leave your machine

MCP Serverspdfmcprustlocal-firstopen source

PaperPilot builds the everyday PDF operations as tools for your AI agent — and for you: pure Rust, runs locally, files never leave the machine. paperpilot-mcp is a stdio MCP server; source builds can print ready-to-merge client configs with --client-config (claude-code, claude-desktop, cursor, codex, kimi-code, pi), and the README includes the full Claude Desktop JSON block. The CLI does merge/compress/rotate as one-liners, and the browser app at usepaperpilot.com invites you to open the Network tab and watch no file uploads happen. What v0.6 does today: organize and layout (merge, split, rotate, delete, reorder, extract, booklet imposition, N-up grids, multi-sheet poster tile slicing via pdf_posterize); optimize and compress (lossy compression with stream deduplication and CMYK safety guards); extract and ingest (structured text, detected Markdown tables, Apache Tika and Open-WebUI adapters, and pure-Rust OCR running PaddleOCR models via rten). Apache-2.0, Rust 1.75+.

What it does

  • MCP stdio server (paperpilot-mcp) with ready-made client configs: `paperpilot-mcp --client-config claude-code` prints merge-ready settings (also claude-desktop, cursor, codex, kimi-code, pi)
  • Organize and layout: merge, split, rotate, delete, reorder, extract, booklet imposition, N-up grids and multi-sheet poster tile slicing
  • Optimize and compress: lossy compression with stream deduplication and CMYK safety guards
  • Extract and ingest: structured text, detected Markdown tables, Apache Tika / Open-WebUI adapters, and pure-Rust OCR (PaddleOCR models via rten)
  • Everything runs locally in pure Rust — the browser app's own pitch is to watch the Network tab and see no uploads

When to use it

Agents that wrangle documents as part of a pipeline — merging reports, compressing scans, extracting tables before analysis — and anyone who wants those operations without uploading PDFs to a service. Privacy-sensitive document work and air-gapped setups fit naturally.

Getting started

# download the paperpilot-mcp binary from Releases, then add it to claude_desktop_config.json:
{
  "mcpServers": {
    "paperpilot": {
      "command": "/path/to/paperpilot-mcp"
    }
  }
}

# from a source build, print a ready-to-merge client config instead:
paperpilot-mcp --client-config claude-code   # also: claude-desktop, cursor, codex, kimi-code, pi

# CLI:
paperpilot merge --inputs doc1.pdf doc2.pdf --output merged.pdf

Things to know

v0.6 (768 stars as of writing, 2026-11-06). Apache-2.0 — the LICENSE file carries the full text even though GitHub's license metadata shows NOASSERTION. Building from source needs Rust 1.75+; Node.js and pnpm are only for the optional desktop app. The compress path is lossy — keep your originals; OCR quality varies with scan quality.

Repository

KrushnaVardhanReddy/PaperPilot

Charted

Related on the map

  • Blitz Strike

    MCP Server

    A penetration-testing methodology delivered as one MCP server: BLITZ maps the attack surface, EAGLE-EYE traces source-to-sink, STRIKE live-verifies every finding before it is reported.

    • mcp-server
    • security
    • pentest
    • methodology
  • Ripwire

    MCP Server

    Red Hat's "ripgrep for AI context" — a C++23 zero-dependency CLI that also speaks MCP.

    • mcp
    • code-context
    • cli
    • red-hat
  • Deja Vu

    MCP Server

    One shared session memory for 25+ coding agents — Claude Code, Codex, and Cursor finally remember the same project.

    • mcp
    • memory
    • cross-agent
    • context