Passerelle MCP pour les agents IA bancaires : la couche de contrôle entre l'IA et le système bancaire central

3 juillet 2026

10 min de lecture

Digital connector showing secure links between AI agents and financial infrastructure.
Résumer avec l'IA

Dans le cadre de la article précédent, j'ai présenté l'architecture de confiance à quatre niveaux destinée aux agents d'IA bancaires : la couche client, l'orchestration des agents, la passerelle MCP et le cœur de métier bancaire. Ce modèle vous donne une idée de la structure du système. Cet article traite de l'aspect qui permet de tirer parti de cette structure en environnement de production.

C'est au niveau de la passerelle MCP que l'intention de l'agent est vérifiée.

Un modèle peut déterminer qu’il a besoin de données de compte, du statut KYC, de la préparation du paiement, d’un contrôle anti-blanchiment ou d’un signal de fraude. Mais dans le secteur bancaire, le fait que “ le modèle ait décidé ” ne constitue pas un contrôle. Avant que cette requête n’atteigne ne serait-ce que les environs du cœur de système, elle doit passer par la définition du périmètre du tenant, les autorisations utilisateur, la validation du schéma, l’état d’approbation, le contexte d’audit et la gestion des échecs. C’est le rôle de la passerelle. 

Passons donc aux aspects techniques : RBAC, vérifications de schéma, workflows d'approbation, journaux d'audit, disjoncteurs, délimitation de la portée des jetons, et comment tout cela s'intègre dans un processus de souscription.

Expert en blockchain et analyste DeFi

Andrew traduit les concepts décentralisés en outils financiers sécurisés et fonctionnels. Il navigue dans le paysage volatile de DeFi pour construire des infrastructures blockchain évolutives qui répondent à l'utilité du monde réel, dépassant les mots à la mode pour offrir une valeur technique.

La passerelle MCP en tant que point de contrôle obligatoire

Je jugerais la passerelle MCP avant tout sur un point : est-elle capable de rejeter une requête qui semble tout à fait correcte aux yeux de l'agent ? 

Le modèle peut choisir le bon outil, remplir les champs requis et produire un résultat qui passe l'analyse syntaxique de base. Du point de vue de l'agent, la demande semble prête. Du point de vue bancaire, il se peut toutefois qu'il manque encore des éléments essentiels : accès du locataire, rôle de l'utilisateur, état du workflow, seuil d'approbation, limites du système source et contexte d'audit.

La passerelle a donc un rôle très précis. Elle comble le fossé entre “ l’agent a généré une requête qui semble valide ” et “ la banque est autorisée à donner suite à cette requête ”. Elle n’a pas pour mission de rendre le modèle plus intelligent. Elle doit permettre de vérifier les actions du modèle, de les rejeter et de garantir la sécurité de leur acheminement vers les étapes suivantes. 

Voici comment la passerelle MCP traite une requête d'agent :

AI banking gateway diagram showing role checks, schema validation, approval rules, and final request handling.

Derrière cette décision se cachent six mécanismes de contrôle : l'authentification basée sur les rôles (RBAC) par locataire, la validation de schéma, les workflows d'approbation, la journalisation d'audit immuable, les disjoncteurs et la limitation de portée des jetons. Chacun d'entre eux détecte une catégorie différente de défaillance avant que la requête n'atteigne le système bancaire central.

Contrôle de la passerelle
Ce qu'il bloque ou contrôle
Exemple dans le secteur bancaire
RBAC par locataire
Accès aux outils et aux terminaux par locataire, rôle, région et workflow
Un commerçant « paiements uniquement » peut préparer des versements, mais ne peut pas appeler les points de terminaison de vérification KYC.
Validation du schéma
Requêtes qui ne correspondent pas aux contrats OpenAPI approuvés
Une donnée de paiement mal formée échoue avant d'atteindre le service de paiement
Processus de validation
Opérations dépassant les seuils fixés en matière de risque, de montant, de bénéficiaire ou de police
Un virement d'un montant élevé est placé dans une file d'attente d'approbation au lieu d'être directement exécuté
Journalisation des audits Immutable
L'historique complet de la demande : qui, quoi, quand, locataire, canal, statut d'approbation et résultat
Le service chargé de la conformité peut examiner un fichier exporté dont les données à caractère personnel ont été masquées sans avoir à lire les transcriptions brutes des conversations.
Disjoncteurs
Appels vers des services et fournisseurs centraux défaillants, lents ou soumis à des limitations de débit
Une panne chez un fournisseur AML déclenche l'envoi de messages de secours au lieu de répétitions d'appels infructueux
Portée des jetons
Un accès trop large aux données des locataires, aux comptes ou aux outils des prestataires
Un jeton à durée de vie limitée permet de consulter une seule vue de compte, et non l'ensemble des données du locataire.

