paperjam: self-hosted Rust document archive with a native MCP server and MRZ check-digit validation

ilodezis · reddit · 2026-11-14

paperjam is an AGPL-3.0, single-binary Rust archive for household documents (passports, leases, insurance) with a built-in MCP server at /mcp. Uploads go through local PDF extraction, deskewed Tesseract OCR, and an ICAO 9303 MRZ parser with check-digit verification; with an LLM key it maps docs into 21 typed schemas and deterministically validates IBANs/national IDs across 10 countries, flagging mismatches instead of silently saving wrong numbers. MCP is stateless Streamable HTTP with OAuth 2.1 + PKCE, dynamic client registration for Claude.ai, bearer tokens for Claude Code, and an MCP App upload widget so agents never push base64 scans through context. 14 tools cover Tantivy search (18-language stemmers, filters like has:expiring), page renders, uploads, and expiring share links. Runs in one Docker container.

Original post →

More from coding & agent

coding & agent channel →