SylphxAI/citra
Give your AI agent eyes for PDFs — structured text, tables, OCR, visual evidence, and page-level citations via MCP. Native Rust, local-first.
What it solves
Citra prevents AI agents from hallucinating when reading PDFs by providing "evidence" instead of just plain text. It solves the problem of agents inventing page numbers, flattening complex tables into unusable text, or failing to read scanned documents, by returning structured data that includes precise geometry, page-level citations, and OCR paths.
How it works
It operates as a local-first PDF engine written in Rust with a thin Node.js launcher. It can be deployed as a Model Context Protocol (MCP) server, a CLI, or an SDK. The system provides three primary tools for agents:
read_pdf: Extracts markdown, tables, structure, and OCR with citations.search_pdf: Locates page and snippet matches before performing a deep read.pdf_evidence: Handles visual crops, rendering, and focused evidence operations.
Who it’s for
It is designed for developers building AI agents that need to process high-stakes documents like financial reports, research papers, and scanned documents where accuracy and verifiable citations are critical.
Highlights
- Zero-config setup: Can be launched immediately via
npx -y @sylphx/citrawithout Docker or API keys. - Local-first privacy: PDFs are processed on the local machine without requiring cloud vision APIs.
- High-fidelity extraction: Preserves table rows, columns, and cells with bounding boxes.
- MCP Integration: Native support for Claude Desktop, Cursor, VS Code, and other MCP-compatible hosts.
- High Performance: Uses a native Rust engine for significantly lower latency compared to TypeScript-based PDF tools.
Related
- Project
- Project
- Project
- Project