PDF Reader MCP Server
The PDF Reader MCP Server allows AI agents to securely read and extract data from PDF files.
Capabilities:
Extract full text content from PDFs
Extract text from specific pages or page ranges
Retrieve PDF metadata (author, title, creation date, etc.)
Get the total page count of a PDF
Process multiple PDF sources (local paths or URLs) in a single request
Operate securely within the defined project root directory
Provide structured JSON output for easy parsing by AI agents
Be installed and run via npm (npx) or Docker
Integrates with Codecov for code coverage reporting, as indicated by the badge showing coverage statistics for the project.
Provides Docker container deployment option, allowing users to run the PDF reader MCP server in an isolated environment with project directory mounting.
Integrates with GitHub for CI/CD pipeline execution, issue tracking, and repository management for the PDF reader MCP server.
Publishes to npm registry allowing installation via npm, with version tracking displayed through npm badge.
Future plans include PWA support for the documentation site, enabling offline access and mobile optimization.
Uses Vitest for performance benchmarking, measuring operations per second for various PDF processing scenarios.
Leverages Zod for input validation, ensuring that requests to the PDF reader MCP server are properly formatted and validated.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PDF Reader MCP Serverextract text from the quarterly report PDF in the reports folder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Citra
Give your AI agent eyes for PDFs.
Citra is a local-first PDF evidence product for agents — fast, citeable, owned entirely in this repository.
Turn PDFs into structured text, tables, OCR, visual evidence, and page-level citations — locally — via SDK, CLI, or MCP.
Plain-text PDF tools make agents guess. Citra returns proof.
Package (transition): @sylphx/pdf-reader-mcp · bin pdf-reader-mcp
Product docs
Doc | Purpose |
Strategic positioning | |
Peer anchors and wedge | |
Evidence = result contract | |
Few clear tools policy | |
This repo is SSOT | |
Independent public product bar | |
npm/git publish status |
Related MCP server: PDF Reader MCP Server
Why this exists
Most PDF tools dump text. Agents then invent page numbers, miss tables, and cite the wrong cell.
Citra returns an Agent Document Twin: markdown + structure + geometry + provenance your agent can actually trust.
Without evidence | With Citra |
“The revenue was about $12M” | “Page 14, Table 3, cell (row 4, col 2) = |
Lost table structure | Rows, columns, cells, bounding boxes |
Scanned PDF becomes noise | OCR path with page-linked evidence |
Hidden text / prompt injection ignored | Trust signals when requested |
Agent skill surface
Install (30 seconds)
npm install -g @sylphx/pdf-reader-mcpOr pin the current release:
npm install -g @sylphx/pdf-reader-mcp@4.1.1One native binary is installed for your platform only (not all five).
Platform | Native package (auto optionalDependency) |
macOS arm64 |
|
macOS x64 |
|
Linux x64 |
|
Linux arm64 |
|
Windows x64 |
|
Missing native package → fail closed (no silent engine switch).
Quick start
Claude Code
claude mcp add pdf-reader -- npx @sylphx/pdf-reader-mcpClaude Desktop / Codex / Cursor / VS Code / any MCP client
{
"mcpServers": {
"pdf-reader": {
"command": "npx",
"args": ["@sylphx/pdf-reader-mcp"]
}
}
}Dual-era hosts that send server/discover before initialize (e.g. Gemini Antigravity CLI) are supported on stdio — the server answers discovery and keeps the session open for the legacy handshake.
Stdio / HTTP
pdf-reader-mcp
MCP_TRANSPORT=http pdf-reader-mcpSDK (programmatic)
Citra is not MCP-only. Apps and internal dogfood can call the same engine without a chat client.
TypeScript — spawn the native server as a client
import { Citra } from '@sylphx/pdf-reader-mcp/sdk';
const citra = Citra.create();
const { payload, isError } = await citra.read({
sources: [{ path: '/absolute/path/to/doc.pdf' }],
// auto defaults on when you omit include_* flags
});
if (isError) throw new Error(JSON.stringify(payload));
console.log(payload);Low-level escape hatch: @sylphx/pdf-reader-mcp/pure-rust (createPureRustClient).
Export:
@sylphx/pdf-reader-mcp/sdk→Citra(read/search/evidence)Export:
@sylphx/pdf-reader-mcp/pure-rust→createPureRustClient,resolvePureRustServerBinary,PureRustClientTools (same as MCP):
read_pdf·search_pdf·pdf_evidenceRequires the platform optional native package (same as MCP install)
Roadmap: idiomatic high-level
@sylphx/citrapackage name + richer typed SDK; semantics stay isomorphic with CLI/MCP
CLI
npx pdf-reader-mcp --help # transitional bin
# doctor / read paths: see package bin and docs/guideMCP — see Quick start above (npx @sylphx/pdf-reader-mcp).
Independence: this product only. No central Instruments monorepo.
What you get
Three tools. One product surface.
Tool | What agents use it for |
| Smart default: markdown, tables, structure, OCR, citations |
| Find page + snippet matches before deep reading |
| Crops, renders, inspect, focused evidence ops |
Minimal call:
{
"sources": [{ "path": "/absolute/path/to/report.pdf" }]
}Flagship use cases
Financial reports — extract table cells agents can cite by page and geometry
Research papers — headings, reading order, page-level quotes
Scanned documents — OCR path with evidence, not a text soup
Install footprint (honest product comparison)
Compare full clean installs, not “JS wrapper tarball vs native executable”:
Metric (measured clean install, linux-x64) | Historical TS | Sole-Rust |
Main package on disk | ~403 KB | ~77 KB |
Full | ~82.3 MiB | ~24.4 MiB (~3.4× smaller) |
Installed files | 4,101 | 20 (~205× fewer) |
Production npm dependency graph | PDF.js + MCP TS SDK + more |
|
The native binary is multi-megabyte because it is the PDF intelligence engine (parser, server, rendering/table/OCR routing). That is expected and still yields a cleaner, smaller install than shipping PDF.js + a JS dependency tree.
Details: installed footprint comparison
Performance
Controlled same-host linux-x64 dual-mode A/B vs @sylphx/pdf-reader-mcp@3.0.14, using registry-installed 4.1.x natives:
Mode | What it measures | Result |
| long-lived server, repeated identical local | ≥ ~10× median latency improvement on all 8 required fixture classes |
| spawn + initialize + one task | large advantage on the same fixtures |
persistent_warm includes a process-local cache for identical local path+options. First request in a process still pays full parse cost.
Also: install footprint is much smaller than TS 3.0.14 on measured linux-x64 (~3.4× less disk, ~205× fewer files), and the 4.1.0 native binary is smaller than 4.0.2 (strip/LTO).
Not a multi-host guarantee. Details: 4.1.0 report · claims policy
Engine note
Version 4 runs a native Rust engine on supported platforms via a thin Node launcher.
Local-first. Five platforms. One clean install.
Engineering history, recovery pins, and ADRs live under docs/migration.md — not the product pitch.
Product proof
Docs
License
MIT
If this saves your agents from PDF hallucinations, star the repo and share a demo with your team.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to securely read and extract information from PDF files including text content, metadata, and page counts from both local files and URLs within the project context.Last updated12,445MIT
- AlicenseAqualityDmaintenanceEnables reading, searching, and metadata extraction from PDF files without loading the entire content into the context window. It provides efficient tools for text cleaning, page-specific extraction, and context-aware search results.Last updated3271MIT
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to read, search, and analyze PDF files from local paths or URLs. It provides tools for extracting specific page ranges, searching for terms, and retrieving document metadata.Last updated4151MIT
- AlicenseAqualityBmaintenanceEnables AI agents to read documents in Excel, DOCX, PDF, and TXT formats via MCP protocol.Last updated122MIT
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
Real-time Amazon, WIPO & PACER data for AI agents — 19 tools via the MCP protocol.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SylphxAI/pdf-reader-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server