- Pinterest a adopté MCP comme standard de connexion des outils pour les agents IA, et partage son retour d’expérience sur une intégration de niveau production dans de vrais workflows d’ingénierie, notamment les IDE, les chats internes et les agents IA
- Choix d’une architecture combinant plusieurs serveurs MCP par domaine (Presto, Spark, Airflow, etc.) et un registre central, plutôt qu’un unique serveur monolithique
- Application du principe du moindre privilège aux données sensibles grâce à une double couche d’authentification JWT utilisateur final + identité mesh SPIFFE et à un contrôle d’accès fondé sur les groupes métier
- Résultats quantifiés : 66 000 appels par mois, 844 utilisateurs actifs mensuels et une économie estimée à 7 000 heures par mois
- Ce qui a permis à MCP de s’imposer non comme une simple expérimentation, mais comme une véritable infrastructure de productivité pour les ingénieurs, c’est une conception orientée sécurité, un pipeline de déploiement unifié et une intégration directe aux outils déjà utilisés par les employés
Contexte de l’adoption de MCP
- Model Context Protocol (MCP) est un standard open source qui permet aux LLM de communiquer avec des outils et des sources de données via un protocole client-serveur unifié, au lieu d’implémenter des intégrations séparées pour chaque modèle ou outil
- Pinterest utilise MCP non pas pour de simples questions-réponses, mais comme base de l’automatisation des tâches d’ingénierie — de « lis les logs et trouve le problème » à « analyse ce ticket de bug et propose une PR de correction »
Conception de l’architecture initiale
Hébergement cloud plutôt que local
- Bien que le mode serveur MCP local (communication
stdio) soit aussi pris en charge, Pinterest a retenu comme voie par défaut le serveur MCP hébergé dans le cloud interne- L’objectif est d’opérer dans un environnement où il est facile d’appliquer la logique interne de routage et de sécurité
- Les serveurs locaux ne sont autorisés qu’à des fins d’expérimentation
Plusieurs petits serveurs vs. un serveur monolithique unique
- Pinterest a choisi plusieurs petits serveurs MCP par domaine plutôt qu’un unique serveur géant
- Cela permet d’appliquer des contrôles d’accès différents selon les serveurs
- Cela évite aussi de charger inutilement le contexte du modèle
- Retour initial : la création d’un nouveau serveur MCP demandait trop de travail en amont, entre le pipeline de déploiement, la configuration du service et la mise en place opérationnelle
- La réponse a été la mise en place d’un pipeline de déploiement unifié — les équipes n’ont plus qu’à définir la logique des outils, la plateforme se charge automatiquement du déploiement et du passage à l’échelle
Registre MCP interne
- Une source of truth unique qui gère la liste des serveurs MCP approuvés et la manière de s’y connecter
- Interface web : permet aux humains d’explorer les serveurs, l’équipe propriétaire, le canal de support, la posture de sécurité, l’état en direct et les outils disponibles
- API : utilisée par les clients IA (chat IA interne, intégration IDE, agents) pour découvrir et vérifier les serveurs, ainsi que pour déterminer si « cet utilisateur peut-il utiliser le serveur X ? »
- Seuls les serveurs enregistrés dans le registre sont reconnus comme serveurs approuvés pour la production — il joue donc le rôle d’épine dorsale de la gouvernance
État des serveurs MCP en production
Principaux serveurs (par usage)
- Serveur MCP Presto : le serveur le plus utilisé en volume de trafic — les agents (y compris les IDE assistés par IA) interrogent à la demande des données basées sur Presto et les exploitent directement dans le workflow, sans passer par un tableau de bord
- Serveur MCP Spark : la base de l’expérience de débogage Spark assistée par IA — il prend en charge le diagnostic des échecs de jobs Spark, la synthèse des logs et l’enregistrement structuré des analyses de cause racine, transformant ainsi des threads opérationnels en connaissances réutilisables
- Serveur MCP Knowledge : un endpoint de connaissance généraliste — le bot IA interne l’utilise pour les connaissances de l’entreprise, les Q&A, la documentation et les questions de débogage
Intégration avec les services internes de Pinterest
- Des outils MCP ont été intégrés à l’interface web de chat LLM interne utilisée quotidiennement par de nombreux employés de Pinterest
- Le frontend gère automatiquement le flux OAuth, puis renvoie la liste des outils autorisés pour l’utilisateur courant
- L’agent de chat IA lie directement les outils MCP à son toolkit agentique, offrant une expérience identique à celle d’un appel d’outil classique
- Des outils MCP ont aussi été ajoutés au bot IA de la plateforme de messagerie interne
- Authentification et autorisation gérées via l’API du registre
- Prise en charge d’une restriction de certains outils MCP à certains canaux spécifiques (par exemple, les outils MCP Spark ne sont disponibles que dans le canal de support Airflow)
Sécurité, gouvernance et politiques
Standard de sécurité MCP
- Pinterest a défini un MCP Security Standard distinct — tout serveur MCP qui n’est pas purement expérimental doit obligatoirement avoir une équipe propriétaire désignée, être enregistré dans le registre interne, et obtenir l’approbation de tickets de revue sécurité / juridique / protection de la vie privée / (le cas échéant) GenAI
- Les résultats de ces revues déterminent ensuite les politiques de sécurité, comme les groupes d’utilisateurs autorisés à accéder au serveur
Double couche AuthN / AuthZ
-
Flux fondé sur le JWT de l’utilisateur final
- L’utilisateur interagit depuis une surface comme le chat IA, le plugin IDE ou le bot IA
- Le client exécute un flux OAuth vers la pile d’authentification interne, puis transmet le JWT au registre MCP et au serveur cible
- Envoy vérifie le JWT, mappe les en-têtes
X-Forwarded-UseretX-Forwarded-Groups, puis applique des politiques de sécurité de haut niveau - Dans le serveur, le décorateur
@authorize_tool(policy='…')applique un contrôle fin des permissions (par exemple,get_revenue_metricsne peut être appelé que par le groupe Ads-eng)
-
Filtrage d’accès basé sur les groupes métier
- Au lieu d’autoriser uniformément l’accès à tous les employés et prestataires authentifiés de Pinterest, les serveurs sensibles extraient l’appartenance aux groupes métier depuis le JWT et vérifient que l’utilisateur fait partie d’un groupe approuvé
- Le serveur MCP Presto est techniquement accessible depuis de nombreuses surfaces, mais seuls les groupes approuvés, comme Ads, Finance ou certaines équipes infra, peuvent établir une session et exécuter des outils à privilèges élevés
-
Flux dédié aux services fondé sur SPIFFE
- Dans les scénarios à faible risque et en lecture seule, Pinterest utilise uniquement une authentification fondée sur SPIFFE (identité mesh)
- Ce mode n’est utilisé que lorsqu’aucun utilisateur final n’est dans la boucle et que le rayon d’impact est strictement limité
Différences avec le standard OAuth officiel de MCP
- La spécification officielle de MCP définit un flux d’authentification OAuth 2.0 par serveur (écran de consentement, gestion des tokens par serveur), mais Pinterest a choisi de réutiliser les sessions existantes
- Quand un utilisateur ouvre une surface comme le chat IA, il est déjà authentifié via la pile interne — il n’y a donc ni prompt de connexion supplémentaire ni dialogue de consentement
- Envoy et les décorateurs de politique gèrent l’autorisation de façon transparente en arrière-plan
Human-in-the-Loop
- Comme les serveurs MCP rendent possibles des actions automatisées, leur rayon d’impact est plus grand qu’avec une manipulation manuelle
- Conformément aux consignes données aux agents, une approbation humaine est obligatoire avant toute action sensible ou coûteuse — l’agent propose l’action, puis un humain l’approuve ou la refuse (y compris en lot)
- Pinterest utilise aussi elicitation pour demander une confirmation avant une action risquée (par exemple, écraser les données d’une table)
Observabilité et indicateurs de performance
- Tous les serveurs MCP utilisent des fonctions de bibliothèque fournissant par défaut la journalisation des entrées/sorties, le comptage des appels, le suivi des exceptions et la télémétrie
- Les indicateurs mesurés au niveau de l’écosystème incluent : le nombre de serveurs et d’outils MCP enregistrés, le nombre total d’appels serveur, et le temps estimé économisé par appel (calculé par les propriétaires des serveurs à partir de retours utilisateurs légers et de comparaisons avec les workflows manuels précédents)
- L’indicateur north star unique est le temps économisé — nombre d’appels × minutes gagnées par appel, pour estimer globalement l’impact
- 66 000 appels par mois, 844 utilisateurs actifs mensuels et une économie estimée à 7 000 heures par mois
Aucun commentaire pour le moment.