Skip to main content
Glama

PDF Reader MCP Server (@sylphlab/pdf-reader-mcp)

CI/CD-Pipeline Codecov npm-Version Docker-Pulls Lizenz: MIT

Geben Sie Ihren KI-Agenten (wie Cline) die Möglichkeit, mithilfe eines einzigen, flexiblen Tools Informationen (Text, Metadaten, Seitenzahl) aus PDF-Dateien im Kontext Ihres Projekts sicher zu lesen und zu extrahieren.

Installation

Verwenden von npm (empfohlen)

Installieren Sie es als Abhängigkeit in Ihrer MCP-Hostumgebung oder Ihrem Projekt:

pnpm add @sylphlab/pdf-reader-mcp # Or npm install / yarn add

Konfigurieren Sie Ihren MCP-Host (z. B. mcp_settings.json ) für die Verwendung npx :

{ "mcpServers": { "pdf-reader-mcp": { "command": "npx", "args": ["@sylphlab/pdf-reader-mcp"], "name": "PDF Reader (npx)" } } }

(Stellen Sie sicher, dass der Host das richtige

Verwenden von Docker

Ziehen Sie das Bild:

docker pull sylphlab/pdf-reader-mcp:latest

Konfigurieren Sie Ihren MCP-Host zum Ausführen des Containers und mounten Sie Ihr Projektverzeichnis in /app :

{ "mcpServers": { "pdf-reader-mcp": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/path/to/your/project:/app", // Or use "$PWD:/app", "%CD%:/app", etc. "sylphlab/pdf-reader-mcp:latest" ], "name": "PDF Reader (Docker)" } } }

Lokaler Build (für die Entwicklung)

  1. Klonen: git clone https://github.com/sylphlab/pdf-reader-mcp.git

  2. Installieren: cd pdf-reader-mcp && pnpm install

  3. Erstellen: pnpm run build

  4. MCP-Host konfigurieren:

    { "mcpServers": { "pdf-reader-mcp": { "command": "node", "args": ["/path/to/cloned/repo/pdf-reader-mcp/build/index.js"], "name": "PDF Reader (Local Build)" } } }

    (Stellen Sie sicher, dass der Host das richtige

Related MCP server: File Converter MCP Server

Schnellstart

Vorausgesetzt, der Server läuft und ist in Ihrem MCP-Host konfiguriert:

MCP-Anforderung (Metadaten und Text der zweiten Seite aus einer lokalen PDF-Datei abrufen):

{ "tool_name": "read_pdf", "arguments": { "sources": [ { "path": "./documents/my_report.pdf", "pages": [2] } ], "include_metadata": true, "include_page_count": false, // Default is true, explicitly false here "include_full_text": false // Ignored because 'pages' is specified } }

Erwarteter Antwortausschnitt:

{ "results": [ { "source": "./documents/my_report.pdf", "success": true, "data": { "page_texts": [ { "page": 2, "text": "Text content from page 2..." } ], "info": { ... }, "metadata": { ... } // num_pages not included as requested } } ] }

Warum dieses Projekt wählen?

  • 🛡️ Sicher: Beschränkt den Dateizugriff streng auf das Stammverzeichnis des Projekts.

  • 🌐 Flexibel: Verarbeitet sowohl lokale relative Pfade als auch öffentliche URLs.

  • 🧩 Konsolidiert: Ein einziges read_pdf Tool erfüllt mehrere Extraktionsanforderungen (Volltext, bestimmte Seiten, Metadaten, Seitenanzahl).

  • ⚙️ Strukturierte Ausgabe: Gibt Daten in einem vorhersehbaren JSON-Format zurück, das für Agenten leicht zu analysieren ist.

  • 🚀 Einfache Integration: Entwickelt für die nahtlose Verwendung in MCP-Umgebungen über npx oder Docker.

  • ✅ Robust: Verwendet pdfjs-dist für zuverlässiges Parsen und Zod für die Eingabevalidierung.

Leistungsvorteile

Erste Benchmarks mit Vitest an einem Beispiel-PDF zeigen die effiziente Abwicklung verschiedener Operationen:

Szenario

Operationen pro Sekunde (Hz)

Relative Geschwindigkeit

Nicht vorhandene Dateien verarbeiten

~12.933

Am schnellsten

Vollständigen Text abrufen

~5.575

Bestimmte Seite abrufen (Seite 1)

~5.329

Bestimmte Seiten abrufen (Seite 1 und 2)

~5.242

Metadaten und Seitenanzahl abrufen

~4.912

Am langsamsten

(Höhere Hz bedeuten eine bessere Leistung. Die Ergebnisse können je nach PDF-Komplexität und Umgebung variieren.)

Weitere Einzelheiten und Zukunftspläne finden Sie in der Leistungsdokumentation .

Merkmale

  • Lesen Sie den vollständigen Textinhalt von PDF-Dateien.

  • Lesen Sie Textinhalte von bestimmten Seiten oder Seitenbereichen.

  • Lesen Sie PDF-Metadaten (Autor, Titel, Erstellungsdatum usw.).

  • Ermitteln Sie die Gesamtseitenzahl einer PDF-Datei.

  • Verarbeiten Sie mehrere PDF-Quellen (lokale Pfade oder URLs) in einer einzigen Anfrage.

  • Funktioniert sicher innerhalb der definierten Projektwurzel.

  • Bietet strukturierte JSON-Ausgabe über MCP.

  • Verfügbar über npm und Docker Hub.

Design-Philosophie

Der Server priorisiert Sicherheit durch Kontextbeschränkung, Effizienz durch strukturierte Datenübertragung und Einfachheit für die einfache Integration in KI-Agent-Workflows. Er zielt auf minimale Abhängigkeiten ab und basiert auf der robusten pdfjs-dist -Bibliothek.

Sehen Sie sich die vollständige Dokumentation zur Designphilosophie an.

Vergleich mit anderen Lösungen

Im Vergleich zum direkten Dateizugriff (der oft nicht möglich ist) oder generischen Dateisystem-Tools bietet dieser Server PDF-spezifische Parsing-Funktionen. Im Gegensatz zu externen CLI-Tools (z. B. pdftotext ) bietet er eine sichere, integrierte MCP-Schnittstelle mit strukturierter Ausgabe, was die Zuverlässigkeit und Benutzerfreundlichkeit für KI-Agenten erhöht.

Siehe die vollständige Vergleichsdokumentation .

Zukunftspläne (Roadmap)

  • Dokumentation:

    • Finalisieren Sie alle Abschnitte der Dokumentation (Leitfaden, API, Design, Vergleich).

    • Beheben Sie das TypeDoc-Problem und generieren Sie die API-Dokumentation.

    • Fügen Sie weitere Beispiele und erweiterte Verwendungsmuster hinzu.

    • Implementieren Sie PWA-Unterstützung und mobile Optimierung für die Dokumentensite.

    • Fügen Sie der Dokumentensite Schaltflächen zum Teilen und Wachstumsmetriken hinzu.

  • Benchmarking:

    • Führen Sie umfassende Benchmarks mit unterschiedlichen PDF-Dateien (Größe, Komplexität) durch.

    • Messen Sie die Speichernutzung.

    • Vergleichen Sie die Leistung von URLs mit der Leistung lokaler Dateien.

  • Kernfunktionalität:

    • Erkunden Sie mögliche Optimierungen für sehr große PDF-Dateien.

    • Untersuchen Sie Optionen zum Extrahieren von Bildern oder Anmerkungen (längerfristig).

  • Testen:

    • Erhöhen Sie die Testabdeckung, soweit möglich, auf 100 %.

    • Fügen Sie Laufzeittests hinzu, sobald dies möglich ist.

Dokumentation

Ausführliche Informationen zur Verwendung, API-Referenzen und Anleitungen finden Sie auf der Website mit der vollständigen Dokumentation (Link wird bei der Bereitstellung aktualisiert).

Community und Support

  • Haben Sie einen Fehler gefunden oder möchten Sie eine Funktion aktivieren? Bitte öffnen Sie ein Problem auf GitHub Issues .

  • Möchten Sie mitwirken? Wir freuen uns über Ihre Beiträge! Weitere Informationen finden Sie unter CONTRIBUTING.md .

  • Markieren und beobachten: Wenn Sie dieses Projekt nützlich finden, können Sie das Repository auf GitHub mit einem Stern ⭐ markieren und beobachten 👀, um Ihre Unterstützung zu zeigen und auf dem Laufenden zu bleiben!

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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/SylphxAI/pdf-reader-mcp'

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