Skip to main content
Glama

📄 MCP PDF

Ein FastMCP-Server für die PDF-Verarbeitung

47 Werkzeuge für Textextraktion, OCR, Tabellen, Formulare, Anmerkungen, Markdown↔PDF und mehr

Python 3.11+ FastMCP License: MIT PyPI

Funktioniert hervorragend mit MCP Office Tools


Funktionsweise

MCP PDF extrahiert Inhalte aus PDFs unter Verwendung mehrerer Bibliotheken mit automatischen Fallbacks. Wenn eine Methode fehlschlägt, wird eine andere versucht.

Kernfunktionen:

  • Textextraktion via PyMuPDF, pdfplumber oder pypdf (automatischer Fallback)

  • Tabellenextraktion via Camelot, pdfplumber oder Tabula (automatischer Fallback)

  • OCR für gescannte Dokumente via Tesseract

  • Formularverarbeitung - Extrahieren, Ausfüllen und Erstellen von PDF-Formularen

  • Dokumentenzusammenstellung - Zusammenführen, Teilen, Neuanordnen von Seiten

  • Anmerkungen - Haftnotizen, Hervorhebungen, Stempel

  • Vektorgrafiken - Export als SVG für Schaltpläne und technische Zeichnungen

  • Formatkonvertierung - PDF ↔ Markdown (PDF→MD via PyMuPDF, MD→PDF via pandoc)


Related MCP server: PDF MCP Flow

Schnellstart

# Run from PyPI (one-shot, no permanent install)
uvx mcp-pdf

# Add to Claude Code — note the `--` separator before uvx
claude mcp add pdf-tools -- uvx mcp-pdf

# Include the markdown_to_pdf tool (requires pandoc on host)
claude mcp add pdf-tools -- uvx --from "mcp-pdf[markdown]" mcp-pdf

uvx speichert Tool-Installationen aggressiv zwischen. Nach einem Upgrade auf eine neue Version erzwingen Sie eine Aktualisierung mit uvx --refresh mcp-pdf (oder uvx --refresh --from "mcp-pdf[markdown]" mcp-pdf, falls Sie Extras verwenden).

git clone https://github.com/rsp2k/mcp-pdf
cd mcp-pdf
uv sync

# System dependencies (Ubuntu/Debian)
sudo apt-get install tesseract-ocr tesseract-ocr-eng poppler-utils ghostscript

# For markdown_to_pdf — pick one PDF-engine route:
sudo apt-get install pandoc tectonic                                          # recommended (small)
# or:  sudo apt-get install pandoc texlive-xetex texlive-latex-extra          # full TeX
# or:  sudo apt-get install pandoc && pip install weasyprint                  # skip TeX

# Verify
uv run python examples/verify_installation.py

Werkzeuge

Textextraktion

Werkzeug

Funktion

extract_text

Text aus PDF-Seiten extrahieren, mit automatischem Chunking für große Dateien

extract_tables

Tabellen als JSON, CSV oder Markdown extrahieren

extract_images

Eingebettete Bilder extrahieren

extract_links

Alle Hyperlinks mit Seitenfilterung abrufen

ocr_pdf

Gescannte Dokumente mittels Tesseract per OCR verarbeiten

extract_vector_graphics

Vektorgrafiken als SVG exportieren (Schaltpläne, Diagramme, Zeichnungen)

Formatkonvertierung

Werkzeug

Funktion

pdf_to_markdown

PDF in Markdown konvertieren unter Beibehaltung der Struktur; extrahiert Bilder und SVG-Vektoren auf die Festplatte

markdown_to_pdf

.md-Dateien (oder Inline-Text) via pandoc in PDF konvertieren, mit automatisch erkannter Engine

markdown_to_pdf erfordert: pip install mcp-pdf[markdown] sowie das pandoc-Binary und mindestens eine PDF-Engine (xelatex, pdflatex, tectonic, weasyprint oder wkhtmltopdf) im PATH. Das Werkzeug erkennt automatisch, was verfügbar ist, und verwendet die Engine mit der höchsten Qualität. Übergeben Sie pdf_engine= zum Überschreiben oder extra_args= für rohe pandoc-Optionen.

Dokumentenanalyse

Werkzeug

Funktion

extract_metadata

Titel, Autor, Erstellungsdatum, Seitenzahl usw. abrufen

get_document_structure

Inhaltsverzeichnis und Lesezeichen extrahieren

analyze_layout

Spalten, Kopf- und Fußzeilen erkennen

is_scanned_pdf

Prüfen, ob das PDF OCR benötigt

compare_pdfs

Zwei PDFs anhand von Text, Struktur oder Metadaten vergleichen