RBAC C'est là que la passerelle commence à s'amortir. Dans une plateforme bancaire multi-locataires, l’accès ne peut pas être illimité simplement parce que l’agent est “ interne ”. Chaque locataire a besoin de sa propre matrice d’autorisations. Un commerçant qui utilise uniquement l’initiation de paiement ne devrait pas avoir accès aux outils KYC. Un agent du service client d’une région ne devrait pas avoir accès aux contrôles de cartes d’une autre région. Un workflow qui nécessite uniquement l’explication du solde ne devrait pas avoir accès à la préparation des virements.

Validation du schéma est le filtre suivant. La passerelle doit valider chaque requête par rapport aux spécifications OpenAPI approuvées ou à des contrats équivalents. Cela permet de détecter les charges utiles incorrectes : format de devise erroné, identifiant du bénéficiaire manquant, canal de paiement non pris en charge, plage de dates impossible, requête de statut KYC mal formée. Le modèle peut être « éloquent » tout en produisant une charge utile que le système doit rejeter.

Processus de validation C'est là que le modèle sans garde prend tout son sens. L'agent peut préparer une action, mais les opérations à haut risque doivent passer par une file d'attente, notamment en cas de seuils de montant, de nouveaux bénéficiaires, d'état suspect d'un compte, de procédure KYC incomplète, de signaux de fraude élevés ou de politiques spécifiques au locataire. La passerelle doit créer l’élément d’approbation, notifier l’approbateur, suivre les règles de délai d’expiration et renvoyer un statut clair à l’utilisateur ou à l’opérateur.

Journalisation des audits doit être intégré dès la conception du parcours. Pour chaque requête, la passerelle doit créer un enregistrement à ajout uniquement. Cet enregistrement doit inclure le locataire, l’utilisateur, le canal, l’état du workflow, l’outil, les paramètres après expurgation, le résultat de la validation, l’état d’approbation, la réponse en aval et l’identifiant de corrélation. Les équipes chargées de la conformité n’ont pas besoin d’un compte rendu soigné. Elles ont besoin d’une trace claire expliquant pourquoi le système a autorisé ou bloqué l’action.

Une distinction qu’il convient d’établir dès le départ : le journal prouve ce qui a été exécuté, et non qui avait la qualité pour le faire. Une trace peut parfaitement montrer qu’un transfert a été effectué de A vers B sous un jeton donné. Elle ne peut pas montrer, à elle seule, que l’action a été autorisée par un mandant reconnu par les deux parties, ni que l’autorisation n’avait pas déjà été révoquée. Dans un flux à locataire unique, cette lacune est invisible, car le journal et les enregistrements d’autorité se trouvent au même endroit. Dès qu’un litige implique un locataire ou une contrepartie, cette lacune devient le cœur du problème. L’enregistrement doit donc consigner la légitimité : quel mandat a autorisé l’appel, dans quel cadre, et s’il était toujours valide à ce moment-là. Je développe ce point dans mon article Un mandat n'est pas synonyme de gouvernance.

Disjoncteurs C'est un problème, car les prestataires bancaires présentent des défaillances courantes telles que les délais d'expiration, les pannes partielles, les réponses lentes, les statuts obsolètes et les limitations de débit. La passerelle doit détecter ce type de comportement, effectuer une nouvelle tentative avec un délai d'attente lorsque cela est sans risque, interrompre les appels répétés lorsque ce n'est pas le cas, et proposer une alternative utile à l'utilisateur. Le message “ Fournisseur AML indisponible, veuillez réessayer plus tard ” est préférable à laisser l’agent tourner en boucle, inventer un statut ou continuer à solliciter sans relâche un service dégradé.

