Um Daten aus Dokumenten massenhaft mit einem KI‑Agenten zu extrahieren, schreiben Sie das Schema in die Eingabeaufforderung, richten Sie den Agenten auf einen Ordner und verlangen Sie am Ende eine Ausnahmeliste. Der GroupDocs.Parser.Mcp‑Server führt das Lesen lokal in einem Docker‑Container aus, sodass jede Datei dieselben Extraktionstools durchläuft und kein Dokument die Maschine verlässt. Das LLM bestimmt die Reihenfolge der Arbeit; die Engine liest die Dateien.

Für jedes PDF in meinem Dokumentenordner: extrahiere die Tabellen als JSON, summiere die Betragsspalte und gib mir eine Tabelle mit Dateiname, Gesamtsumme, Seitenzahl.

Die schrittweise Version mit Konfiguration und Fehlersuche finden Sie in der Dokumentation: Wie man Daten aus einem Ordner von Dokumenten auf einmal extrahiert.

Warum führt manuelle Extraktion zu inkonsistenten Daten?

Wenn Menschen Werte einzeln aus Dokumenten kopieren, wird jede Datei leicht unterschiedlich behandelt: eine Person schließt die Steuer ein, eine andere nicht, eine dritte überspringt die Datei mit dem ungewöhnlichen Layout. Die Inkonsistenz ist unsichtbar, bis die Summen verglichen werden. Ein Workflow behebt das, indem er die Regeln explizit macht und sie auf jede Datei auf dieselbe Weise anwendet. Mit einem Agenten leben die Regeln in einer einzigen Eingabeaufforderung, und die Extraktionstools verhalten sich bei Datei 1 und Datei 200 identisch.

Wie erstellen Sie den Workflow?

Mounten Sie den Ordner in den Container als /data, setzen Sie GROUPDOCS_MCP_STORAGE_PATH=/data und geben Sie dem Agenten diese Schritte.

  1. Überprüfen Sie die Lizenz. Prompt: “Run get_license_status and tell me the mode.” Unlizenzierte Extraktion ist eingeschränkt, und ein partielles Lesen über einen Ordner hinweg erzeugt stillschweigend einen falschen Datensatz.
  2. Triage des Ordners. Prompt: “For each file, report format, page count and whether text extraction returns anything.” get_document_info liefert Typ, Seitenzahl und Größe, und ein einseitiger extract_text‑Aufruf zeigt, ob Text vorhanden ist.
  3. Schema korrigieren. Prompt: “For each readable file, extract the line-items table as JSON. Columns: item, quantity, amount. Total the amount column.” Dies verwendet extract_tables.
  4. Fehler explizit sammeln. Prompt: “List every file that failed, was password-protected, or returned no table, with the reason.” Ein Batch, das nur Erfolge meldet, verbirgt die Ausnahmen.
  5. Ausgabe schreiben. Prompt: “Write one row per file to a CSV in the output folder.”

Dateien werden innerhalb des Containers nach Namen aufgelöst, sodass der Agent invoice-014.pdf übergibt, nicht einen Host‑Pfad.

Was entscheidet der Agent und was macht die Engine?

Schritt Der Agent entscheidet Die Engine tut
Triage Welche Dateien extrahiert werden sollen Meldet Typ, Seiten und Größe; extract_text zeigt, ob Text vorhanden ist
Erfassung Welches Werkzeug jede Datei benötigt Gibt Text oder Tabellenzeilen aus der Datei zurück
Validierung Ob eine Summe mit dem Text übereinstimmt Nichts; der Agent vergleicht
Ausnahmen Welche Dateien auf die Liste kommen Gibt die Fehlermeldung für eine fehlerhafte Datei zurück
Ausgabe Das Format der CSV Nichts; der Agent schreibt sie

Die Trennung ist der Kern. Das Erfassen der Werte ist deterministische Engine‑Arbeit; das Bewerten und Zusammenstellen liegt beim Agenten.

Beispielsitzung (gekürzt):

You:    Check the license, triage the folder, then extract line items from every readable PDF and list the exceptions.
Agent:  [calls get_license_status, get_document_info x12, extract_text, extract_tables x10]
        License mode: evaluation. Results below are a smoke test.
        12 files: 10 with a text layer, 1 scan, 1 password-protected.
        Totals written for 10 files. Exceptions: scan-007.pdf (no text layer), hr-020.pdf (password required).

Was passiert mit Dateien, die nicht passen?

Ein Scan hat keine Textebene, sodass die Tabellenerfassung nichts zurückgibt. Legen Sie diese beiseite oder lassen Sie den Agenten zu extract_barcodes wechseln, wenn die Seite eine Sendungsnummer oder Auftragscode enthält. Die Durchlauf‑Liste dient gleichzeitig als Inventar, welche Teile des Archivs Scans sind. Eine passwortgeschützte Datei schlägt ihren eigenen Aufruf fehl, also bitten Sie den Agenten, sie zu melden und fortzufahren; die Werkzeuge akzeptieren ein password‑Argument, wenn Sie eines haben.

Wie halten Sie einen großen Durchlauf erschwinglich?

  • Nach Seiten einschränken, wenn die Daten an einer bekannten Stelle liegen, z. B. auf der ersten Seite jeder Rechnung.
  • extract_images nicht massenhaft verwenden. Es schreibt für jedes Bild eine Datei, und ein Ordner mit illustrierten Berichten erzeugt Hunderte.
  • Metered‑Nutzung beobachten. Bei nutzungsabhängiger Lizenzierung wird jeder Aufruf nach Verarbeitungszeit abgerechnet, sodass ein gezielter Durchlauf weniger kostet als ein vollständiger.

Was sind die Grenzen?

Ohne Lizenz ist die Extraktion begrenzt; die genauen Grenzen finden Sie auf der licensing page der Bibliothek. Der Server hat kein OCR, sodass gescannter Text nicht erfasst werden kann. Er wird ausschließlich als Docker‑Image bereitgestellt; es gibt keinen dnx‑Befehl.

Wie registrieren Sie den Server?

Ein minimaler manueller Eintrag für Cursor, Claude Desktop oder Windsurf, unter Verwendung der Container‑Pfade aus den Parser‑Konfigurations‑Docs:

{
  "mcpServers": {
    "groupdocs-parser": {
      "command": "docker",
      "args": ["run", "--rm", "-i",
               "-v", "/path/to/documents:/data",
               "-e", "GROUPDOCS_MCP_STORAGE_PATH=/data",
               "ghcr.io/groupdocs-parser/parser-net-mcp:latest"]
    }
  }
}

FAQ

Kann ich einen Ordner mit Rechnungen mit KI verarbeiten, ohne sie hochzuladen?
Ja. Der Container liest den gemounteten Ordner und kommuniziert über stdio mit Ihrem Client, sodass die Rechnungen auf Ihrer Maschine bleiben.

Wie extrahiere ich Text stapelweise aus PDFs lokal?
Bitten Sie den Agenten, den Ordner zu durchlaufen und extract_text pro Datei, Seite für Seite bei langen Dokumenten aufzurufen, da sehr große Ausgaben mit einem Marker abgeschnitten werden.

Kann der Agent die Dateneingabe aus Dokumenten automatisieren?
Er kann die extrahierten Zeilen zu einer CSV oder einer Zusammenfassungstabelle zusammenstellen. Überprüfen Sie die Ausnahmeliste, bevor irgendetwas in ein anderes System eingetragen wird.

Go deeper