Enables publishing the PDF reader package to PyPI using UV publish, making it available for distribution and installation through Python's package index.
pdf-reader MCP server
An MCP server for reading PDFs
Components
Resources
The server provides academic-aware PDF resources with:
- Custom
file://
URI scheme for accessing individual PDFs - Academic structure detection and key section extraction
- Metadata enriched with document type classification
- Resources optimized for agent understanding
Academic Prompts
The server provides specialized academic analysis prompts:
- summarize-academic-paper: Intelligent academic paper summarization
- Required "file_path" argument for PDF location
- Optional "focus" argument (general/methodology/results/implications)
- Generates prompts with key sections, citations, and metadata
- analyze-research-methodology: Deep methodology analysis
- Required "file_path" argument for PDF location
- Focuses on research design, data collection, and statistical methods
Enhanced Tools
Basic PDF Processing:
- load-pdf: Load and cache a PDF file for processing
- get-metadata: Get PDF metadata and document information
- extract-images: Extract embedded images with metadata
- render-page: Render PDF pages as high-resolution images
Academic Enhancements:
- extract-academic-text: Text extraction with proper reading order and math formula preservation
- detect-sections: Identify academic sections (Abstract, Introduction, Methods, Results, etc.)
- extract-abstract: Specifically extract the abstract section
- extract-key-sections: Get key sections optimized for agent understanding
- extract-citations: Parse in-text citations and reference lists
- chunk-content: Break content into agent-friendly semantic chunks
- analyze-document-structure: Comprehensive academic document analysis
Configuration
This PDF reader MCP server provides comprehensive PDF processing capabilities including:
- Full text extraction from any PDF
- High-resolution image extraction
- Table detection and extraction
- Annotation and comment extraction
- PDF metadata retrieval
- Page rendering to images
- Document structure analysis
Installation & Setup
Prerequisites
- Python 3.13 or higher
uv
package manager (install withpip install uv
)
Install Dependencies
IDE Integration
VSCode with MCP Extension
- Install the MCP VSCode Extension
- Open your VSCode settings (
.vscode/settings.json
) and add:
WindSurf IDE
- Open WindSurf settings
- Navigate to Extensions → MCP Servers
- Add a new server configuration:
Cursor IDE
- Open Cursor settings (Cmd/Ctrl + ,)
- Search for "MCP" or navigate to Extensions → MCP
- Add server configuration:
Claude Desktop
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
Starting the Server
Before using the PDF reader in any IDE, start the HTTP server:
The server will start on http://localhost:8000
with the MCP SSE endpoint available at /sse
for all IDEs to connect to.
Usage Examples
Once configured in your IDE, you can use the PDF reader with natural language commands:
Basic PDF Processing
Advanced Analysis
Visual Processing
Available Tools
Tool | Description | Parameters |
---|---|---|
load-pdf | Load and cache PDF | file_path , optional name |
extract-text | Extract text content | file_path , optional page |
extract-images | Extract embedded images | file_path , optional page |
get-metadata | Get document metadata | file_path |
extract-tables | Extract table data | file_path , optional page |
extract-annotations | Extract comments/highlights | file_path |
render-page | Render page as image | file_path , page , optional dpi |
Development
Building and Publishing
To prepare the package for distribution:
- Sync dependencies and update lockfile:
- Build package distributions:
This will create source and wheel distributions in the dist/
directory.
- Publish to PyPI:
Note: You'll need to set PyPI credentials via environment variables or command flags:
- Token:
--token
orUV_PUBLISH_TOKEN
- Or username/password:
--username
/UV_PUBLISH_USERNAME
and--password
/UV_PUBLISH_PASSWORD
Debugging
Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.
You can launch the MCP Inspector via npm
with this command:
Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
An MCP server that provides comprehensive PDF processing capabilities including text extraction, image extraction, table detection, annotation extraction, metadata retrieval, page rendering, and document structure analysis.
Related MCP Servers
- AsecurityFlicenseAqualityAn MCP server that provides a tool to extract text content from local PDF files, supporting both standard PDF reading and OCR capabilities with optional page selection.Last updated -117Python
- -securityAlicense-qualityAn MCP server that provides multiple file conversion tools for AI agents, supporting various document and image format conversions including DOCX to PDF, PDF to DOCX, image conversions, Excel to CSV, HTML to PDF, and Markdown to PDF.Last updated -15PythonMIT License
- -securityFlicense-qualityA PDF processing server that extracts text via normal parsing or OCR, and retrieves images from PDF files through the MCP protocol with a built-in web debugger.Last updated -26Python
- -securityAlicense-qualityA Model Context Protocol (MCP) based server that efficiently manages PDF files, allowing AI coding tools like Cursor to read, summarize, and extract information from PDF datasheets to assist embedded development work.Last updated -6Apache 2.0