Pdf Reader Mcp
π Production-ready MCP server for PDF processing - 5-10x faster with parallel processing and 94%+ test coverage
Last verified:
What is Pdf Reader Mcp?
PDF Reader MCP is a production-ready Model Context Protocol server that enables AI agents to process PDFs efficiently. It extracts text, images, and metadata from PDF files with fast, parallel processing and reliable per-page error handling. The server supports both local file paths (absolute and relative) and HTTP/HTTPS URLs, making it versatile for diverse document workflows.
Key features include 5-10x faster performance compared to sequential processing through automatic parallel page processing, Y-coordinate based content ordering that preserves natural document layout and reading flow, and comprehensive extraction capabilities including full text, specific page ranges, embedded images with metadata (width, height, format), PDF metadata (author, title, creation date), and page counts. The tool is built with TypeScript in strict mode, has 94%+ test coverage with 103 passing tests, and provides a single clean API through the read_pdf tool that handles all PDF operations.
PDF Reader MCP is ideal for AI agents, enterprise-grade document workflows, developers integrating PDF processing into MCP clients like Claude Desktop, VS Code, Cursor, Cline, and Windsurf, and anyone needing reliable, scalable PDF text and image extraction. It supports batch processing of multiple PDFs concurrently, efficient memory management for large files, and offers both stdio transport for local use and HTTP transport for remote access.
The server is lightweight with minimal dependencies, uses PDF.js (Mozilla's PDF engine) for reliable parsing, supports Windows and Unix path formats, and includes robust error isolation so one failed page doesn't break the entire document processing. Recent updates include absolute path support (v1.3.0), OCR capabilities are planned for scanned PDFs, and the project has 520 stars on GitHub with active maintenance and 23 releases.
Pdf Reader Mcp pricing
Pricing model: Freemium
Free and open-source under MIT license. Available via npm as @sylphx/pdf-reader-mcp. No paid tiers or subscription plans. Can be run locally with zero installation using npx @sylphx/pdf-reader-mcp or installed globally with npm install -g @sylphx/pdf-reader-mcp. Docker image available for deployment.
Pdf Reader Mcp pros
- 5-10x faster than sequential processing with automatic parallelization
- Y-coordinate based content ordering preserves natural document layout
- 94%+ test coverage with 103 passing tests
- Single read_pdf tool handles all PDF operations
- Supports both local files and HTTP/HTTPS URLs
- Absolute and relative path support for Windows and Unix
- Extracts embedded images with metadata (width, height, format)
- Per-page error isolation prevents single-page failures from breaking entire document
- Lightweight with minimal dependencies
- Full TypeScript with strict mode enabled for type safety
- Batch processing of multiple PDFs runs concurrently
- Configurable page ranges like
- Works with Claude Desktop, VS Code, Cursor, Cline, Windsurf
- HTTP transport option for remote server access
- MIT license with active maintenance and 23 releases
- 12,933 ops/sec for error handling, 5,575 ops/sec for text extraction
- Processes 50-page PDFs in seconds with multi-core utilization
- Base64-encoded image output with format auto-detection
Pdf Reader Mcp cons
- Requires Node.js 22 or newer (very recent version requirement)
- No built-in OCR for scanned PDFs yet (planned for roadmap)
- No PDF generation capability (only extraction)
- Image extraction must be explicitly enabled (not default)
- HTTP transport requires manual server setup for remote access
- No annotation extraction yet (planned for future)
- No form field extraction yet (planned for future)
- No table detection yet (planned for future)
- May require cwd configuration for relative path issues
- 100+ MB streaming support still on roadmap
Frequently asked questions about Pdf Reader Mcp
What is PDF Reader MCP?
PDF Reader MCP is a production-ready Model Context Protocol server that enables AI agents to process PDFs efficiently. It extracts text, images, and metadata from PDF files with 5-10x faster parallel processing, Y-coordinate based content ordering for natural layout preservation, and robust per-page error isolation. It supports local files and URLs, making it ideal for enterprise-grade document workflows.
How do I install PDF Reader MCP?
You can run it directly without installation using npx @sylphx/pdf-reader-mcp, or install globally with npm install -g @sylphx/pdf-reader-mcp. Prerequisites are Node.js 22 or newer and a package manager like npm or pnpm. For Claude Desktop, add to claude_desktop_config.json with command: npx and args: @sylphx/pdf-reader-mcp.
What PDF operations does it support?
The single read_pdf tool handles all operations: extracting full text, specific page ranges, embedded images with metadata, PDF metadata (author, title, creation date), and page counts. It supports local files (absolute/relative paths) and HTTP/HTTPS URLs, with configurable options for include_full_text, include_metadata, include_page_count, and include_images.
How fast is the parallel processing?
PDF Reader MCP is 5-10x faster than sequential processing. Benchmarks show: 10-page PDFs process in ~0.3s vs ~2s sequential (5-8x faster), 50-page PDFs in ~1s vs ~10s (10x faster), and 100+ pages in ~2s vs ~20s with linear scaling across CPU cores. Extract full text runs at 5,575 ops/sec and error handling at 12,933 ops/sec.
What is Y-coordinate content ordering?
Y-coordinate based content ordering preserves the natural document layout by sorting text and images based on their vertical position (Y-coordinate) in the PDF. This ensures content is returned in exact reading order (top to bottom), which helps AI models understand spatial relationships and enables natural document comprehension for vision-enabled models.
Can I process multiple PDFs at once?
Yes, batch processing is a core feature. You can submit multiple PDF sources (local paths or URLs) in a single request and they are automatically processed in parallel using Promise.all. This efficiently utilizes CPU cores to achieve significant speedups. For example, you can batch process Q1.pdf, Q2.pdf, and a URL-based Q3.pdf concurrently.
Does it support absolute file paths?
Yes, starting from v1.3.0, absolute paths are fully supported for both Windows and Unix/Mac systems. Windows paths like C:\Users\John\Documents\report.pdf or C:/Users/John/Documents/report.pdf work, as do Unix paths like /home/user/documents/contract.pdf. Relative paths still work as well.
How are images extracted?
Images are extracted as Base64-encoded data with complete metadata including page number, index, width, height, and format (RGB, RGBA, or Grayscale auto-detected). Supported embedded formats include JPEG and PNG. Images are returned in natural reading order based on Y-coordinates alongside text content when include_images is enabled.
What MCP clients are supported?
PDF Reader MCP works with Claude Code (claude mcp add pdf-reader), Claude Desktop (configure claude_desktop_config.json), VS Code (code --add-mcp), Cursor (Settings β MCP β Add new MCP Server), Windsurf, Cline, and Warp. It can also be installed via Smithery CLI with one-click installation for Claude.
Can I use it remotely over HTTP?
Yes, while the default is stdio transport for local use, you can run it as an HTTP server for remote access from multiple machines. Set MCP_TRANSPORT=http and optionally MCP_HTTP_PORT (default 8080), MCP_HTTP_HOST (default 0.0.0.0), and MCP_API_KEY for authentication. The HTTP endpoint provides /mcp for JSON-RPC and /mcp/health for health checks.