Un agent IA doit poser trois questions à un document avant de rendre une page unique : combien de pages il possède, quelle est la taille de chaque page, et s’il nécessite un mot de passe. Le serveur GroupDocs.Viewer.Mcp répond aux deux premières avec un appel économique (get_view_info), exécuté localement sur votre machine, et la question du mot de passe est réglée dans le prompt. L’agent rend ensuite uniquement les pages qui importent :

Quel est contract.docx — combien de pages, et quelle taille de page ?

La version étape par étape avec configuration et dépannage se trouve dans la documentation : Comment vérifier les pages d’un document avant de les rendre.

Pourquoi inspecter d’abord ?

Chaque page que l’outil render_page produit revient à l’agent sous forme de PNG en ligne, souvent de quelques centaines de kilo‑octets. Un agent qui rend un fichier de 60 pages pour trouver un tableau paie pour 59 images dont il n’avait pas besoin, en temps et en fenêtre de contexte. L’outil d’inspection, get_view_info, ne rend rien. Il renvoie un petit objet JSON, de sorte que la décision de ce qu’il faut rendre est basée sur des faits plutôt que sur des suppositions.

Le modèle est réutilisable dans n’importe quel client : Claude Desktop, Claude Code, Cursor, VS Code avec GitHub Copilot ou Windsurf. C’est une habitude que vous intégrez dans un prompt, pas une fonctionnalité que vous configurez.

Question 1 : Combien de pages y a‑t‑il ?

get_view_info renvoie pageCount. C’est la seule protection contre un bord tranchant documenté : render_page ne vérifie pas le numéro de page par rapport au document. Demandez la page 40 d’un fichier de 12 pages et vous recevrez quand même une image, enregistrée sous <name>_page40.png, d’une page qui n’est pas la page 40.

Un prompt qui intègre cette protection :

Combien de pages le rapport possède‑t‑il ? Ensuite, montrez‑moi la dernière.

Pour les feuilles de calcul, le compte est encore plus important. Le moteur divise une feuille en pages, et le nombre peut être bien plus grand que ce que la feuille semble. Le connaître d’abord empêche l’agent de rendre toutes les pages.

Question 2 : Quelle est la taille de chaque page ?

Quelle est la taille des pages de ce PDF — Letter ou A4 ?

La réponse répertorie number, width et height pour chaque page, en points. 612 × 792 correspond à US Letter ; environ 595 × 842 correspond à A4. Un document contenant une page paysage parmi des pages portrait l’affiche dans les tailles, et cette page est souvent le tableau ou le dessin que quelqu’un recherche.

Deux autres champs, name et visible, sont remplis lorsque le format les possède, par exemple les noms de feuilles de calcul et les diapositives ou feuilles masquées. Sinon ils sont null et true.

Question 3 : Le fichier nécessite‑t‑il un mot de passe ?

get_view_info ne possède aucun champ de protection, donc le type de fichier et le nombre de pages ne vous indiquent pas si un mot de passe est requis. Un fichier protégé par mot de passe nécessite son mot de passe à chaque appel, quel que soit l’outil. Fournissez‑le dès le départ dans le prompt :

Le mot de passe pour contract.pdf se trouve dans mon message. Vérifiez combien de pages il possède, puis montrez‑moi la page 2.

Sans le mot de passe, l’appel échoue, et l’agent peut vous le demander au lieu de deviner. Si l’appel échoue, get_view_info renvoie un texte commençant par View-info lookup failed for suivi du type d’exception et du message, de sorte que l’agent puisse lire la raison et demander le mot de passe ou le bon nom de fichier.

Un prompt réutilisable d’inspection‑puis‑rendu

Avant de rendre quoi que ce soit du fichier nommé ci‑dessous, vérifiez son type de fichier, son nombre de pages et les tailles des pages. Dites‑moi ce que vous avez trouvé, puis ne rendez que les pages nécessaires pour répondre à ma question. Fichier : contract.docx. Question : où se trouve la clause de résiliation ?

L’agent appelle get_view_info, rapporte le type de fichier et le nombre de pages, sélectionne les pages, et appelle render_page pour chacune. L’outil get_license_status est le troisième outil sur le serveur ; utilisez‑le lorsque vous devez savoir si les pages rendues seront filigranées.

Exemple de session

Une illustration basée sur la forme de réponse documentée, et non une capture d’écran.

You:   Inspect report.pdf before rendering anything.

Agent: [calls get_view_info on report.pdf]
       report.pdf: Portable Document Format File (.pdf), 2 pages.
       Page 1: 612 x 792 points (US Letter). Page 2: 612 x 792 points.
       Which page would you like me to render?

Que décide l’agent, et que fait le moteur ?

Étape Agent Moteur
Choisir le fichier Prend le nom du fichier de votre prompt Le résout dans le dossier de stockage, liste les fichiers disponibles si le nom ne correspond pas
Inspecter Détermine quelles questions importent Renvoie le type de fichier, le nombre de pages et les tailles des pages
Sélectionner les pages Mappe votre question aux numéros de pages Rien
Rendre Appelle render_page pour chaque page choisie Produit le PNG

Limites honnêtes

  • Mode d’évaluation. Les pages rendues portent un filigrane d’évaluation et un processus serveur ouvre au maximum 15 documents. Demandez « Le serveur Viewer est‑il licencié ? » afin que l’agent appelle get_license_status avant que vous ne vous fiiez à la sortie.
  • Le nombre de pages ne choisit pas les pages pour vous. get_view_info indique quelles pages existent, pas celle qui contient la réponse. Pour cela, rendez une page de sommaire ou quelques candidates.
  • PNG uniquement. Il n’existe aucune option de format sur render_page.

FAQ

Comment un agent IA peut‑il obtenir le nombre de pages d’un PDF ? Si le serveur Viewer est connecté, Claude peut appeler get_view_info et lire pageCount sans rendre quoi que ce soit. La réponse provient du document, pas d’une supposition.

L’outil MCP d’information de document peut‑il indiquer à l’agent quelles pages rendre ? Oui. Donnez‑lui d’abord le nombre de pages et les tailles, puis indiquez‑lui ce que vous recherchez. Il rend les pages qui répondent à la question.

L’inspection d’un document le télécharge‑t‑elle quelque part ? Non. Le serveur lit le fichier depuis le dossier que vous avez configuré et renvoie un petit objet JSON à votre client.

Approfondir