Vous pouvez demander à un LLM ou à un agent IA d’extraire des données de documents et d’obtenir la réponse à partir d’un moteur de documents, et non à partir de la lecture du modèle d’un fichier collé. Avec le serveur GroupDocs.Parser.Mcp exécuté localement dans un conteneur Docker, une seule invite renvoie le texte, un tableau, les images intégrées ou la valeur d’un code‑barres :

Que dit invoice.pdf et que contient son tableau ?

La version étape par étape avec configuration et dépannage se trouve dans la documentation : Comment extraire des données de documents avec des agents IA en utilisant MCP.

Pourquoi un agent IA a-t-il besoin d’un outil d’extraction ?

Un modèle de chat ne connaît que ce qui est placé dans sa fenêtre de contexte. Coller un PDF dans un chat et le modèle travaille à partir du texte que le client a réussi à aplatir, ainsi les colonnes s’effondrent, les numérisations arrivent vides et personne ne peut dire lequel des deux s’est produit. Un serveur d’extraction déplace cette étape hors du modèle : l’agent appelle un outil, un moteur de documents lit le fichier à l’intérieur du conteneur, et l’agent reçoit le résultat. Le modèle fait alors ce qu’il sait faire, à savoir raisonner sur les valeurs qui lui sont fournies.

GroupDocs.Parser.Mcp expose sept outils aux clients compatibles MCP tels que Claude Desktop, Claude Code, Cursor, VS Code avec GitHub Copilot et Windsurf. Cinq extraient des données (extract_text, extract_tables, extract_images, extract_barcodes, extract_metadata), un inspecte (get_document_info) et un rapporte l’état de licence (get_license_status).

Méthode 1 : Demander la valeur et laisser l’agent choisir l’outil

Formulez la demande sous forme de question sur le document. L’agent associe la question à un outil.

Vous demandez Outil appelé par l’agent
“Que dit‑il ?” extract_text
“Que contient le tableau ?” extract_tables
“Qui l’a écrit, et quand ?” extract_metadata
“Enregistrer les images.” extract_images
“Que code le code‑barres ?” extract_barcodes

extract_text prend en charge PDF, DOCX, XLSX, PPTX, TXT, HTML, CSV, EML, MSG, RTF, ODT, EPUB et plus de 50 formats supplémentaires, de sorte que la même invite fonctionne sur un e‑mail et sur une feuille de calcul. Les sorties très volumineuses sont tronquées avec un marqueur, ainsi pour un long rapport, demandez page par page :

Extraire le texte de ce rapport de 40 pages page par page et résumer chaque section.

Exemple de session (abrégé) :

Vous : Que dit invoice.pdf et que contient son tableau ?
Agent :  [calls extract_text, extract_tables]
        Facture 2026‑0412 de Northwind Supplies, datée du 3 octobre.
        Le tableau comporte 3 lignes (article, quantité, montant) ; les montants totalisent 1 240,00.

Méthode 2 : Vérifier la couche de texte avant de faire confiance à un résultat vide

Un PDF natif possède une couche de texte ; une numérisation n’en possède pas. Sur une page numérisée, extract_text renvoie peu ou rien, ce qui est une déclaration correcte sur le fichier. Faites en sorte que l’agent teste cela avant d’extraire :

Combien de pages contient‑il, et possède‑t‑il du texte exploitable ?

get_document_info renvoie le nom du fichier, le type, le nombre de pages et la taille sans rien modifier, et un appel extract_text d’une page montre si du texte existe. Deux appels peu coûteux distinguent « ce fichier est vide » de « ce fichier est une image ». Il n’y a pas d’étape OCR dans ce serveur, ainsi les mots imprimés dans une numérisation restent des pixels. Les codes sont l’exception, et la Méthode 3 les couvre.

Méthode 3 : Extraire ce que l’extraction de texte ne peut atteindre

Les tableaux, les images et les codes‑barres disposent chacun d’un outil dédié, car les aplatir en texte fait perdre ce qui les rend utiles.

  • extract_tables renvoie des tableaux Markdown qui s’affichent dans le chat, ou des lignes JSON lorsque vous passez format: "json".
  • extract_images enregistre chaque image intégrée dans le dossier de sortie sous la forme <basename>_image<N>.<ext>.
  • extract_barcodes décode Code128, QR Code, PDF417, DataMatrix, EAN‑13, EAN‑8, UPC, Aztec et plus, y compris sur les pages numérisées, car les modèles du moteur détectent les codes dans l’image rasterisée.

Extraire les lignes d’articles de invoice.pdf au format JSON, puis enregistrer les images de la page 1.

L’agent a‑t‑il besoin d’extraction ou de conversion ?

Ce sont des tâches différentes, et choisir le mauvais serveur entraîne une série de confusions.

Vous voulez Serveur
Valeurs extraites d’un document : texte, tableau, code‑barres, propriétés GroupDocs.Parser.Mcp
Le document dans un autre format, mise en page préservée GroupDocs.Conversion.Mcp
Markdown propre du document complet pour le RAG GroupDocs.Markdown.Mcp
Métadonnées modifiées ou supprimées, pas seulement lues GroupDocs.Metadata.Mcp

De nombreux pipelines utilisent deux serveurs : conversion pour l’ingestion, analyse pour l’extraction.

Lancer localement avec Docker

Ce serveur est fourni uniquement sous forme d’image Docker. Le moteur intègre environ 234 Mo de modèles ONNX, ce qui dépasse la limite de 250 Mo pour un package NuGet, il n’y a donc pas de commande dnx. Montez un dossier de documents en tant que /data :

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

Votre client IA lance le conteneur en tant que processus enfant via stdio. Il n’y a aucun port entrant, et les documents restent sur la machine. La configuration par client pour Claude Desktop, Claude Code, VS Code, Cursor, Windsurf, Cline et Codex se trouve dans Enregistrement dans les clients IA.

Quelles sont les limites ?

  • Mode d’évaluation. Sans licence, l’extraction est limitée ; les limites exactes sont indiquées sur la page de licence de la bibliothèque. Demandez à l’agent d’exécuter get_license_status d’abord, et considérez la sortie non licenciée comme un test de fumée, pas une lecture complète.
  • Pas d’OCR. Le texte d’une numérisation ne peut pas être extrait.
  • Docker uniquement. Vous devez avoir Docker installé ; l’image est volumineuse, donc téléchargez‑la une fois.

FAQ

Puis‑je extraire du texte d’un PDF avec Claude localement, sans le télécharger ?
Oui. Le serveur s’exécute dans un conteneur sur votre machine et Claude Desktop communique avec lui via stdio, ainsi le fichier est lu depuis le dossier monté et n’est pas envoyé à un service d’extraction.

Pourquoi l’agent ne renvoie‑t‑il rien pour certains PDF ?
Le fichier est probablement une numérisation sans couche de texte. Demandez à l’agent d’exécuter get_document_info et un appel extract_text d’une page pour confirmer, puis utilisez extract_barcodes pour les codes ou un outil OCR pour les mots.

Existe‑t‑il une commande dnx pour GroupDocs.Parser.Mcp ?
Non. Ce produit est uniquement Docker, ainsi chaque installation utilise docker run ou une entrée client MCP qui lance Docker.

Approfondir