/ Verzeichnis / Playground / pdf-reader-mcp
● Community SylphxAI ⚡ Sofort

pdf-reader-mcp

von SylphxAI · SylphxAI/pdf-reader-mcp

One tool, read_pdf, that extracts text, images, and metadata from local or remote PDFs 5-10× faster via parallel page processing.

pdf-reader-mcp (SylphxAI) is a focused Node.js MCP exposing a single tool that handles all PDF extraction. Uses PDF.js with parallel page workers and Y-coordinate layout preservation. Supports local paths and HTTP/HTTPS URLs. 94% test coverage makes it safer for production pipelines.

Warum nutzen

Hauptfunktionen

Live-Demo

In der Praxis

pdf-reader.replay ▶ bereit
0/0

Installieren

Wählen Sie Ihren Client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ],
      "_inferred": true
    }
  }
}

Öffne Claude Desktop → Settings → Developer → Edit Config. Nach dem Speichern neu starten.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ],
      "_inferred": true
    }
  }
}

Cursor nutzt das gleiche mcpServers-Schema wie Claude Desktop. Projektkonfiguration schlägt die globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ],
      "_inferred": true
    }
  }
}

Klicken Sie auf das MCP-Servers-Symbol in der Cline-Seitenleiste, dann "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ],
      "_inferred": true
    }
  }
}

Gleiche Struktur wie Claude Desktop. Windsurf neu starten zum Übernehmen.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "pdf-reader",
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ]
    }
  ]
}

Continue nutzt ein Array von Serverobjekten statt einer Map.

~/.config/zed/settings.json
{
  "context_servers": {
    "pdf-reader": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "pdf-reader-mcp"
        ]
      }
    }
  }
}

In context_servers hinzufügen. Zed lädt beim Speichern neu.

claude mcp add pdf-reader -- npx -y pdf-reader-mcp

Einzeiler. Prüfen mit claude mcp list. Entfernen mit claude mcp remove.

Anwendungsfälle

Praxisnahe Nutzung: pdf-reader-mcp

How to review a contract PDF with Claude

👤 Legal ops, founders, PMs ⏱ ~20 min beginner

Wann einsetzen: You need to understand what's in a 50-page contract and flag unusual clauses.

Ablauf
  1. Read the full PDF
    Use read_pdf on ./contracts/msa-acme.pdf. Extract text and metadata.✓ Kopiert
    → Full text + author/title/date metadata
  2. Ask for a structured summary
    Summarize: parties, term, payment terms, IP, termination, unusual clauses. Quote the exact clause for each.✓ Kopiert
    → Structured summary with quotes
  3. Red-flag review
    Compared to a standard SaaS MSA, what clauses are unusual or risky? Cite page numbers.✓ Kopiert
    → Prioritized list of things to negotiate

Ergebnis: A 15-minute review instead of a 2-hour one — with citations.

Fallstricke
  • Scanned PDFs return empty text — pdf-reader needs a text layer; run ocrmypdf input.pdf output.pdf first

Digest a folder of research PDFs into a summary table

👤 Analysts, researchers ⏱ ~15 min beginner

Wann einsetzen: You downloaded 30 whitepapers and need a skim-layer before deciding what to read deeply.

Ablauf
  1. List PDFs
    List all PDFs in ./papers/. For each, extract title and abstract.✓ Kopiert
    → Table: filename, title, abstract
  2. Classify and rank
    Classify each paper into [relevant / tangential / skip]. Give a 1-line 'why'.✓ Kopiert
    → Prioritized reading list

Ergebnis: A reading order based on content, not file name.

Kombinieren mit: filesystem

Extract structured data from invoice PDFs

👤 Finance, AP teams ⏱ ~20 min intermediate

Wann einsetzen: You receive PDF invoices and want them as CSV or JSON for your books.

Ablauf
  1. Extract per invoice
    For each PDF in ./inbox/, extract: vendor, invoice_number, date, total, line_items[]. Return as JSON array.✓ Kopiert
    → Structured JSON per invoice
  2. Flag anomalies
    Highlight any invoices with totals >$10k or with line items that don't add up✓ Kopiert
    → Review queue

Ergebnis: Automated AP triage with human-in-the-loop for flags.

Kombinieren mit: google-sheets

Kombinationen

Mit anderen MCPs für 10-fache Wirkung

pdf-reader + filesystem

Iterate over a PDF folder, write summaries alongside

For each PDF in ./papers/, write a corresponding .md summary in the same folder.✓ Kopiert
pdf-reader + google-sheets

Invoice data straight into a Sheets ledger

Extract invoices from ./inbox/*.pdf and append one row per invoice to my 'AP' sheet.✓ Kopiert

Werkzeuge

Was dieses MCP bereitstellt

WerkzeugEingabenWann aufrufenKosten
read_pdf path: str (local or URL), options?: { pages?, include_images?, include_metadata? } Any PDF ingest — single tool handles all operations Local CPU only

Kosten & Limits

Was der Betrieb kostet

API-Kontingent
None — runs locally
Tokens pro Aufruf
A 50-page doc is 20k-100k tokens
Kosten in €
Free
Tipp
Use the pages option to limit extraction to the first N pages when prototyping

Sicherheit

Rechte, Secrets, Reichweite

Credential-Speicherung: None
Datenabfluss: Only when given HTTP URLs; local paths stay local

Fehlerbehebung

Häufige Fehler und Lösungen

Empty text from a valid PDF

PDF is image-only. Run OCR first: ocrmypdf in.pdf out.pdf, then read

Prüfen: Check metadata; if `producer` says 'Scanner', it's imaged
Out-of-memory on huge PDFs

Pass pages: [1, 50] to chunk; process in ranges

Garbled text / wrong reading order

Some PDFs use non-standard layouts. Try disabling layout-preservation for raw stream order

Alternativen

pdf-reader-mcp vs. andere

AlternativeWann stattdessenKompromiss
mcp-server-pdf (simple)Minimal dependency, okay with slower single-threadedMuch slower on large docs
LlamaParse APIYou need LLM-grade layout understanding of complex forms/tablesPaid, cloud, better on messy docs

Mehr

Ressourcen

📖 Offizielle README auf GitHub lesen

🐙 Offene Issues ansehen

🔍 Alle 400+ MCP-Server und Skills durchsuchen