/ Annuaire / Playground / pdf-reader-mcp
● Communauté SylphxAI ⚡ Instantané

pdf-reader-mcp

par 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.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

pdf-reader.replay ▶ prêt
0/0

Installer

Choisissez votre 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
    }
  }
}

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

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

Cursor utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

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

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "Edit Configuration".

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

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

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

Continue utilise un tableau d'objets serveur plutôt qu'une map.

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

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

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

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : pdf-reader-mcp

How to review a contract PDF with Claude

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

Quand l'utiliser : You need to understand what's in a 50-page contract and flag unusual clauses.

Déroulement
  1. Read the full PDF
    Use read_pdf on ./contracts/msa-acme.pdf. Extract text and metadata.✓ Copié
    → 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.✓ Copié
    → Structured summary with quotes
  3. Red-flag review
    Compared to a standard SaaS MSA, what clauses are unusual or risky? Cite page numbers.✓ Copié
    → Prioritized list of things to negotiate

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

Pièges
  • 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

Quand l'utiliser : You downloaded 30 whitepapers and need a skim-layer before deciding what to read deeply.

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

Résultat : A reading order based on content, not file name.

Combiner avec : filesystem

Extract structured data from invoice PDFs

👤 Finance, AP teams ⏱ ~20 min intermediate

Quand l'utiliser : You receive PDF invoices and want them as CSV or JSON for your books.

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

Résultat : Automated AP triage with human-in-the-loop for flags.

Combiner avec : google-sheets

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

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.✓ Copié
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.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
read_pdf path: str (local or URL), options?: { pages?, include_images?, include_metadata? } Any PDF ingest — single tool handles all operations Local CPU only

Coût et limites

Coût d'exécution

Quota d'API
None — runs locally
Tokens par appel
A 50-page doc is 20k-100k tokens
Monétaire
Free
Astuce
Use the pages option to limit extraction to the first N pages when prototyping

Sécurité

Permissions, secrets, portée

Stockage des identifiants : None
Sortie de données : Only when given HTTP URLs; local paths stay local

Dépannage

Erreurs courantes et correctifs

Empty text from a valid PDF

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

Vérifier : 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

Alternatives

pdf-reader-mcp vs autres

AlternativeQuand l'utiliserCompromis
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

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills