Guide technique

MCP en production : donner des outils sûrs aux agents IA

Un guide technique pour faire tourner le Model Context Protocol en production. Design des outils, application de la politique en trois points, scopes de capacités, rate limits et audit.

22 juillet 202618 min de lectureÉquipe d'Ingénierie Oronts

Les outils, c'est là que les agents deviennent dangereux

Soyons directs : un modèle de langage qui ne peut que parler est sûr et à peu près inutile. Un modèle qui peut appeler des outils, chercher une commande, émettre un remboursement, écrire dans une base de données, est utile et véritablement dangereux. Dès que tu donnes à un agent la capacité d'agir, tu dois répondre aux questions qu'une équipe sécurité pose sur n'importe quel acteur : que peut-il faire, qui l'a autorisé, et qu'a-t-il réellement fait ?

Le Model Context Protocol, ou MCP, est devenu la façon standard de donner des outils aux agents IA. C'est un protocole propre, et c'est exactement pour ça que la partie difficile n'est pas de connecter les outils, c'est de les gouverner. Un serveur MCP qui expose tes opérations métier à un agent sans autorisation, sans limites et sans audit, c'est une brèche qui attend son heure. Ce guide, c'est comment faire tourner MCP en production sans en arriver là.

Connecter un outil à un agent, c'est un boulot de cinq minutes. S'assurer que l'agent ne peut pas faire plus que son job, que chaque appel est autorisé, et que tu peux reconstituer ce qui s'est passé, c'est ça le vrai travail d'ingénierie.

Nous faisons tourner MCP en production dans notre propre plateforme Exfinity, où un serveur MCP expose des outils de commerce, d'analytics et de market intelligence à des agents sous une gouvernance stricte. Ce guide, c'est cette architecture. Pour la vue d'ensemble sur les agents, va voir notre guide des systèmes d'IA agentique, et tout ça est au cœur de nos services IA.

Qui se soucie de quoi

RôleLa vraie questionÀ quoi ressemble le bon niveau
Ingénieur IAComment j'expose des outils proprement ?Un protocole, pas de la glue sur mesure par client
Responsable sécuritéQue peut vraiment faire l'agent ?Scopé, autorisé, borné
ArchitecteComment ça reste sûr en multi-tenant ?Le scope est porté et vérifié à chaque appel
SREPeut-on contenir un agent hors de contrôle ?Rate limits et timeouts sur les outils
ConformitéPeut-on auditer les actions des agents ?Chaque appel loggé, reconstituable

Ce qu'est vraiment MCP

MCP est un protocole pour exposer des outils, et du contexte, aux agents IA de façon standard. Au lieu d'écrire de la glue d'intégration custom pour chaque client de modèle, tu fais tourner un serveur MCP qui annonce un ensemble d'outils, et n'importe quel client compatible MCP, un assistant de code, un agent de chat, ton propre runtime, peut les découvrir et les appeler.

La valeur, c'est la standardisation : un serveur d'outils, plein de clients, un contrat cohérent. Le risque, c'est aussi la standardisation : un outil exposé via MCP est exposé à n'importe quel agent qui se connecte, donc la gouvernance doit vivre côté serveur, pas être supposée côté client. Notre guide d'architecture multi-agents couvre la façon dont agents et outils se composent.

Concevoir des outils qu'un agent peut utiliser en sécurité

Un bon outil MCP n'est pas juste un endpoint d'API avec une description. Il est conçu pour un acteur qui l'appellera de façons que tu n'avais pas anticipées.

PrincipePourquoi
Scope étroitUn outil, un job, pour que la permission ait un sens
Paramètres explicitesL'agent ne peut pas passer ce qu'il ne devrait pas
Écritures idempotentesUn appel rejoué n'agit pas deux fois
Échec clairL'agent peut se rattraper, pas boucler
Lecture et écriture séparéesLire est sûr, écrire est gardé différemment

Dans Exfinity, les outils sont groupés par ce qu'ils touchent, commerce, recommandations, analytics, market intelligence, et un tenant ne voit que les outils que son plan et ses permissions autorisent. La règle de design : le rayon d'impact d'un outil doit correspondre à sa permission, pour qu'un outil de lecture puisse être ouvert pendant qu'un outil qui déplace de l'argent est étroitement gardé. Notre guide de design d'API couvre la conception de ces contrats pour qu'ils durent.

L'application de la politique en trois points

C'est le cœur d'un MCP sûr, et c'est là que la plupart des implémentations sont légères. Tu appliques la politique à trois points de chaque appel d'outil, pas à un seul.