Portée des jetons limite l'ampleur des répercussions. L'appel d'un outil doit bénéficier du niveau d'accès minimal nécessaire pour cette requête spécifique, ce locataire, cet utilisateur et cet état du flux de travail. Les jetons à durée de vie limitée et à portée restreinte sont bien plus sûrs que les identifiants de service à longue durée de vie qui circulent au niveau de la couche agent. En cas de problème, l'impact de la requête ayant échoué doit rester limité.

Contrôler l'accès des agents IA avant qu'ils n'atteignent le système bancaire central

Innowise vous aide à garantir que chaque action soit autorisée, traçable et sous votre contrôle.

Pipeline « Safeguard » : 5 agents de sécurité pour les agents IA du secteur bancaire

J'ai déjà abordé le projet de gazoduc Safeguard dans le article sur l'architecture, mais je souhaite ici aborder la question sous un angle plus rigoureux : qu’est-ce qui est vérifié avant que le modèle ne commence à planifier, et qu’est-ce qui est vérifié avant que l’utilisateur ne voie la réponse ou que le système ne déclenche une action ?.La passerelle MCP contrôle l'accès aux outils, tandis que Safeguard Pipeline contrôle l'exposition des modèles et leurs résultats. Ces deux composants sont proches l'un de l'autre dans le flux, mais ils détectent des défaillances différentes.
Garde
Moment d'application
Que se passe-t-il en cas d'échec ?
Détection rapide des injections
Avant que l'agent ne planifie une trajectoire d'outil
La requête est bloquée, débarrassée de tout contenu injecté ou transmise à un modérateur pour examen
Outil de masquage des données à caractère personnel
Avant que le contexte ne soit intégré au modèle
Les valeurs sensibles non nécessaires sont masquées, tokenisées ou supprimées de la ligne de commande
Llama Guard / Classificateur de sécurité
Avant de poursuivre le raisonnement
Le flux est bloqué, limité à une réponse sécurisée ou escaladé
Détection des hallucinations
Avant l'affichage de la réponse
Les demandes non justifiées sont vérifiées par rapport aux systèmes sources, puis corrigées, soumises à nouveau ou bloquées.
Politique de conformité Engine
Avant la réponse, la mise en place ou la validation
L'action est bloquée, en attente d'approbation ou réécrite conformément à la politique du locataire.

Le moment choisi est crucial. Si une injection est détectée alors que l'appel de l'outil est déjà préparé, le contrôle intervient trop tard. Si la masquage des données à caractère personnel (PII) s'effectue après que le modèle a pris connaissance de la valeur brute, cela revient simplement à masquer la transcription. Si la détection d'hallucinations a lieu après l'envoi de la réponse, il ne s'agit alors que d'une journalisation a posteriori.

Je proposerais donc une règle simple : les contrôles d’entrée s’exécutent avant la planification, et les contrôles de sortie s’exécutent avant que quoi que ce soit ne quitte le système. La passerelle détermine si un appel d’outil peut accéder au système bancaire central. Le pipeline vérifie si le modèle a reçu les bonnes données d’entrée et si sa sortie est suffisamment sûre pour être affichée, faire l’objet d’une nouvelle tentative, être bloquée, être transmise à un niveau supérieur ou être envoyée pour validation.

Le modèle sans garde : l'agent prépare, mais n'exécute jamais

Après la passerelle MCP et le pipeline Safeguard, il y a une autre règle que je souhaiterais préciser dans l'architecture : l'agent ne doit pas avoir le contrôle de l'action. En clair, il ne doit pas pouvoir transférer des fonds, exécuter une transaction, approuver un versement ou finaliser une opération réglementée de son propre chef.

C’est ce que j’entends par « modèle sans garde ». L’agent peut préparer l’étape suivante, mais l’exécution reste en dehors du modèle. Un outil de transfert crée une transaction en attente de confirmation. Un outil d’échange renvoie un devis, les frais, la durée de validité et une carte de confirmation. Un outil de carte peut préparer une demande de gel. Un outil KYC peut collecter les données manquantes et les soumettre pour vérification. Dans chaque cas, l’agent prépare l’opération, sans la mener à bien en arrière-plan.

AI banking workflow showing the agent prepares a transaction while execution stays with core banking.

