Puoi chiedere a un LLM o a un agente IA di estrarre dati dai documenti e far sì che la risposta provenga da un motore di documenti, non dalla lettura del modello di un file incollato. Con il server GroupDocs.Parser.Mcp in esecuzione localmente in un contenitore Docker, un unico prompt restituisce il testo, una tabella, le immagini incorporate o il valore di un codice a barre:
Che cosa dice invoice.pdf e cosa contiene la sua tabella?
La versione passo‑passo con configurazione e risoluzione dei problemi è nella documentazione: Come estrarre dati da documenti con agenti IA usando MCP.
Perché un agente IA ha bisogno di uno strumento di estrazione?
Un modello di chat conosce solo ciò che è inserito nella sua finestra di contesto. Incolla un PDF in una chat e il modello lavora sul testo che il client è riuscito a appiattire, quindi le colonne collassano, le scansioni arrivano vuote e nessuno può dire quale dei due casi sia avvenuto. Un server di estrazione sposta questo passaggio fuori dal modello: l’agente chiama uno strumento, un motore di documenti legge il file all’interno del contenitore e l’agente riceve il risultato. Il modello fa quindi ciò che sa fare meglio, ovvero ragionare sui valori che gli sono stati forniti.
GroupDocs.Parser.Mcp espone sette strumenti per client compatibili con MCP come Claude Desktop, Claude Code, Cursor, VS Code con GitHub Copilot e Windsurf. Cinque estraggono dati (extract_text, extract_tables, extract_images, extract_barcodes, extract_metadata), uno ispeziona (get_document_info) e uno segnala lo stato della licenza (get_license_status).
Metodo 1: Richiedi il valore e lascia che l’agente scelga lo strumento
Formula la richiesta come una domanda sul documento. L’agente mappa la domanda a uno strumento.
| Richiesta | Strumento chiamato dall’agente |
|---|---|
| “Che cosa dice?” | extract_text |
| “Cosa c’è nella tabella?” | extract_tables |
| “Chi l’ha scritto e quando?” | extract_metadata |
| “Salva le figure.” | extract_images |
| “Cosa codifica il codice a barre?” | extract_barcodes |
extract_text supporta PDF, DOCX, XLSX, PPTX, TXT, HTML, CSV, EML, MSG, RTF, ODT, EPUB e più di 50 formati aggiuntivi, quindi lo stesso prompt funziona su un’email e su un foglio di calcolo. Output molto grandi vengono troncati con un marcatore, quindi per un rapporto lungo chiedi pagina per pagina:
Estrai il testo di questo rapporto di 40 pagine pagina per pagina e riassumi ogni sezione.
Esempio di sessione (abbreviato):
You: What does invoice.pdf say, and what is in its table?
Agent: [calls extract_text, extract_tables]
Invoice 2026-0412 from Northwind Supplies, dated 3 October.
The table has 3 rows (item, quantity, amount); the amounts add up to 1,240.00.
Metodo 2: Controlla lo strato di testo prima di fidarti di un risultato vuoto
Un PDF nato digitalmente contiene uno strato di testo; una scansione no. Su una pagina scansionata extract_text restituisce poco o nulla, il che è una dichiarazione corretta sul file. Fai testare l’agente prima di estrarre:
Quante pagine ha questo documento e contiene testo estraibile?
get_document_info restituisce il nome del file, il tipo, il conteggio delle pagine e la dimensione senza modificare nulla, e una chiamata extract_text su una pagina mostra se il testo esiste. Due chiamate economiche separano “questo file è vuoto” da “questo file è un’immagine”. Non c’è alcun passaggio OCR in questo server, quindi le parole stampate in una scansione rimangono pixel. I codici sono l’eccezione, e il Metodo 3 li copre.
Metodo 3: Estrai ciò che l’estrazione di testo non può raggiungere
Tabelle, immagini e codici a barre hanno ciascuno uno strumento dedicato, perché appiattirli in testo perde ciò che li rende utili.
extract_tablesrestituisce tabelle Markdown che vengono renderizzate nella chat, o righe JSON quando passiformat: "json".extract_imagessalva ogni immagine incorporata nella cartella di output come<basename>_image<N>.<ext>.extract_barcodesdecodifica Code128, QR Code, PDF417, DataMatrix, EAN-13, EAN-8, UPC, Aztec e altro, anche su pagine scansionate, perché i modelli del motore rilevano i codici nell’immagine rasterizzata.
Estrai le righe di dettaglio da invoice.pdf come JSON, poi salva le immagini dalla pagina 1.
L’agente ha bisogno di estrazione o di conversione?
Sono compiti diversi, e scegliere il server sbagliato genera confusione.
| Cosa vuoi | Server |
|---|---|
| Valori da un documento: testo, una tabella, un codice a barre, proprietà | GroupDocs.Parser.Mcp |
| Il documento in un altro formato, con layout preservato | GroupDocs.Conversion.Mcp |
| Markdown pulito dell’intero documento per RAG | GroupDocs.Markdown.Mcp |
| Metadati modificati o rimossi, non solo letti | GroupDocs.Metadata.Mcp |
Molte pipeline usano due server: conversione per l’ingestione, parsing per l’estrazione.
Eseguilo localmente con Docker
Questo server è distribuito solo come immagine Docker. Il motore incorpora circa 234 MB di modelli ONNX, il che supera il limite di 250 MB per un pacchetto NuGet, quindi non esiste il comando dnx. Monta una cartella di documenti come /data:
docker run --rm -i -v $(pwd)/documents:/data \
ghcr.io/groupdocs-parser/parser-net-mcp:latest
Il tuo client IA avvia il contenitore come processo figlio tramite stdio. Non ci sono porte in ingresso e i documenti rimangono sulla macchina. La configurazione per client specifici (Claude Desktop, Claude Code, VS Code, Cursor, Windsurf, Cline e Codex) è in Registrazione nei client IA.
Quali sono i limiti?
- Modalità di valutazione. Senza licenza, l’estrazione è limitata; i limiti esatti sono nella pagina di licenza della libreria. Chiedi all’agente di eseguire
get_license_statusprima e tratta l’output non licenziato come un test preliminare, non come una lettura completa. - Nessun OCR. Il testo in una scansione non può essere estratto.
- Solo Docker. È necessario avere Docker installato; l’immagine è grande, quindi scaricala una sola volta.
FAQ
Posso estrarre testo da un PDF con Claude localmente, senza caricarlo?
Sì. Il server gira in un contenitore sulla tua macchina e Claude Desktop comunica con esso tramite stdio, quindi il file viene letto dalla cartella montata e non inviato a un servizio di estrazione.
Perché l’agente non restituisce nulla per alcuni PDF?
Il file è probabilmente una scansione senza strato di testo. Chiedi all’agente di eseguire get_document_info e una chiamata extract_text su una pagina per confermare, poi usa extract_barcodes per i codici o uno strumento OCR per le parole.
Esiste un comando dnx per GroupDocs.Parser.Mcp?
No. Questo prodotto è solo Docker, quindi ogni installazione utilizza docker run o un entry client MCP che avvia Docker.
Approfondisci
- Documentazione, guida canonica: Come estrarre dati da documenti con agenti IA usando MCP
- Hub della documentazione: GroupDocs.Parser MCP Server
- Prossimo: Tabelle da PDF a JSON, senza che un LLM indovini le celle
- Prossimo: Garantire la cattura coerente dei dati con flussi di lavoro di estrazione automatizzata usando MCP
- Prossimo: Automazione scan‑to‑record con agenti IA
- On‑premise e modello di sicurezza: 3 architetture per l’elaborazione di documenti IA, e quella che mantiene i file all’interno della tua rete
- Domande: Forum GroupDocs Parser
- Fonte: GroupDocs.Parser.Mcp su GitHub