Agent asks to call a tool
   │
   ▼
[1] Pre-execution   ── is this tenant/agent allowed to call this tool?
   │                    (reject here if not)
   ▼
[2] Runtime         ── guardrails inside the tool: scope constraints,
   │                    "never book without explicit consent"
   ▼
Tool executes
   │
   ▼
[3] Post-execution  ── log the call: who, what, input, output, when

La validation pré-exécution vérifie si ce tenant et cet agent ont le droit d'appeler cet outil tout court, avant que quoi que ce soit ne tourne. Un échec de permission s'arrête ici.

Les guardrails au runtime vivent dans l'outil lui-même et encodent les contraintes que la politique ne peut pas exprimer par un simple oui ou non, comme ne jamais prendre une action irréversible sans le consentement explicite de l'utilisateur.

L'audit post-exécution enregistre chaque appel avec le tenant, l'acteur, l'outil, l'entrée, la sortie et l'heure, pour que tout soit reconstituable après coup.

Exfinity applique les trois sur chaque appel d'outil. Un seul contrôle ne suffit pas, parce qu'un outil autorisé à tourner peut quand même se voir demander quelque chose qu'il ne devrait pas faire, et une action qui a tourné doit quand même être consignée. Notre guide de gouvernance IA couvre cette posture de défense en profondeur.

Scopes de capacités : tous les outils ne se valent pas

Un outil de remboursement et un outil de recherche ne devraient pas porter la même permission. La façon de rendre ça concret, ce sont les scopes de capacités : groupe les outils par le type de pouvoir qu'ils détiennent, et garde chaque groupe séparément.

ScopeOutils exemplesContrôle d'accès
Lecture, sûrerecherche, obtenir les détailsOuvert à la plupart des appelants
Lecture, sensibleanalytics, auditRestreint
Écriture, réversiblecréer un brouillon, taguerGardé, loggé
Écriture, monétaire ou irréversiblecheckout, annulationÉtroitement gardé, consentement requis

Exfinity garde les outils d'écriture, de contenu et de crawl séparément des outils de lecture, pour qu'un agent scopé à répondre à des questions ne puisse pas soudainement exécuter une réservation. Le principe : plus l'action est irréversible ou coûteuse, plus le contrôle est serré. C'est la même logique de moindre privilège que notre guide de durcissement de la sécurité cloud, appliquée aux outils d'agents.

Un exemple concret : un appel d'outil, gouverné

Suivons un seul appel d'outil à travers la gouvernance, parce que le modèle en trois points est plus clair en mouvement.

Un client dit à un agent de chat : « annule ma réservation XFt-55231 et rembourse-moi ». L'agent décide d'appeler l'outil cancelBooking. Voici ce que fait le serveur MCP.

1. Discover   the agent's tenant only sees tools its plan allows; cancel
              is present because this tenant has it
2. Pre-check  is this tenant and this agent permitted to call cancelBooking?
              cancel is a write, monetary-adjacent tool, tightly scoped.
              permitted -> continue; not -> reject here, nothing runs
3. Runtime    the tool's own guardrail: cancellation over a value threshold
              requires explicit confirmation, so it pauses for consent
              rather than cancelling immediately
4. Execute    on consent, the cancellation runs, scoped to this tenant's
              booking only, never able to touch another tenant's data
5. Audit      the call is logged: tenant, actor, tool, input, output, time,
              and the policy decision, all reconstructable later

Trois gates séparés ont fait trois jobs séparés. Le pré-contrôle a décidé si l'appel était autorisé tout court. Le guardrail au runtime a attrapé ce qu'une permission en oui ou non ne peut pas exprimer, qu'une annulation de valeur élevée demande un consentement. L'audit a rendu le tout reconstituable. Enlève l'un des trois et tu as un trou : sans pré-contrôle, un agent non autorisé agit, sans guardrail au runtime, un agent autorisé fait quelque chose d'imprudent, sans audit, tu ne peux pas prouver ce qui s'est passé. Les trois, à chaque appel. Notre guide de gouvernance IA couvre pourquoi cet empilement compte.

Rate limits et timeouts : contenir un agent hors de contrôle

Un agent en boucle peut marteler un outil des centaines de fois, et un outil lent peut bloquer un tour d'agent. Les deux ont besoin de bornes.

