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 Serversearch for 'conclusion' in research_paper.pdf"
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.
PDF Reader MCP Server
A Model Context Protocol (MCP) server that provides efficient PDF text extraction capabilities for Claude Code. This server allows you to read, search, and extract metadata from PDF files without loading the entire content into Claude's context window.
npm package: @fabriqa.ai/pdf-reader-mcp Author: Cengiz Han Blog Post: How I Built This Tool to Save My Context
Features
Read PDF Files: Extract full text content from PDF files with optional text cleaning
Search PDFs: Search for specific text within PDFs with context-aware results
Extract Metadata: Get detailed metadata including title, author, page count, dates, etc.
Efficient Context Usage: Process large PDFs without consuming excessive Claude Code context
Flexible Options: Support for page ranges, case-sensitive search, and more
Installation
Option A: Install from npm (Recommended)
After installation, the server will be available globally. You can configure it by running:
Option B: Install from source
Clone this repository:
Install dependencies:
Configuration
If installed via npm (Recommended):
Option 1: Using Claude Code CLI (Easiest)
Option 2: Manual Configuration
Add to your ~/.claude.json:
This uses npx to automatically run the globally installed package without needing to specify paths.
Quick Setup Script (Optional):
After installing via npm, you can use the included configuration script to automatically update your ~/.claude.json:
Or if installed from source:
This will automatically add the MCP server using npx, making it available machine-wide across all your projects.
Manual Configuration:
For Claude Desktop, edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Usage
Once configured, restart Claude Code. The following tools will be available:
1. read-pdf
Extract text content from a PDF file.
Parameters:
file(required): Path to the PDF filepages(optional): Page range (e.g., '1-5', '1,3,5', 'all'). Default: 'all'clean_text(optional): Clean and normalize extracted text. Default: falseinclude_metadata(optional): Include PDF metadata in output. Default: true
Example:
2. search-pdf
Search for specific text within a PDF file.
Parameters:
file(required): Path to the PDF filequery(required): Text to search forcase_sensitive(optional): Case sensitive search. Default: falsewhole_word(optional): Match whole words only. Default: false
Example:
3. pdf-metadata
Extract metadata from a PDF file.
Parameters:
file(required): Path to the PDF file
Example:
Example Workflow
Here's how you might use this MCP server with Claude Code:
Extract metadata first to understand the document:
What's the metadata for ~/Documents/research-paper.pdf?Search for specific topics without reading the entire file:
Search for "neural networks" in ~/Documents/research-paper.pdfRead specific sections when you know what you're looking for:
Read pages 10-15 from ~/Documents/research-paper.pdf with cleaned text
Benefits
Context Efficiency: Process large PDF files without loading everything into Claude's context
Faster Analysis: Search and extract only what you need
Better Performance: Reduce token usage when working with multiple or large PDFs
Flexible Extraction: Choose what information to extract and how to format it
Technical Details
Built with the @modelcontextprotocol/sdk
Uses pdf-parse for PDF text extraction
Runs as a local Node.js process communicating via stdio
Supports all PDF versions that pdf-parse can handle
Troubleshooting
Server not appearing in Claude Code
Verify the path in your configuration file is correct
Ensure Node.js is installed and in your PATH
Check that dependencies are installed:
npm installRestart Claude Code completely
Check Claude Code logs for any error messages
PDF not found errors
Use absolute paths to PDF files
Verify file permissions
Ensure the PDF file exists at the specified location
Text extraction issues
Some PDFs (scanned images) may not contain extractable text
Try enabling
clean_textoption for better formattingComplex layouts may affect text extraction quality
Development
To modify or extend the server:
Edit
index.jsto add new tools or modify existing onesUpdate the
ListToolsRequestSchemahandler to register new toolsAdd corresponding handlers in the
CallToolRequestSchemahandlerRestart the server (restart Claude Code) to test changes
License
MIT
Author
Created by Cengiz Han
Contributing
Feel free to submit issues or pull requests to improve this MCP server.