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_tablesrenvoie des tableaux Markdown qui s’affichent dans le chat, ou des lignes JSON lorsque vous passezformat: "json".extract_imagesenregistre chaque image intégrée dans le dossier de sortie sous la forme<basename>_image<N>.<ext>.extract_barcodesdé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_statusd’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
- Documentation, guide canonique : Comment extraire des données de documents avec des agents IA en utilisant MCP
- Hub de documentation : GroupDocs.Parser MCP Server
- Suivant : Tableaux extraits de PDF, vers JSON, sans qu’un LLM devine les cellules
- Suivant : Appliquer une capture de données cohérente avec des flux d’extraction automatisés utilisant MCP
- Suivant : Automatisation de la numérisation vers l’enregistrement avec des agents IA
- Sur site et modèle de sécurité : 3 architectures pour le traitement de documents IA, et celle qui garde les fichiers à l’intérieur de votre réseau
- Questions : GroupDocs Parser forum
- Source : GroupDocs.Parser.Mcp sur GitHub