Les rate limits par session plafonnent le nombre d'appels d'outils qu'un agent peut faire dans une fenêtre, et les timeouts par outil empêchent un appel lent de bloquer le tour. Dans Exfinity, une session est plafonnée à un nombre borné d'appels d'outils par minute avec un timeout d'exécution par outil, pour qu'un agent qui se comporte mal ou qui est compromis ne puisse pas transformer ton serveur d'outils en déni de service sur tes propres systèmes. Combinées aux bornes par tour d'agent de notre guide sur la mémoire des agents, ces limites sont ce qui te permet d'exposer de vraies opérations à un agent autonome tout en dormant tranquille. Notre guide sur la conception de systèmes pour la panne couvre cet état d'esprit de confinement.

Outils custom : étendre sans perdre le contrôle

Les vraies plateformes ont besoin d'outils par tenant, l'endpoint propre d'un client exposé à ses agents. Le piège, c'est de laisser ça devenir un trou sans gouvernance.

Le pattern sûr, c'est l'enregistrement plus la même gouvernance. Un tenant enregistre un endpoint externe avec un hôte autorisé et un schéma de paramètres, et le serveur MCP l'expose dynamiquement à côté des outils intégrés, sous la même application de la politique en trois points. Dans Exfinity, les outils de connecteurs custom sont définis centralement et exposés par tenant, avec la politique appliquée exactement comme pour les outils intégrés, pour qu'étendre le jeu d'outils n'affaiblisse pas la gouvernance. Notre guide d'intégration d'entreprise couvre le câblage sûr de systèmes externes.

Par où commencer

  1. Conçois des outils étroits. Un job par outil, des écritures idempotentes, lecture et écriture séparées.
  2. Applique la politique en trois points. Permission pré-exécution, guardrails au runtime, audit post-exécution.
  3. Scope par capacité. Garde les outils d'écriture et irréversibles bien plus serrés que les lectures.
  4. Borne chaque session. Rate limits et timeouts par outil pour contenir un emballement.
  5. Gouverne les outils custom à l'identique. Enregistrement plus la même politique, pas de trous sans gouvernance.

C'est progressif et ça colle à notre méthodologie. Nos équipes logiciel sur mesure et conseil construisent des serveurs MCP gouvernés. Commence par contact ou demande un devis cadré.

Les erreurs classiques

  1. Exposer des outils sans autorisation. Un outil via MCP est ouvert à tout ce qui se connecte. Garde côté serveur.
  2. Un contrôle au lieu de trois. Avoir le droit de tourner, ce n'est pas toute l'histoire. Applique pré, runtime et post.
  3. La même permission pour tous les outils. Un remboursement n'est pas une recherche. Scope par capacité.
  4. Pas de rate limits. Un agent en boucle devient un déni de service auto-infligé. Borne chaque session.
  5. Des outils custom sans gouvernance. Les outils par tenant ont besoin de la même politique que les intégrés. Aucune exception.

Qui construit ça

Oronts est une société de logiciels dirigée par son fondateur, à Munich. Refaat Al Ktifan, notre fondateur et architecte solution, dirige une équipe senior en backend, IA et sécurité. Nous faisons tourner un serveur MCP gouverné dans notre propre plateforme Exfinity, en exposant de vraies opérations à des agents sous application de la politique en trois points, scopes de capacités et audit. Nous concevons les outils, construisons la gouvernance, et te livrons une surface MCP que tu peux exposer à des agents sans perdre le contrôle. Va voir nos pages services et solutions.

À retenir

  • MCP standardise les outils d'agents. La partie difficile, c'est de les gouverner, pas de les connecter.
  • Conçois des outils étroits, avec des écritures idempotentes et la lecture séparée de l'écriture.
  • Applique la politique en trois points : permission pré-exécution, guardrails au runtime, audit post-exécution.
  • Scope les outils par capacité et garde les actions irréversibles bien plus serrées que les lectures.
  • Borne chaque session avec des rate limits et des timeouts, et gouverne les outils custom à l'identique.

Donner des outils à un agent, c'est lui donner le pouvoir d'agir. Traite le serveur MCP comme n'importe quel autre acteur privilégié : moindre privilège, chaque action autorisée, chaque action loggée. Là, l'autonomie devient sûre au lieu d'être effrayante.

Tu veux exposer de vraies opérations à des agents IA ? Dis-nous ce qu'ils doivent faire. Commence par contact ou demande un devis cadré.

Sujets couverts

MCPModel Context Protocoloutils dagents IAtool callingIA agentiquesécurité des agentsautorisation doutilsgouvernance IAoutils LLMIA en production

Vous construisez quelque chose de similaire ?

Nous concevons et exploitons des systèmes de production comme celui de ce guide. Parlez aux ingénieurs qui l'ont écrit, sans argumentaire commercial.

Démarrer une conversation