analyze_pdf_health

Auf Beschädigungen und Optimierungsmöglichkeiten prüfen

analyze_pdf_security

Verschlüsselung, Berechtigungen und Signaturen melden

Formulare

Werkzeug

Funktion

extract_form_data

Namen und Werte von Formularfeldern abrufen

fill_form_pdf

Formularfelder aus JSON ausfüllen

create_form_pdf

Neue Formulare mit Textfeldern, Checkboxen und Dropdowns erstellen

add_form_fields

Felder zu bestehenden PDFs hinzufügen

Genehmigungsformulare (Koordinatenbasiert)

Für gescannte PDFs oder Formulare ohne interaktive Felder. Zeichnet Text an (x, y)-Koordinaten.

Werkzeug

Funktion

fill_permit_form

Jedes PDF durch Zeichnen an Koordinaten ausfüllen (funktioniert mit gescannten Formularen)

get_field_schema

Felddefinitionen für Validierung oder UI-Generierung abrufen

validate_permit_form_data

Daten vor dem Ausfüllen gegen das Feldschema prüfen

preview_field_positions

PDF generieren, das Feldbegrenzungen zeigt (Debugging)

insert_attachment_pages

Bild-/Textseiten mit "Siehe Seite X"-Referenzen einfügen

Erfordert: pip install mcp-pdf[forms] (fügt reportlab-Abhängigkeit hinzu)

Dokumentenzusammenstellung

Werkzeug

Funktion

merge_pdfs

Mehrere PDFs unter Beibehaltung der Lesezeichen kombinieren

split_pdf_by_pages

Nach Seitenbereichen teilen

split_pdf_by_bookmarks

An Kapitel-/Abschnittsgrenzen teilen

reorder_pdf_pages

Seiten in benutzerdefinierter Reihenfolge neu anordnen

Anmerkungen

Werkzeug

Funktion

add_sticky_notes

Kommentar-Anmerkungen hinzufügen

add_highlights

Textbereiche hervorheben

add_stamps

"Genehmigt"/"Entwurf"/"Vertraulich"-Stempel hinzufügen

extract_all_annotations

Anmerkungen als JSON exportieren


Funktionsweise der Fallbacks

Der Server versucht für jeden Vorgang mehrere Bibliotheken:

Textextraktion:

  1. PyMuPDF (am schnellsten)

  2. pdfplumber (besser für komplexe Layouts)

  3. pypdf (am kompatibelsten)

Tabellenextraktion:

  1. Camelot (beste Genauigkeit, erfordert Ghostscript)

  2. pdfplumber (keine Abhängigkeiten)

  3. Tabula (erfordert Java)

Wenn ein PDF mit einer Bibliothek fehlschlägt, wird automatisch die nächste versucht.


Token-Management

Große PDFs können die MCP-Antwortlimits überschreiten. Der Server handhabt dies wie folgt:

  • Automatisches Chunking teilt große Dokumente in Seitengruppen auf

  • Tabellenzeilen-Limits verhindern, dass riesige Tabellen die Antworten sprengen

  • Zusammenfassungsmodus gibt die Struktur ohne vollständigen Inhalt zurück

# Get first 10 pages
result = await extract_text("huge.pdf", pages="1-10")

# Limit table rows
tables = await extract_tables("data.pdf", max_rows_per_table=50)

# Structure only
tables = await extract_tables("data.pdf", summary_only=True)

URL-Verarbeitung

PDFs können direkt von HTTPS-URLs abgerufen werden:

result = await extract_text("https://example.com/report.pdf")

Dateien werden für nachfolgende Vorgänge lokal zwischengespeichert.


Systemabhängigkeiten

Einige Funktionen erfordern Systempakete:

Funktion

Abhängigkeit

OCR

tesseract-ocr

Camelot-Tabellen

ghostscript

Tabula-Tabellen

default-jre-headless

PDF zu Bildern

poppler-utils

markdown_to_pdf

pandoc + eines von: tectonic, texlive-xetex (+ texlive-latex-extra), weasyprint, wkhtmltopdf

Auswahl einer PDF-Engine für markdown_to_pdf

Pandoc konvertiert Markdown → HTML oder LaTeX → PDF. Der LaTeX-Pfad erzeugt die ausgefeilteste Ausgabe, benötigt aber eine TeX-Installation. Abwägungen:

Engine

Festplattengröße

Hinweise

tectonic

~30 MB

Empfohlen für Neuinstallationen. Einzelnes statisches Binary. Lädt LaTeX-Pakete bei Bedarf herunter — keine massiven Vorab-Installationen.

xelatex + texlive-latex-extra

