PDF Reader MCP

MCP server to read and search text in a local PDF file.

Updated 1 week ago
Added Jun 13, 2025

Docs & Usage Guide

MCP PDF Reader Enhanced

A comprehensive Model Context Protocol (MCP) server that provides advanced PDF text extraction, search, and analysis functionality.

Features

Core Functionality

  • โœ… Text Extraction: Extract text content from PDF files with customizable options
  • โœ… Text Search: Search for specific text within PDFs with advanced options
  • โœ… Metadata Extraction: Retrieve comprehensive PDF metadata
  • โœ… Page-specific Processing: Extract content from specific page ranges
  • โœ… Text Cleaning: Normalize and clean extracted text
  • โœ… File Size Limits: Protection against overly large files (50MB limit)
  • โœ… Async Processing: Non-blocking file operations

Advanced Features

  • ๐Ÿ”„ Multiple Tools: 3 specialized tools for different PDF operations
  • ๐Ÿ” Smart Search: Case-sensitive, whole-word, and regex search options
  • ๐Ÿ“Š Rich Metadata: Extract author, title, creation date, keywords, and more
  • โšก Performance: Efficient processing with size limits and error handling
  • ๐Ÿ›ก๏ธ Security: File validation and path sanitization

Installation

npm install

Tools Available

1. read-pdf - Enhanced PDF Reading

Extract text from PDF files with customizable options.

Parameters:

  • file (string, required): Path to the PDF file
  • pages (string, optional): Page range (e.g., '1-5', '1,3,5', 'all'). Default: 'all'
  • include_metadata (boolean, optional): Include PDF metadata. Default: true
  • clean_text (boolean, optional): Clean and normalize text. Default: false

Example Usage:

// Basic extraction
{ "file": "/path/to/document.pdf" }

// Extract with clean text and no metadata
{ 
  "file": "/path/to/document.pdf", 
  "clean_text": true, 
  "include_metadata": false 
}

2. search-pdf - Search Within PDFs

Search for specific text within PDF documents.

Parameters:

  • file (string, required): Path to the PDF file
  • query (string, required): Text to search for
  • case_sensitive (boolean, optional): Case sensitive search. Default: false
  • whole_word (boolean, optional): Match whole words only. Default: false

Example Usage:

// Case-insensitive search
{ "file": "/path/to/document.pdf", "query": "important term" }

// Whole word, case-sensitive search
{ 
  "file": "/path/to/document.pdf", 
  "query": "API", 
  "case_sensitive": true, 
  "whole_word": true 
}

3. pdf-metadata - Extract Metadata Only

Get comprehensive metadata from PDF files without extracting text.

Parameters:

  • file (string, required): Path to the PDF file

Returns:

  • Filename, file size, page count
  • Author, title, subject, creator, producer
  • Creation/modification dates, keywords
  • Encryption status, PDF version

Configuration

Cursor Integration

Add to your Cursor settings:

{
  "mcpServers": {
    "mcp-gp-pdf-reader": {
      "command": "node",
      "args": ["/absolute/path/to/mcp_gp_pdf_reader/index.js"]
    }
  }
}

Future Enhancements

Planned Features

  • ๐Ÿ”ฎ OCR Support: Extract text from scanned/image-based PDFs
  • ๐Ÿ”ฎ Image Extraction: Extract images from PDF documents
  • ๐Ÿ”ฎ Table Detection: Identify and extract tabular data
  • ๐Ÿ”ฎ Form Data: Extract form fields and values
  • ๐Ÿ”ฎ Password Support: Handle password-protected PDFs
  • ๐Ÿ”ฎ Batch Processing: Process multiple PDFs simultaneously
  • ๐Ÿ”ฎ Caching: Cache parsed results for better performance
  • ๐Ÿ”ฎ Page-by-Page: True page-specific text extraction

Technical Improvements

  • ๐Ÿ”ง Streaming: Handle very large PDFs with streaming
  • ๐Ÿ”ง Progress Tracking: Progress indicators for long operations
  • ๐Ÿ”ง Resource Management: Better memory usage optimization
  • ๐Ÿ”ง Configuration API: Runtime configuration updates

Usage Examples

Basic Text Extraction

# Via MCP client
"Extract all text from /documents/report.pdf"

Searching PDFs

# Via MCP client  
"Search for 'quarterly results' in /documents/financial-report.pdf"

Getting Metadata

# Via MCP client
"Get metadata from /documents/contract.pdf"

Development

Requirements

  • Node.js 18.0.0 or higher
  • Memory: Sufficient for PDF file size + processing overhead
  • Storage: Temporary space for file operations

Contributing

This MCP server is designed to be extensible. Key areas for contribution:

  • Additional PDF processing libraries integration
  • Performance optimizations
  • New extraction features
  • Better error handling
  • Test coverage

License

MIT License

Privacy Policy   17.70ms  0.95MB