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., "@MCP PDFsummarize the quarterly report PDF for me"
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.
📄 MCP PDF
A FastMCP server for PDF processing
46 tools for text extraction, OCR, tables, forms, annotations, and more
Works great with
What It Does
MCP PDF extracts content from PDFs using multiple libraries with automatic fallbacks. If one method fails, it tries another.
Core capabilities:
Text extraction via PyMuPDF, pdfplumber, or pypdf (auto-fallback)
Table extraction via Camelot, pdfplumber, or Tabula (auto-fallback)
OCR for scanned documents via Tesseract
Form handling - extract, fill, and create PDF forms
Document assembly - merge, split, reorder pages
Annotations - sticky notes, highlights, stamps
Vector graphics - extract to SVG for schematics and technical drawings
Quick Start
Tools
Content Extraction
Tool | What it does |
| Pull text from PDF pages with automatic chunking for large files |
| Extract tables to JSON, CSV, or Markdown |
| Extract embedded images |
| Get all hyperlinks with page filtering |
| Convert PDF to markdown preserving structure |
| OCR scanned documents using Tesseract |
| Export vector graphics to SVG (schematics, charts, drawings) |
Document Analysis
Tool | What it does |
| Get title, author, creation date, page count, etc. |
| Extract table of contents and bookmarks |
| Detect columns, headers, footers |
| Check if PDF needs OCR |
| Diff two PDFs by text, structure, or metadata |
| Check for corruption, optimization opportunities |
| Report encryption, permissions, signatures |
Forms
Tool | What it does |
| Get form field names and values |
| Fill form fields from JSON |
| Create new forms with text fields, checkboxes, dropdowns |
| Add fields to existing PDFs |
Permit Forms (Coordinate-Based)
For scanned PDFs or forms without interactive fields. Draws text at (x, y) coordinates.
Tool | What it does |
| Fill any PDF by drawing at coordinates (works with scanned forms) |
| Get field definitions for validation or UI generation |
| Check data against field schema before filling |
| Generate PDF showing field boundaries (debugging) |
| Insert image/text pages with "See page X" references |
Requires: pip install mcp-pdf[forms] (adds reportlab dependency)
Document Assembly
Tool | What it does |
| Combine multiple PDFs with bookmark preservation |
| Split by page ranges |
| Split at chapter/section boundaries |
| Rearrange pages in custom order |
Annotations
Tool | What it does |
| Add comment annotations |
| Highlight text regions |
| Add Approved/Draft/Confidential stamps |
| Export annotations to JSON |
How Fallbacks Work
The server tries multiple libraries for each operation:
Text extraction:
PyMuPDF (fastest)
pdfplumber (better for complex layouts)
pypdf (most compatible)
Table extraction:
Camelot (best accuracy, requires Ghostscript)
pdfplumber (no dependencies)
Tabula (requires Java)
If a PDF fails with one library, the next is tried automatically.
Token Management
Large PDFs can overflow MCP response limits. The server handles this:
Automatic chunking splits large documents into page groups
Table row limits prevent huge tables from blowing up responses
Summary mode returns structure without full content
URL Processing
PDFs can be fetched directly from HTTPS URLs:
Files are cached locally for subsequent operations.
System Dependencies
Some features require system packages:
Feature | Dependency |
OCR |
|
Camelot tables |
|
Tabula tables |
|
PDF to images |
|
Ubuntu/Debian:
Configuration
Optional environment variables:
Variable | Purpose |
| Colon-separated directories for file output |
| Temp directory for processing (default: |
| Tesseract language data location |
Development
License
MIT