Un serveur GroupDocs MCP permet à Claude Desktop, Claude Code, Cursor, GitHub Copilot et d’autres clients MCP de travailler avec vos documents localement : le client démarre le serveur en tant que processus enfant sur votre propre machine, et les fichiers sont lus et écrits dans les dossiers que vous choisissez. L’architecture complète et le modèle de sécurité sont documentés sur la page on‑premise de chaque produit, par exemple Running GroupDocs MCP servers on-premise: architecture and security model. Cet article compare les trois méthodes courantes pour connecter un agent IA aux documents et explique ce qui quitte ou non la machine.
Quelles architectures peuvent connecter un agent IA aux documents ?
Il y en a trois. Elles diffèrent selon la première question qu’un examinateur de sécurité se pose : où va le document ?
| Téléversement cloud | API hébergée | Serveur MCP local | |
|---|---|---|---|
| Comment ça fonctionne | L’assistant ou un plugin téléverse le fichier vers un service fournisseur | Votre code ou agent appelle une API REST fournisseur avec le fichier | Le client IA démarre un processus serveur sur votre machine |
| Où va le document | Un cloud tiers | Un cloud tiers ou votre propre locataire | Nulle part : lecture et écriture dans des dossiers locaux |
| Surface réseau | Sortante vers le fournisseur | Sortante vers le fournisseur | uniquement stdio ; aucune avec un fichier de licence, seuls les rapports d’utilisation (pas le contenu du document) avec licence à comptage |
| Ports entrants | Non applicable | Non applicable | Aucun |
| Utilisation en environnement isolé | Impossible | Généralement non ; dépend des options de déploiement du fournisseur | Possible avec un fichier de licence |
| Qui l’exécute | Le fournisseur | Le fournisseur | Vous, dans le cadre du client IA |
La troisième colonne correspond à ce que les serveurs GroupDocs MCP implémentent. Le reste de cet article explique le fonctionnement et les limites.
À quoi ressemble le flux de données d’un serveur MCP local ?
Le client IA lance le serveur en tant que processus enfant et communique avec lui via l’entrée et la sortie standard en utilisant JSON‑RPC. Le serveur n’écoute jamais sur un port réseau, et avec un fichier de licence il ne crée aucune connexion sortante non plus.
+--------------+ +--------------------+ +------------------+
| AI client | stdio | MCP server process | reads / | local filesystem |
| (Claude, | <------> | (GroupDocs engine) | <-----> | storage / output |
| Cursor, ..) | JSON-RPC | child process | writes | folders |
+--------------+ +--------------------+ +------------------+
|
| prompts and quoted fragments only
v
+--------------------+
| model provider | (cloud, or a local model inside your network)
+--------------------+
Un examinateur de sécurité obtient quatre affirmations vérifiables :
- Transport : entrée et sortie standard vers un processus enfant. Il n’y a rien à filtrer et rien à exposer.
- Ports entrants : aucun.
- Télémétrie : aucune. Le moteur de documents s’exécute en‑processus.
- Utilisation du réseau : uniquement lors de l’installation, pour récupérer le package depuis nuget.org ou l’image depuis ghcr.io. En cours d’exécution le serveur ne fait aucun appel sortant, à l’exception d’une licence décrite ci‑dessous.
Vous pouvez vérifier cela au lieu de simplement le croire : lancez une tâche et surveillez les sockets d’écoute et les connexions sortantes.
Qu’est‑ce qui quitte la machine lorsqu’un agent traite un document ?
Les documents ne quittent pas la machine. Les invites et les fragments cités, oui.
Le modèle derrière votre client IA voit la conversation. Si le modèle est hébergé dans le cloud, votre texte d’instruction atteint le fournisseur de modèle, tout comme tout ce que l’agent vous renvoie. Deux exemples :
- Après une comparaison, un agent indique qu’une condition de paiement est passée de 30 à 45 jours. Cette phrase fait partie de la conversation et est transmise au fournisseur.
- Après une extraction, un agent indique le total d’une facture. Le fichier n’a pas bougé, mais cette valeur a été transmise.
Il est utile de formuler les invites de façon à ce que la réponse contienne moins de contenu, par exemple demander quels fichiers ont un total supérieur à un seuil plutôt que de demander les totaux. Pour des corpus sensibles, associez le serveur à un modèle hébergé localement. Ainsi, toute la boucle (client, modèle, serveur, fichiers) reste à l’intérieur de votre réseau.
Un serveur local a‑t‑il besoin d’accès Internet ?
Pas pour le traitement. Cela dépend du mode de licence :
- Fichier de licence : lu depuis le disque local par le processus local. Cela fonctionne entièrement hors ligne et est le bon choix pour les réseaux isolés.
- À comptage (pay‑per‑use) : le serveur envoie usage à GroupDocs, il a donc besoin d’une sortie réseau. Le rapport ne contient aucun contenu de document, mais la connexion elle‑même doit être autorisée par votre pare‑feu.
Si des clés à comptage et un fichier de licence sont configurés, les clés à comptage priment. Conservez les clés dans des variables d’environnement plutôt que dans une configuration engagée. La page de licence de chaque produit décrit la configuration, et l’outil get_license_status indique le mode actif.
Comment exécuter le serveur à l’intérieur du périmètre avec Docker ?
L’image Docker est souvent l’option la plus simple pour une équipe plateforme : une image avec les dépendances natives, aucun SDK sur l’hôte, et une frontière limitée aux dossiers que vous montez. Chaque produit possède sa propre image, nommée ghcr.io/groupdocs-<product>/<product>-net-mcp. La commande ci‑dessous montre la forme pour un produit ; remplacez les espaces réservés.
docker run --rm -i \
-v /srv/documents:/data \
-v /srv/licenses:/license:ro \
-e GROUPDOCS_MCP_STORAGE_PATH=/data \
-e GROUPDOCS_LICENSE_PATH=/license/GroupDocs.<Product>.lic \
ghcr.io/groupdocs-<product>/<product>-net-mcp:<tag>
- Épingler la balise. Les commandes de démarrage rapide utilisent
:latest; en production, épinglez la balise à la version que vous avez testée afin qu’une reconstruction ne change pas le comportement d’un workflow en cours. - Monter délibérément. Le conteneur ne voit que les dossiers que vous lui donnez, ce qui constitue une frontière plus stricte qu’un processus s’exécutant sous votre utilisateur.
- Monter la licence en lecture‑seule.
- Segments isolés : pré‑téléchargez l’image, ou pré‑cachez le package NuGet, et épinglez la version.
Votre client IA exécute cette commande docker run comme commande serveur dans sa configuration MCP, de sorte que le conteneur est le processus enfant du diagramme ci‑dessus. La documentation décrit les images comme multi‑arch (linux/amd64 et linux/arm64).
Un serveur MCP local convient‑il aux industries réglementées ?
Il élimine la principale question d’une revue de confidentialité, à savoir le transfert de documents vers un processeur tiers. Les équipes juridiques, financières, de santé et du secteur public dont la politique interdit le téléversement de documents peuvent l’utiliser comme bloc de construction pour des flux de travail conformes à HIPAA ou GDPR. Cela décrit uniquement l’adéquation architecturale. Les serveurs GroupDocs MCP ne sont certifiés pour aucune réglementation, et vos obligations dépendent toujours du modèle que vous associez, de votre mode de licence et de vos propres contrôles.
Quelles sont les limites de ce modèle ?
- Un serveur sert un seul processus client. Un serveur stdio est démarré par un client sur une machine. Ce n’est pas un service multi‑utilisateur. Pour un service partagé, placez votre propre service devant la bibliothèque GroupDocs plutôt que de lancer de nombreux serveurs MCP.
- La licence à comptage nécessite une sortie réseau. Les rapports d’usage sont envoyés, comme décrit plus haut. Optez pour un fichier de licence si le réseau doit rester fermé.
- Les invites atteignent toujours le fournisseur de modèle sauf si vous utilisez un modèle hébergé localement.
- Le mode d’évaluation a des limites. Sans licence, les serveurs fonctionnent en mode évaluation avec des restrictions propres au produit. Par exemple, le serveur Comparison ne compare que les 2 premières pages et ajoute un filigrane au résultat. Appelez
get_license_statusd’abord et lisez la page de licence de votre produit. - Parser et Search ne sont disponibles que sous forme d’images Docker. GroupDocs.Parser.Mcp et GroupDocs.Search.Mcp n’ont pas de package NuGet, donc la voie Docker ci‑dessus est la seule pour ces produits. Sur un hôte Linux, lancez leurs conteneurs avec
--user "$(id -u):$(id -g)"afin qu’ils puissent écrire dans les dossiers que vous montez. - Exceptions de plateforme. Deux opérations spécifiques aux PDF échouent actuellement sous Linux, y compris l’image Docker, parce que la gestion d’images du moteur PDF dépend de
System.Drawing.Common, que .NET ne supporte que sous Windows : GroupDocs.Annotation.Mcpgenerate_pages_previewsur les fichiers PDF (les documents Word sont rendus), et GroupDocs.Redaction.Mcpredact_image_areaeterase_metadatasur les fichiers PDF (redact_textsur PDF, et les trois sur les documents Word, fonctionnent). Exécutez‑les sous Windows avecdnx; voir les articles produit.
FAQ
MCP est‑il sécurisé pour les documents sensibles ?
Avec un serveur GroupDocs MCP, les documents sont traités en‑processus sur votre machine via stdio, sans ports d’écoute et sans télémétrie. Ce qui reste à évaluer, c’est le modèle utilisé par votre client IA, car les invites et les fragments cités y sont envoyés.
Puis‑je utiliser les outils Claude sans envoyer de données au cloud ?
Les documents restent locaux dans tous les cas. Pour garder les invites locales également, utilisez un client qui supporte un modèle hébergé localement, ainsi aucune partie de la conversation ne quitte votre réseau.
Quelles données un serveur MCP envoie‑t‑il ?
En cours d’exécution, un serveur GroupDocs MCP n’envoie rien sur le réseau lorsqu’un fichier de licence est utilisé. Avec une licence à comptage, il envoie des rapports d’usage à GroupDocs, jamais le contenu du document.
Par produit : pages on‑premise dans la documentation
Chaque page couvre la même architecture avec les commandes propres à ce produit. Ce sont les références canoniques pour une revue de sécurité.
- GroupDocs.Annotation.Mcp
- GroupDocs.Comparison.Mcp
- GroupDocs.Conversion.Mcp
- GroupDocs.Markdown.Mcp
- GroupDocs.Merger.Mcp
- GroupDocs.Metadata.Mcp
- GroupDocs.Parser.Mcp
- GroupDocs.Redaction.Mcp
- GroupDocs.Search.Mcp
- GroupDocs.Signature.Mcp
- GroupDocs.Viewer.Mcp
- GroupDocs.Watermark.Mcp
Par produit : où commencer sur le blog
Chaque produit possède une série d’articles — quatre pour la plupart, six pour Search. Le premier explique le modèle ; les suivants l’appliquent.
- GroupDocs.Annotation.Mcp : AI review that lands in the document, not in the chat log
- GroupDocs.Comparison.Mcp : 3 Ways to Compare Documents with AI Agents and MCP
- GroupDocs.Conversion.Mcp : Why your AI agent should not convert documents by itself
- GroupDocs.Markdown.Mcp : Your RAG pipeline starts with Markdown — keep that step local
- GroupDocs.Merger.Mcp : Why your AI agent should merge files with an engine, not by regenerating them
- GroupDocs.Metadata.Mcp : 3 metadata questions to ask an AI agent before you share a document
- GroupDocs.Parser.Mcp : 3 ways to extract document data with AI agents and MCP (text, tables, images)
- GroupDocs.Redaction.Mcp : 3 ways to redact sensitive data with AI agents and MCP
- GroupDocs.Search.Mcp : Do you need a vector database to ask questions about a folder of documents?
- GroupDocs.Signature.Mcp : 3 Ways to Sign Documents with AI Agents and MCP: Text, QR Code, Certificate
- GroupDocs.Viewer.Mcp : Multimodal agents need pixels, not just text
- GroupDocs.Watermark.Mcp : 3 ways to label AI-generated documents with watermarks via MCP