Ce modèle modifie l'approche réglementaire du système. Un agent qui explique les options, recueille des informations contextuelles, prépare les formulaires et met en place les demandes est beaucoup plus facile à justifier en tant que couche d'aide à la décision. En revanche, un agent qui exécute des opérations financières de manière autonome commence à s'apparenter à un exécutant financier autonome, ce qui soulève toute une série de questions différentes en matière d'agrément, de responsabilité, d'audit et d'assurance.

Il existe une manière plus claire d’expliquer pourquoi cette règle existe. Dès qu’un agent transfère de la valeur au-delà d’une frontière organisationnelle, il cesse de se comporter comme un orchestrateur interne et commence à agir comme un acteur économique. C’est cette catégorie qui porte la responsabilité réelle, et c’est précisément celle que vous ne souhaitez pas voir occupée par un modèle probabiliste à elle seule. C’est en maintenant l’exécution en dehors du modèle que l’on empêche un agent de s’y immiscer discrètement. La frontière entre ces catégories découle ici du fait que Tous les agents ne sont pas des acteurs économiques..

Cette distinction est importante en cas de problème. Avec une configuration sans dépôt, vous pouvez montrer ce que l’agent a préparé, quelles vérifications de passerelle ont été effectuées, qui ou quoi a approuvé l’action, et quand le système bancaire central l’a exécutée. Sans cette séparation, le modèle est trop proche de l’argent. Je ne concevrais pas un agent bancaire de cette manière.

Les choix technologiques et leur importance

J’ajoute cette section sur la pile pour une raison simple : les promesses en matière d’architecture ne valent pas grand-chose tant qu’on n’a pas nommé les outils qui permettent de concrétiser ces contrôles. Il est facile de dire “ nous isolons les locataires ”, “ nous effectuons des points de contrôle sur les workflows ” ou “ nous validons les appels aux outils ”. Le plus difficile est de choisir une pile technique où ces contrôles ne se limitent pas à des schémas et à de bonnes intentions. 

Dans un système d'agents bancaires, la pile doit prendre en charge les sessions intensives en WebSocket, les objets financiers typés, les workflows rejouables, l'accès aux outils standard, le stockage adapté aux locataires et l'isolation d'exécution. Si les outils ne répondent pas à ces exigences, l’architecture commence à présenter des risques de manière subtile et insidieuse : un tenant_id manquant, une charge utile d’outil non typée, un état de workflow qui n’existe que dans l’historique du chat, ou un connecteur que personne ne peut auditer correctement.

Je me contenterais donc d'examiner la pile sous un angle simple : ce choix facilite-t-il le test, la mise en pause, l'inspection, la récupération et la protection du système par la suite ? Si oui, il a sa place dans la réflexion. Sinon, il s'agit probablement simplement d'une préférence de développeur déguisée en choix architectural.

Choix de la technologie
Pourquoi ce choix ?
Le contrôle qu'il procure
Motif bancaire
NestJS sur Python
La couche « agent » gère les sessions WebSocket, la logique BFF, les adaptateurs de canaux, les contrats typés et les objets financiers, et pas seulement les appels au modèle.
Typage TypeScript pour les identifiants de locataires, les soldes, les bénéficiaires, les limites, les états du workflow et les données utiles des outils.
Permet de regrouper le client, le BFF et l'orchestration au sein d'une même pile, grâce à LangChain.js et LangGraph.js.
LangGraph
Les processus bancaires peuvent être dérivés, mis en pause, repris et transmis à un niveau supérieur.
Flux de travail dirigés, état typé, transitions conditionnelles et points de contrôle PostgreSQL.
Les équipes peuvent consulter le parcours exact suivi par un processus de KYC, de contestation, de paiement ou de souscription.
MCP
Les connecteurs personnalisés compliquent la gestion de l'accès aux outils, des autorisations et des règles d'audit.
Répertoriation des outils standard, descriptions des outils, appels soumis à autorisation et interfaces de compétences réutilisables.
Des compétences telles que les paiements, l'intégration des nouveaux clients, la gestion des cartes, la mise en conformité KYC et la souscription permettent de mettre en avant les capacités approuvées sans nécessiter d'accès interne direct.
Aurora PostgreSQL + RLS
L'isolation des locataires ne devrait pas dépendre uniquement des filtres « tenant_id » dans le code du service.
Stockage adapté aux locataires pour les flux de travail, les validations, les registres d'audit, les points de contrôle et les métadonnées financières.
Le RLS, Redis par locataire, gVisor ou Firecracker, ainsi que des coffres-forts de secrets distincts réduisent le risque de fuite entre locataires.

