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_tablesretourneert Markdown‑tabellen die in de chat worden weergegeven, of JSON‑rijen wanneer uformat: "json"opgeeft.extract_imagesslaat elke ingesloten afbeelding op in de uitvoermap als<basename>_image<N>.<ext>.extract_barcodesdecodeert 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_statusuit 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
- Documentatie, canonieke handleiding: Documentatie, canonieke handleiding
- Documentatie‑hub: Documentatie‑hub
- Volgende: Tabellen uit PDF’s, naar JSON, zonder dat een LLM de cellen raadt: Tables out of PDFs, into JSON, without an LLM guessing the cells
- Volgende: Consistente gegevenscaptatie afdwingen met geautomatiseerde extractieworkflows via MCP: Enforce consistent data capture with automated extraction workflows using MCP
- Volgende: Scan-naar-record automatisering met AI‑agents: Scan-to-record automation with AI agents
- On‑premise en beveiligingsmodel: 3 architecturen voor AI‑documentverwerking, en diegene die bestanden binnen uw netwerk houdt: 3 architectures for AI document processing, and the one that keeps files inside your network
- Vragen: GroupDocs Parser forum
- Bron: GroupDocs.Parser.Mcp op GitHub