~500 MB

Beste Ausgabe nach der Installation. Verwenden, wenn Sie bereits TeX ausführen. Das -extra-Paket ist wichtig: Pandocs Standard-Template benötigt lastpage, xcolor, framed, fancyhdr usw. — diese befinden sich dort, nicht in texlive-xetex.

xelatex allein (nur texlive-xetex)

~200 MB

Bricht oft ab. Erwarten Sie ! LaTeX Error: File 'X.sty' not found bei echten Dokumenten.

weasyprint

~40 MB

Rein-Python (pip install weasyprint) + cairo/pango System-Libs. HTML/CSS-Pfad — kein LaTeX. Gut für einfache Dokumente; schwächer bei Mathe, Fußnoten, Zitaten.

wkhtmltopdf

~40 MB

Älteres HTML-zu-PDF-Tool. Ausreichend, aber weniger aktiv gewartet.

Ubuntu/Debian:

sudo apt-get install tesseract-ocr tesseract-ocr-eng poppler-utils ghostscript default-jre-headless

# For markdown_to_pdf — pick one engine route:

# Option A — tectonic (smallest, downloads packages on demand)
sudo apt-get install pandoc
# tectonic isn't in apt — install via cargo or download static binary:
#   https://tectonic-typesetting.github.io/en-US/install.html

# Option B — full TeX (best quality, large download)
sudo apt-get install pandoc texlive-xetex texlive-latex-extra texlive-fonts-extra

# Option C — weasyprint (skip TeX entirely)
sudo apt-get install pandoc
pip install weasyprint

Arch Linux:

sudo pacman -S tesseract tesseract-data-eng poppler ghostscript jre-openjdk-headless

# For markdown_to_pdf — pick one engine route:

# Option A — tectonic (recommended for new installs, in official repo)
sudo pacman -S pandoc tectonic

# Option B — full TeX (best output, ~500 MB)
sudo pacman -S pandoc texlive-xetex texlive-latexextra texlive-fontsextra

# Option C — weasyprint (skip TeX)
sudo pacman -S pandoc
pip install weasyprint   # or: uv pip install weasyprint

# Option D — wkhtmltopdf (from AUR)
yay -S wkhtmltopdf-static

macOS (Homebrew):

brew install tesseract poppler ghostscript

# For markdown_to_pdf — pick one engine route:

# Option A — tectonic (recommended)
brew install pandoc tectonic

# Option B — full TeX (mactex-no-gui includes the latex-extra equivalent)
brew install pandoc
brew install --cask mactex-no-gui

# Option C — weasyprint
brew install pandoc weasyprint

Optionale Extras

Die Basisinstallation bleibt schlank. Schwere oder nischenspezifische Abhängigkeiten sind hinter Extras verborgen:

Extra

Fügt hinzu

Wann zu installieren

mcp-pdf[forms]

reportlab

Formular-Erstellungswerkzeuge (create_form_pdf, Genehmigungsformulare)

mcp-pdf[tables]

camelot-py, tabula-py

Tabellenextraktion mit höherer Genauigkeit (benötigt auch Java + Ghostscript)

mcp-pdf[markdown]

pypandoc

markdown_to_pdf-Werkzeug (benötigt auch pandoc-Binary)

mcp-pdf[all]

Alles oben Genannte

Wenn Sie alles wollen


Konfiguration

Optionale Umgebungsvariablen:

Variable

Zweck

MCP_PDF_ALLOWED_PATHS

Doppelpunkt-getrennte Verzeichnisse für Dateiausgabe

PDF_TEMP_DIR

Temporäres Verzeichnis für die Verarbeitung (Standard: /tmp/mcp-pdf-processing)

TESSDATA_PREFIX

Speicherort der Tesseract-Sprachdaten


Entwicklung

# Run tests
uv run pytest

# With coverage
uv run pytest --cov=mcp_pdf

# Format
uv run black src/ tests/

# Lint
uv run ruff check src/ tests/

Lizenz

MIT

A
license - permissive license
Not graded
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI-driven PDF document processing including PDF to Markdown conversion, intelligent text and table extraction, image extraction, format conversion between PDF/Word/Markdown, batch processing, and fuzzy search - optimized for LLM context and RAG workflows.
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides intelligent OCR and PDF processing capabilities that automatically detect whether PDFs contain digital text or scanned images and apply appropriate extraction methods. Supports text extraction, OCR processing, structure analysis, and batch operations.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI applications to read and process PDF files with intelligent file search, text extraction, image processing, and optional OCR support for scanned documents.
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rsp2k/mcp-pdf'

If you have feedback or need assistance with the MCP directory API, please join our Discord server