Assurer la traçabilité et le contrôle des demandes bancaires traitées par l'IA 

Innowise vous aide à définir les règles déterminant qui peut faire une demande, l'approuver et donner suite

Ce que je vérifierais avant de considérer un agent bancaire comme prêt à être mis en production

Avant de considérer qu’un agent bancaire est prêt à être déployé, j’essaierais de provoquer délibérément une défaillance de la passerelle MCP : mauvais locataire, mauvais rôle, charge utile mal formée, autorisation manquante, jeton expiré, fournisseur indisponible. La conception n’est aboutie que si ces cas échouent de manière claire, laissent une trace et ne nécessitent pas que le modèle explique ce qui s’est passé.

Voici la liste de contrôle que j'utiliserais :

Vérifier
Ce à quoi je m'attendrais
RBAC au niveau du locataire
Chaque outil et chaque terminal sont associés à un locataire, à un rôle d'utilisateur, à un canal et à un état de workflow
Validation du contrat
Les appels de fonction sont vérifiés par rapport aux schémas approuvés avant leur exécution
Circuit d'approbation
Files d'attente basées sur des seuils pour les paiements, les nouveaux bénéficiaires, les états de compte à risque et les exceptions aux règles
Exécution sans mise sous séquestre
L'agent prépare les actions ; l'utilisateur, le validateur ou le moteur de règles les confirme ; le système bancaire central les exécute
Piste d'audit
Journaux en mode « ajout uniquement » contenant les paramètres suivants : locataire, utilisateur, canal, outil, données masquées, statut d'approbation, résultat et identifiant de corrélation
Gestion des défaillances des fournisseurs
Disjoncteurs, règles de réessai, comportement en cas de délai d'expiration et messages de secours destinés aux utilisateurs
Portée du jeton
Jetons à durée de vie limitée, restreints au locataire, à la vue de compte, à l'outil et à l'étape du workflow concernés
Contrôle des réactions et des actions
Contrôles des hallucinations et des règles avant l'affichage de la réponse ou l'exécution de l'action

C'est là que je poserais la question : la banque est-elle capable de reconstituer, de justifier et d'interrompre chaque étape du flux de travail sans s'appuyer sur la mémoire du modèle ni sur les explications d'un développeur ? Si la passerelle MCP est capable d'y répondre, cette architecture a de réelles chances de s'imposer au-delà de la salle de démonstration.

Plus d'informations sur ce sujet

    Contactez-nous

    Réserver un appel ou remplissez le formulaire ci-dessous et nous vous contacterons dès que nous aurons traité votre demande.

    Envoyez-nous un message vocal
    Joindre des documents
    Charger fichier

    Vous pouvez joindre un fichier d'une taille maximale de 2 Mo. Formats de fichiers valables : pdf, jpg, jpeg, png.

    En cliquant sur Envoyer, vous consentez à ce qu'Innowise traite vos données personnelles conformément à notre politique de confidentialité. Politique de confidentialité pour vous fournir des informations pertinentes. En communiquant votre numéro de téléphone, vous acceptez que nous puissions vous contacter par le biais d'appels vocaux, de SMS et d'applications de messagerie. Les tarifs des appels, des messages et des données peuvent s'appliquer.

    Vous pouvez également nous envoyer votre demande
    à contact@innowise.com
    Que se passe-t-il ensuite?
    1

    Une fois que nous aurons reçu et traité votre demande, nous vous contacterons pour détailler les besoins de votre projet et signer un accord de confidentialité.

    2

    Après avoir examiné vos souhaits, vos besoins et vos attentes, notre équipe élaborera une proposition de projet avec l'étendue des travaux, la taille de l'équipe, les délais et les coûts estimés projet avec l'étendue des travaux, la taille de l'équipe, les délais et les coûts estimés.

    3

    Nous prendrons rendez-vous avec vous pour discuter de l'offre et régler les détails.

    4

    Enfin, nous signons un contrat et commençons immédiatement à travailler sur votre projet.

    arrow