Retour au blog
    MCP et notes de frais : interroger ses dépenses depuis Claude sans exposer un salarié

    MCP et notes de frais : interroger ses dépenses depuis Claude sans exposer un salarié

    Par Cyrille Bally7 min de lecture

    La réponse courte

    Oui, une direction financière peut demander à Claude « quelle a été notre dépense d'hôtel par pays sur douze mois, et où se concentrent les anomalies ? » et obtenir un graphique en quelques secondes. Le protocole qui le permet s'appelle MCP.

    Mais brancher un assistant IA sur des notes de frais n'a rien à voir avec le brancher sur un catalogue produit. Ces données décrivent des personnes : leurs déplacements, leurs repas, leurs invités. Nous avons donc construit le serveur MCP d'EVA autour d'une règle : l'assistant ne reçoit que des agrégats, jamais une ligne, un rapport ou un nom.

    5salariés distincts au minimum pour qu'un groupe soit publié
    0nom, e-mail ou identifiant de salarié dans une réponse
    0outil d'écriture : l'assistant lit, il ne modifie rien

    Le MCP en deux phrases

    Le Model Context Protocol est un standard ouvert, publié par Anthropic en novembre 2024, qui permet à un assistant IA d'appeler les outils exposés par un logiciel tiers [1]. Il est pris en charge par Claude, ChatGPT, Gemini, Microsoft Copilot ou Visual Studio Code, et sa gouvernance a été confiée en décembre 2025 à l'Agentic AI Foundation, sous l'égide de la Linux Foundation [2].

    Concrètement, l'éditeur décrit des outils (« dépense par catégorie », « taux d'anomalies par contrôle ») ; l'assistant choisit ceux qui répondent à la question posée, les appelle, puis met le résultat en forme.

    Pourquoi les notes de frais sont un cas à part

    Une ligne de note de frais, c'est un nom, une date, une ville, un restaurant, parfois le nom des convives. Mises bout à bout, ces lignes racontent l'emploi du temps d'un salarié. Les envoyer à un fournisseur d'IA pour tracer une courbe de dépense mensuelle serait disproportionné, et difficile à justifier au regard du principe de minimisation du RGPD.

    La question n'est donc pas « peut-on connecter l'IA à nos notes de frais ? », mais « qu'est-ce qui sort, exactement, et qui l'a autorisé ? ».

    Ce que l'assistant reçoit, et ce qu'il ne reçoit jamais

    Le serveur MCP d'EVA expose six outils, tous en lecture seule :

    • Vue d'ensemble : période couverte, nombre de salariés analysés, lignes de frais et lignes déjà contrôlées.
    • Dépense par mois, par catégorie et par pays : montants en euros, nombre de lignes, taux de lignes signalées.
    • Croisement de deux dimensions : par exemple catégorie × pays, cellule par cellule.
    • Taux d'anomalies par contrôle : doublons, écart de montant, document provisoire, photo d'écran, reçu généré par IA…

    Chaque réponse est construite à partir d'une liste blanche de champs. Un champ qui n'y figure pas ne sort pas, même s'il existe dans la base. Aucune réponse ne contient de nom, d'e-mail, d'identifiant SAP Concur, de numéro de rapport ou de ligne, de nom de fournisseur, de texte de justificatif, de message d'anomalie ni de classement de salariés.

    Chaque réponse annonce aussi son périmètre : champ de date utilisé, bornes de la période, devise, lignes supprimées et salariés exclus écartés. Un chiffre donné par l'assistant doit pouvoir être retrouvé à l'écran dans EVA.

    Question posée à l'assistantJamais transmisCe que l'assistant reçoit
    Dépense d'hôtel par pays sur 12 moisLe nom de l'hôtel, le salarié, la date de chaque nuitTotal, nombre de lignes et taux d'anomalies par pays
    Où se concentrent les doublons ?Les lignes en double et leurs auteursLe taux d'échec du contrôle des doublons
    Évolution de la dépense depuis janvierLe détail d'un rapportUne valeur par mois

    Le seuil de 5 salariés, en pratique

    Un agrégat peut trahir une personne. « Dépense de taxi au Portugal : 1 840 € » ne protège personne si un seul salarié est allé au Portugal. EVA applique donc un seuil d'effectif :

    • Un groupe de moins de 5 salariés distincts n'est jamais publié seul. Il est fusionné dans une ligne « Autres (groupes < K) ».
    • Le seuil se compte en salariés, pas en lignes : quarante notes d'un même salarié restent un groupe d'une personne.
    • Le client peut relever le seuil, jamais le descendre sous 5.

    Les croisements demandent une protection de plus. Si le total d'une catégorie est connu et que toutes ses cellules sauf une sont visibles, la cellule masquée se retrouve par soustraction. EVA masque alors d'autres cellules (suppression secondaire), jusqu'à ce qu'aucune soustraction ne permette de reconstituer un petit groupe. Les descriptions des outils demandent en plus à l'assistant de ne jamais estimer ni reconstruire une cellule masquée.

    💡 Ce que voit l'assistant

    Sur notre environnement de démonstration (données fictives, 135 salariés, 12 mois), cinq contrôles exécutés chacun pour moins de 5 salariés sont regroupés dans une ligne « Autres », qui en compte 9. L'assistant sait que ces contrôles existent, pas qui ils concernent.

    Qui décide de brancher l'assistant

    • Le client, à deux niveaux. La fonction est désactivée par défaut. Un administrateur l'active dans EVA (Config > Assistants IA), puis chaque utilisateur autorisé connecte son propre assistant.
    • OAuth 2.1 avec PKCE. L'utilisateur se connecte avec son compte EVA et lit un écran de consentement qui dit ce qui sera transmis. Aucun mot de passe n'est confié à l'assistant.
    • Des droits revérifiés à chaque appel. Un utilisateur qui perd le droit de consulter les analyses perd l'accès immédiatement, sans attendre l'expiration de son jeton, valable une heure. La connexion se révoque à tout moment.
    • Un point d'accès par client. Le serveur est servi sur le domaine EVA de chaque client : l'isolation entre clients ne dépend d'aucun paramètre que l'assistant pourrait modifier.
    • Tout est journalisé, sauf les réponses. Chaque appel est tracé (utilisateur, outil, période, groupes fusionnés, durée). Le contenu des réponses ne l'est pas.
    • Une limite de charge. 30 appels par heure et par utilisateur : un assistant qui boucle ne ralentit pas les contrôleurs.
    ⚠ Un seuil n'est pas un label RGPD

    Le seuil de 5 salariés est une protection technique. Il ne suffit pas, à lui seul, à qualifier les agrégats de données anonymes au sens du RGPD. Documentez l'usage dans votre registre avec votre DPO, et lisez les conditions du fournisseur de l'assistant que vous connectez : c'est vers lui que partent les agrégats.

    Ce que ça change pour une direction financière

    Jusqu'ici, la même question passait par un export, un tableau croisé dynamique et une demi-journée de retraitement. Avec le serveur MCP, elle se pose en langage naturel :

    • « Montre-moi la dépense par catégorie sur 12 mois et les catégories où le taux d'anomalies est le plus élevé. »
    • « Compare la dépense d'hôtel par pays entre le premier et le second semestre. »
    • « Quels contrôles se déclenchent le plus depuis septembre ? »

    L'assistant enchaîne les outils (vue d'ensemble, dépense par catégorie, taux d'anomalies), trace le graphique et reprend en légende la ligne « Autres » et le périmètre annoncé.

    Ce que le serveur MCP ne remplace pas : la revue d'une ligne, la décision d'approuver ou de renvoyer une note, l'examen d'un cas individuel. Tout cela reste dans EVA, entre les mains du contrôleur. Et pour extraire le détail des lignes ou des justificatifs, c'est le rôle de Smart Extract, pas de l'assistant.

    Les limites, assumées

    • Pas de détail individuel, par construction. Pour examiner un dossier, il faut ouvrir EVA.
    • Le mois civil comme grain, sur 36 mois au plus.
    • Pas de dimension service, manager ou fournisseur pour l'instant : trop facile à ré-identifier.
    • Les tenants CSE ne sont pas encore couverts.
    • Un calcul fait dans EVA. Les montants sont chiffrés en base et additionnés dans EVA, jamais chez l'assistant : une première question sur une longue période peut prendre quelques secondes, les résultats restent ensuite en cache 10 minutes.

    Pour essayer

    Le serveur MCP d'EVA est en accès anticipé pour les clients EVA (Contrôle des notes de frais ou Audit Snapshot). Nous l'utilisons avec Claude ; le protocole étant standard, d'autres assistants compatibles MCP peuvent s'y connecter selon leur prise en charge des connecteurs OAuth. Nous le montrons sur un environnement de démonstration aux données fictives.

    Contactez-nous pour une démonstration, ou découvrez EVA et l'Audit Snapshot. Sur le même sujet : ce que nous avons appris en branchant un agent IA sur un vrai flux de notes de frais.

    Sources

    [1] Anthropic, Introducing the Model Context Protocol, novembre 2024

    [2] Anthropic, Donating the Model Context Protocol and establishing the Agentic AI Foundation, décembre 2025