U kunt een LLM of AI‑agent vragen om gegevens uit documenten te extraheren en het antwoord laten komen van een document‑engine, niet van de lezing van een geplakte bestand door het model. Met de GroupDocs.Parser.Mcp‑server die lokaal in een Docker‑container draait, geeft één prompt de tekst, een tabel, de ingesloten afbeeldingen of een barcode‑waarde terug:

Wat zegt invoice.pdf, en wat staat er in de tabel?

De stapsgewijze versie met configuratie en probleemoplossing staat in de documentatie: Hoe documentgegevens te extraheren met AI‑agents via MCP.

Waarom heeft een AI‑agent überhaupt een extractietool nodig?

Een chatmodel kent alleen wat er in zijn contextvenster wordt geplaatst. Plak een PDF in een chat en het model werkt met de tekst die de client eruit heeft kunnen flatten, waardoor kolommen instorten, scans leeg aankomen en niemand kan zeggen welke van de twee is gebeurd. Een extractieserver verplaatst die stap uit het model: de agent roept een tool aan, een document‑engine leest het bestand in de container, en de agent ontvangt het resultaat. Het model doet vervolgens waar het goed in is, namelijk redeneren over de waarden die het heeft gekregen.

GroupDocs.Parser.Mcp biedt zeven tools aan MCP‑compatibele clients zoals Claude Desktop, Claude Code, Cursor, VS Code met GitHub Copilot en Windsurf. Vijf extraheren gegevens (extract_text, extract_tables, extract_images, extract_barcodes, extract_metadata), één inspecteert (get_document_info) en één rapporteert licentiestatus (get_license_status).

Manier 1: Vraag naar de waarde en laat de agent de tool kiezen

Formuleer het verzoek als een vraag over het document. De agent koppelt de vraag aan een tool.

U vraagt Tool die de agent aanroept
“Wat zegt het?” extract_text
“Wat staat er in de tabel?” extract_tables
“Wie heeft het geschreven, en wanneer?” extract_metadata
“Sla de afbeeldingen op.” extract_images
“Wat codeert de barcode?” extract_barcodes

extract_text ondersteunt PDF, DOCX, XLSX, PPTX, TXT, HTML, CSV, EML, MSG, RTF, ODT, EPUB en meer dan 50 andere formaten, zodat dezelfde prompt werkt op een e‑mail en op een spreadsheet. Zeer grote uitvoer wordt afgekapt met een marker, dus vraag voor een lang rapport pagina voor pagina:

Extraheer de tekst van dit 40‑pagina‑rapport pagina voor pagina en vat elke sectie samen.

Voorbeeldsessie (verkort):

U:    Wat zegt invoice.pdf, en wat staat er in de tabel?
Agent:  [calls extract_text, extract_tables]
        Factuur 2026-0412 van Northwind Supplies, gedateerd 3 oktober.
        De tabel heeft 3 rijen (item, hoeveelheid, bedrag); de bedragen komen samen op 1,240.00.

Manier 2: Controleer de tekstlaag voordat u een leeg resultaat vertrouwt

Een digitaal‑geboren PDF‑bestand bevat een tekstlaag; een scan niet. Op een gescande pagina geeft extract_text weinig of niets terug, wat een correcte uitspraak over het bestand is. Laat de agent dit testen voordat hij extraheert:

Hoeveel pagina’s heeft dit, en bevat het extracteerbare tekst?

get_document_info retourneert de bestandsnaam, het type, het aantal pagina’s en de grootte zonder iets te wijzigen, en een één‑pagina extract_text‑aanroep toont of er tekst bestaat. Twee goedkope aanroepen scheiden “dit bestand is leeg” van “dit bestand is een afbeelding”. Er is geen OCR‑stap in deze server, dus afgedrukte woorden in een scan blijven pixels. Codes zijn de uitzondering, en Manier 3 behandelt ze.

Manier 3: Haal eruit wat teksteextractie niet kan bereiken

Tabellen, afbeeldingen en barcodes hebben elk een eigen tool, omdat het omzetten naar tekst verliest wat ze nuttig maakt.

  • extract_tables retourneert Markdown‑tabellen die in de chat worden weergegeven, of JSON‑rijen wanneer u format: "json" opgeeft.
  • extract_images slaat elke ingesloten afbeelding op in de uitvoermap als <basename>_image<N>.<ext>.
  • extract_barcodes decodeert Code128, QR‑code, PDF417, DataMatrix, EAN‑13, EAN‑8, UPC, Aztec en meer, ook op gescande pagina’s, omdat de modellen van de engine codes detecteren in de gerasterde afbeelding.

Extraheer de regelitems uit invoice.pdf als JSON, sla vervolgens de afbeeldingen van pagina 1 op.

Heeft de agent extractie of conversie nodig?

Dit zijn verschillende taken, en het kiezen van de verkeerde server kost een ronde verwarring.

U wilt Server
Waarden uit een document: tekst, een tabel, een barcode, eigenschappen GroupDocs.Parser.Mcp
Het document als een ander formaat, lay-out behouden GroupDocs.Conversion.Mcp
Schone Markdown van het hele document voor RAG GroupDocs.Markdown.Mcp
Metadata bewerkt of verwijderd, niet alleen gelezen GroupDocs.Metadata.Mcp

Veel pipelines gebruiken twee servers: converteren voor ingestie, parseren voor extractie.

Run het lokaal met Docker

Deze server wordt alleen als Docker‑image geleverd. De engine bevat ongeveer 234 MB aan ONNX‑modellen, waardoor een NuGet‑pakket de limiet van 250 MB overschrijdt, dus er is geen dnx‑commando. Koppel een map met documenten aan als /data:

docker run --rm -i -v $(pwd)/documents:/data \
  ghcr.io/groupdocs-parser/parser-net-mcp:latest

Uw AI‑client start de container als een child‑process via stdio. Er zijn geen inkomende poorten, en de documenten blijven op de machine. Per‑client configuratie voor Claude Desktop, Claude Code, VS Code, Cursor, Windsurf, Cline en Codex staat in Registreren in AI‑clients.

Wat zijn de limieten?

  • Evaluatiemodus. Zonder licentie is extractie beperkt; de exacte limieten staan op de licentiepagina van de bibliotheek. Vraag de agent eerst get_license_status uit te voeren, en beschouw niet-gelicentieerde output als een rooktest, niet als een volledige lezing.
  • Geen OCR. Tekst in een scan kan niet worden geëxtraheerd.
  • Alleen Docker. U moet Docker geïnstalleerd hebben; de image is groot, dus haal deze één keer op.

Veelgestelde vragen

Kan ik tekst uit een PDF extraheren met Claude lokaal, zonder het te uploaden?
Ja. De server draait in een container op uw machine en Claude Desktop communiceert ermee via stdio, zodat het bestand wordt gelezen uit de gekoppelde map en niet wordt verzonden naar een extractieservice.

Waarom geeft de agent niets terug voor sommige PDF’s?
Het bestand is waarschijnlijk een scan zonder tekstlaag. Vraag de agent get_document_info uit te voeren en een één‑pagina extract_text‑aanroep om te bevestigen, gebruik vervolgens extract_barcodes voor codes of een OCR‑tool voor woorden.

Is er een dnx‑commando voor GroupDocs.Parser.Mcp?
Nee. Dit product is alleen Docker, dus elke installatie gebruikt docker run of een MCP‑client‑entry die Docker start.

Ga dieper