Aller au contenu principal

Pipeline comme serveur MCP

Un pipeline peut être exposé comme serveur MCP (Model Context Protocol). Un assistant IA externe (Claude Code, VS Code avec GitHub Copilot, Cursor, Claude Desktop…) peut alors l'appeler comme un outil, au fil d'une conversation, sans passer par l'interface web ni par du code.

Chaque pipeline exposé a sa propre adresse :

https://<votre-organisation>.hocnota.com/api/mcp/pipelines/<identifiant-du-pipeline>

Ce que l'assistant peut faire​

Les outils proposés dépendent de la forme du pipeline.

Pipeline de chat — un outil ask : l'assistant envoie un message et reçoit la réponse du pipeline. La réponse contient un identifiant de conversation. Si l'assistant le renvoie à l'appel suivant, la conversation continue et le pipeline voit l'historique.

Pipeline documentaire — quatre outils, parce qu'une analyse peut durer plusieurs minutes, souvent plus que ce qu'un assistant accepte d'attendre pour un seul appel :

OutilRôle
submit_documentsoumet un document (.docx, .pdf, .pptx, .xlsx, .odt, .ods, .odp) et renvoie un identifiant de job
get_job_statusdonne l'état du job et sa progression ; peut attendre jusqu'à 45 s la fin de l'analyse
get_job_resultrenvoie les annotations produites et un lien de téléchargement temporaire vers le document annoté
cancel_jobannule une analyse en cours

Le document est transmis de deux façons au choix :

  • en base64, avec son nom de fichier. C'est la voie des assistants qui ont accès à vos fichiers (Claude Code, par exemple) ;
  • par une URL publique que hocnota télécharge lui-même. Les liens Google Docs et Google Slides partagés sont convertis automatiquement. Les adresses de réseau privé ou local sont refusées.

Les annotations ne figurent dans le résultat que si l'option « Produire la liste des annotations en JSON » est cochée sur le pipeline. Le lien de téléchargement, lui, est toujours fourni ; sa durée de validité est celle des liens de téléchargement de votre organisation.

Pour un portfolio d'extraction (Sortie JSON), les quatre outils sont les mêmes. submit_document accepte aussi les images, et get_job_result renvoie le JSON extrait (extraction), son verdict de conformité (valid) et les écarts au format (errors), sans lien de téléchargement.

Les documents supports ne peuvent pas encore être transmis par MCP.

Mettre en place​

  1. Exposer le pipeline. Dans l'éditeur de pipeline, ouvrez ⚙ Paramètres du pipeline et cochez Exposer comme serveur MCP. Le pipeline doit aussi être actif.
  2. Décrire l'outil. Le champ Description de l'outil est lu par l'assistant pour décider quand appeler votre pipeline : dites ce qu'il fait et ce qu'il renvoie. Laissé vide, c'est la description du pipeline qui sert.
  3. Préparer une clé API. Dans Manager → Paramètres → Clés API, créez ou modifiez une clé : cochez le domaine Serveur MCP et assignez-lui le pipeline (voir Accès au pipeline par API).
  4. Configurer l'assistant. Dans l'éditeur, le panneau Code API a un onglet MCP : choisissez la clé, puis copiez la configuration du client utilisé (Claude Code, VS Code, Cursor, Claude Desktop). L'onglet vous prévient si le pipeline n'est pas encore exposé ou si la clé n'a pas le domaine Serveur MCP.

Pour Claude Code, par exemple :

claude mcp add --transport http hocnota-controle \
https://acme.hocnota.com/api/mcp/pipelines/<identifiant> \
--header "Authorization: Bearer hnk_..."

Qui peut appeler le pipeline​

Trois conditions doivent être réunies, sinon le serveur refuse l'appel :

  • la clé API porte le domaine Serveur MCP. Ce domaine n'est jamais coché par défaut, y compris sur les clés existantes ;
  • la clé est assignée à ce pipeline ;
  • le pipeline est actif et exposé en MCP.

Décocher « Exposer comme serveur MCP » coupe immédiatement l'accès, pour toutes les clés. Le pare-feu IP de votre organisation s'applique aussi à ces appels.

Chaque clé ne voit que ses propres jobs et conversations. Une clé assignée à plusieurs pipelines ne peut pas lire, depuis le serveur de l'un, les jobs lancés sur l'autre.

Coût et quotas​

Une analyse lancée par MCP est un job comme un autre : elle apparaît dans les statistiques (canal MCP) et les coûts, et compte dans les quotas de l'organisation. Sur le service hébergé, chaque appel des outils ask et submit_document consomme un crédit d'appel ; à solde épuisé, l'outil renvoie une erreur commençant par [credits_exhausted] (voir Crédits d'appels). Le suivi, le résultat et l'annulation ne consomment rien. Un assistant peut enchaîner les appels de lui-même : réservez le domaine Serveur MCP aux clés dont vous maîtrisez l'usage.