Qu'est-ce que le protocole MCP et comment fonctionne-t-il ?

Les grands modèles de langage (LLM) sont puissants, mais ils présentent deux limites majeures : leurs connaissances sont figées au moment de leur entraînement, et ils ne peuvent pas interagir avec le monde extérieur. Ils ne peuvent donc pas accéder aux données en temps réel ni effectuer des actions comme planifier une réunion ou mettre à jour un enregistrement client. 

Le protocole MCP (Model Context Protocol) est une norme ouverte conçue pour résoudre ce problème. Introduit par Anthropic en novembre 2024, le protocole MCP fournit un "langage" sécurisé et standardisé permettant aux LLM de communiquer avec des données, des applications et des services externes. Il sert de passerelle, permettant à l'IA d'aller au-delà des connaissances statiques et de devenir un agent dynamique capable de récupérer des informations à jour et d'entreprendre des actions, ce qui la rend plus précise, utile et automatisée.

Comprendre le protocole MCP

Le protocole MCP crée une connexion bidirectionnelle standardisée pour les applications d'IA, ce qui permet aux LLM de se connecter facilement à plusieurs sources de données et outils. Il s'appuie sur des concepts existants comme l'utilisation d'outils et l'appel de fonctions, mais les standardise. Cela vous évite de devoir créer des connexions personnalisées pour chaque nouveau modèle d'IA et système externe. Il permet aux LLM d'utiliser des données actuelles et réelles, d'effectuer des actions et d'accéder à des fonctionnalités spécialisées qui ne sont pas incluses dans leur entraînement d'origine.

Architecture et composants du protocole MCP

Le protocole MCP (Model Context Protocol) possède une structure claire avec des composants qui fonctionnent ensemble pour faciliter l'interaction entre les LLM et les systèmes externes.

Hôte MCP

Le LLM est contenu dans l'hôte MCP, une application ou un environnement d'IA tel qu'un IDE optimisé par l'IA ou une IA conversationnelle. Il s'agit généralement du point d'interaction de l'utilisateur, où l'hôte MCP utilise le LLM pour traiter les requêtes qui peuvent nécessiter des données ou des outils externes.

Client MCP

Le client MCP, situé dans l'hôte MCP, aide le LLM et le serveur MCP à communiquer entre eux. Il traduit les requêtes du LLM pour le protocole MCP et convertit les réponses du MCP pour le LLM. Il recherche et utilise également les serveurs MCP disponibles.

Serveur MCP

Le serveur MCP est le service externe qui fournit le contexte, les données ou les capacités au LLM. Il aide les LLM en se connectant à des systèmes externes tels que des bases de données et des services Web, et en traduisant leurs réponses dans un format que le LLM peut comprendre. Les développeurs peuvent ainsi fournir différentes fonctionnalités.

Couche transport

La couche transport utilise des messages JSON-RPC 2.0 pour assurer la communication entre le client et le serveur, principalement par le biais de deux méthodes de transport :

  • Entrée/sortie standard (stdio) : convient parfaitement aux ressources locales, car elle offre une transmission de messages rapide et synchrone.
  • Événements envoyés par le serveur (SSE) : privilégiés pour les ressources distantes, car ils permettent de diffuser des données en temps réel de manière efficace.

Comment fonctionne le protocole MCP ?

En substance, le protocole MCP permet à un LLM de solliciter l'aide d'outils externes pour répondre à une requête ou accomplir une tâche. Supposons que vous demandiez à un assistant IA : "Trouve le dernier rapport sur les ventes dans notre base de données et envoie-le par e-mail à mon responsable."

Voici une représentation simplifiée de la façon dont le protocole MCP traite cette demande :

  1. Découverte de la requête et des outils disponibles : le LLM comprend qu'il ne peut ni accéder à une base de données, ni envoyer d'e-mails par lui-même. Il utilise le client MCP pour rechercher les outils disponibles. Il trouve alors deux outils appropriés enregistrés sur les serveurs MCP : database_query et email_sender.
  2. Invocation de l'outil : le LLM génère une requête structurée pour utiliser ces outils. Tout d'abord, il appelle l'outil database_query en spécifiant le nom du rapport. Le client MCP envoie ensuite cette requête au serveur MCP approprié.
  3. Action externe et renvoi des données : le serveur MCP reçoit la requête, la traduit en une requête SQL sécurisée pour interroger la base de données de l'entreprise, puis récupère le rapport sur les ventes. Il met ensuite en forme ces données et les renvoie au LLM.
  4. Deuxième action et génération de la réponse : maintenant qu'il dispose des données du rapport, le LLM appelle l'outil email_sender en fournissant l'adresse e-mail du responsable et le contenu du rapport. Une fois l'e-mail envoyé, le serveur MCP confirme que l'action a bien été effectuée.
  5. Confirmation finale : le LLM vous fournit une réponse finale : "J'ai trouvé le dernier rapport sur les ventes et je l'ai envoyé par e-mail à votre responsable."

MCP et RAG

Le protocole MCP (Model Context Protocol) et la génération augmentée par récupération (RAG) améliorent les LLM à l'aide d'informations externes, mais ils le font de différentes manières et à des fins différentes. Le RAG recherche et utilise des informations pour créer du texte, tandis que le protocole MCP est un système plus large d'interaction et d'action.

Fonctionnalité

Protocole MCP (Model Context Protocol)

RAG (génération augmentée par récupération)

Objectif principal

Standardiser la communication bidirectionnelle pour que les LLM puissent accéder à des outils, des sources de données et des services externes et interagir avec eux afin d'effectuer des actions, en plus de récupérer des informations

Améliorer les réponses des LLM en récupérant des informations pertinentes dans une base de connaissances fiable avant de générer une réponse

Mécanisme

Définit un protocole standardisé permettant aux applications basées sur un LLM d'appeler des fonctions externes ou de demander des données structurées à des serveurs spécialisés, ce qui permet d'intégrer des actions et un contexte dynamique.

Il intègre un composant de récupération d'informations qui utilise la requête d'un utilisateur pour extraire des informations d'une base de connaissances ou d'une source de données. Ces informations récupérées enrichissent ensuite le prompt du LLM.

Type de sortie

Permet aux LLM de générer des appels structurés pour les outils, de recevoir des résultats, puis de générer du texte lisible par l'humain en fonction de ces résultats et actions. Peut également impliquer des données et des fonctions en temps réel.

Les LLM génèrent des réponses basées sur leurs données d'entraînement enrichies par des textes pertinents issus de documents externes. Ils mettent souvent l'accent sur l'exactitude des faits.

Interaction

Conçu pour l'interaction active et l'exécution de tâches dans des systèmes externes, MCP fournit une "grammaire" permettant aux LLM d'utiliser des fonctionnalités externes.

Principalement pour la récupération passive d'informations afin d'alimenter la génération de texte. Ne convient généralement pas pour l'exécution d'actions dans des systèmes externes.

Standardisation

Norme ouverte décrivant comment les applications d'IA fournissent du contexte aux LLM, standardisant l'intégration et réduisant le besoin d'API personnalisées.

Technique ou framework permettant d'améliorer les LLM, mais pas un protocole universel pour l'interaction avec les outils de différents fournisseurs ou systèmes.

Cas d'utilisation

Les agents d'IA effectuent des tâches (par exemple, réserver des vols, mettre à jour un CRM, exécuter du code), récupèrent des données en temps réel et réalisent des intégrations avancées.

Systèmes de questions-réponses, chatbots fournissant des informations factuelles à jour, résumés de documents, réduction des hallucinations dans la génération de texte

Fonctionnalité

Protocole MCP (Model Context Protocol)

RAG (génération augmentée par récupération)

Objectif principal

Standardiser la communication bidirectionnelle pour que les LLM puissent accéder à des outils, des sources de données et des services externes et interagir avec eux afin d'effectuer des actions, en plus de récupérer des informations

Améliorer les réponses des LLM en récupérant des informations pertinentes dans une base de connaissances fiable avant de générer une réponse

Mécanisme

Définit un protocole standardisé permettant aux applications basées sur un LLM d'appeler des fonctions externes ou de demander des données structurées à des serveurs spécialisés, ce qui permet d'intégrer des actions et un contexte dynamique.

Il intègre un composant de récupération d'informations qui utilise la requête d'un utilisateur pour extraire des informations d'une base de connaissances ou d'une source de données. Ces informations récupérées enrichissent ensuite le prompt du LLM.

Type de sortie

Permet aux LLM de générer des appels structurés pour les outils, de recevoir des résultats, puis de générer du texte lisible par l'humain en fonction de ces résultats et actions. Peut également impliquer des données et des fonctions en temps réel.

Les LLM génèrent des réponses basées sur leurs données d'entraînement enrichies par des textes pertinents issus de documents externes. Ils mettent souvent l'accent sur l'exactitude des faits.

Interaction

Conçu pour l'interaction active et l'exécution de tâches dans des systèmes externes, MCP fournit une "grammaire" permettant aux LLM d'utiliser des fonctionnalités externes.

Principalement pour la récupération passive d'informations afin d'alimenter la génération de texte. Ne convient généralement pas pour l'exécution d'actions dans des systèmes externes.

Standardisation

Norme ouverte décrivant comment les applications d'IA fournissent du contexte aux LLM, standardisant l'intégration et réduisant le besoin d'API personnalisées.

Technique ou framework permettant d'améliorer les LLM, mais pas un protocole universel pour l'interaction avec les outils de différents fournisseurs ou systèmes.

Cas d'utilisation

Les agents d'IA effectuent des tâches (par exemple, réserver des vols, mettre à jour un CRM, exécuter du code), récupèrent des données en temps réel et réalisent des intégrations avancées.

Systèmes de questions-réponses, chatbots fournissant des informations factuelles à jour, résumés de documents, réduction des hallucinations dans la génération de texte

Avantages de l'utilisation du protocole MCP

Le protocole de contexte de modèle offre plusieurs avantages potentiels pour le développement et le déploiement d'applications basées sur l'IA, ce qui rend les LLM plus polyvalents, fiables et performants.

Minimisation des hallucinations

Par nature, les LLM peuvent parfois inventer des faits ou produire des informations plausibles, mais incorrectes (hallucinations), car ils prédisent des réponses basées sur des données d'entraînement, et non sur des informations en temps réel. Le MCP contribue à réduire ce problème en offrant aux LLM un moyen clair d'accéder à des sources de données externes et fiables, ce qui rend leurs réponses plus véridiques.

Utilisation accrue de l'IA et de l'automatisation

Ce protocole permet à l'IA d'en faire beaucoup plus et de travailler de manière autonome. En général, les LLM ne connaissent que les données sur lesquelles ils ont été entraînés, qui peuvent rapidement devenir obsolètes. Cependant, avec MCP, les LLM peuvent se connecter à de nombreux outils et intégrations prêts à l'emploi, comme des logiciels d'entreprise, des référentiels de contenu et des environnements de développement. Cela signifie que l'IA peut gérer des tâches plus complexes qui impliquent d'interagir avec le monde réel, comme mettre à jour les informations client dans un système de CRM, rechercher des événements d'actualité en ligne ou effectuer des calculs spéciaux. En se connectant directement à ces outils externes, les LLM ne sont plus de simples programmes de chat. Ils deviennent des agents intelligents capables d'agir de manière autonome, ce qui permet d'automatiser beaucoup plus de tâches.

Connexions plus faciles pour l'IA

Avant MCP, il était plus difficile de connecter les LLM à différentes sources de données et outils externes. Cela nécessitait généralement des connexions spéciales ou des méthodes spécifiques à chaque fournisseur. Il en résultait un système compliqué et désordonné, souvent appelé le problème "N x M", car le nombre de connexions personnalisées nécessaires augmentait très rapidement avec chaque nouveau modèle ou outil. MCP offre une norme commune et ouverte qui facilite ces connexions, tout comme un port USB-C simplifie la connexion des appareils. Cette méthode simplifiée peut réduire les coûts de développement, accélérer la création d'applications d'IA et créer un environnement d'IA plus connecté. Les développeurs peuvent aussi passer plus facilement d'un fournisseur de LLM à un autre et ajouter de nouveaux outils sans avoir à apporter de modifications majeures.

MCP et sécurité

Si le protocole de contexte de modèle améliore les capacités des LLM en les connectant à des systèmes externes, il peut également soulever d'importantes questions de sécurité. Comme MCP peut accéder à toutes les données et potentiellement exécuter du code via des outils connectés, une sécurité renforcée est essentielle.

Voici les principaux principes de sécurité pour MCP :

  • Consentement et contrôle de l'utilisateur : les utilisateurs doivent comprendre clairement toutes les actions et tous les accès aux données effectués par le LLM via le MCP et les accepter. Ils doivent pouvoir contrôler les données partagées et les actions effectuées, idéalement via des écrans d'autorisation faciles à utiliser.
  • Confidentialité des données : avant d'exposer les données utilisateur aux serveurs MCP, les hôtes doivent obtenir l'autorisation explicite des utilisateurs. Les données sensibles doivent être protégées par des contrôles d'accès appropriés pour éviter les fuites ou les partages accidentels, d'autant plus que les LLM traitent de grandes quantités de données. Il est essentiel d'utiliser le chiffrement et des règles de contrôle des accès strictes.
  • Sécurité des outils : les outils associés via MCP peuvent être utilisés pour exécuter du code. Les développeurs ne doivent pas se fier aux descriptions d'outils, sauf si elles proviennent d'un serveur fiable. Les utilisateurs doivent donner leur autorisation avant d'utiliser un outil et comprendre son fonctionnement avant de l'autoriser à s'exécuter.
  • Gestion sécurisée des sorties : les sorties des LLM issues des interactions avec MCP doivent être gérées avec soin pour éviter les problèmes de sécurité tels que le script intersites (XSS) ou d'autres attaques d'applications Web si la sortie est présentée aux utilisateurs. Il est important de nettoyer correctement les entrées et de filtrer les sorties, et d'éviter d'inclure des données sensibles dans les requêtes.
  • Sécurité de la chaîne d'approvisionnement : la fiabilité des serveurs MCP et des outils externes auxquels ils se connectent est très importante. Les entreprises doivent s'assurer que tous les éléments de leur chaîne d'approvisionnement de LLM sont sécurisés pour éviter les résultats biaisés, les failles de sécurité ou les échecs.
  • Surveillance et audit : vérifier régulièrement l'activité des LLM et la façon dont ils interagissent avec les serveurs MCP peut aider à détecter les comportements inhabituels ou les utilisations abusives potentielles. La mise en place de systèmes de journalisation et d'audit robustes permet de suivre les mouvements de données et l'utilisation des outils, ce qui est utile pour répondre aux incidents de sécurité.

En respectant ces principes, les développeurs peuvent exploiter la puissance du MCP tout en se protégeant contre les risques potentiels.

Créer et déployer une application basée sur MCP

L'implémentation du MCP nécessite une infrastructure robuste pour héberger le LLM, les serveurs MCP et les sources de données sous-jacentes. Une plate-forme cloud fournit les composants évolutifs et sécurisés nécessaires pour créer une solution complète. Voici comment vous pouvez procéder :

Héberger et effectuer le scaling des serveurs MCP

Les serveurs MCP sont le pont vers vos outils externes. Selon vos besoins, vous pouvez choisir :

  • Environnements sans serveur (comme Cloud Run) : idéal pour les outils simples et sans état. Une plate-forme sans serveur fait évoluer automatiquement vos serveurs en fonction de la demande, même jusqu'à zéro. Vous ne payez donc que ce que vous utilisez. C'est la solution idéale pour déployer des outils individuels de manière efficace.
  • Orchestration de conteneurs (comme Google Kubernetes Engine (GKE) : pour les applications complexes avec état qui nécessitent un contrôle précis des ressources et de la mise en réseau, un environnement Kubernetes géré offre la puissance et la flexibilité nécessaires pour exécuter une infrastructure MCP sophistiquée à l'échelle de l'entreprise.

Connecter le protocole MCP à vos données et outils

La valeur du MCP réside en grande partie dans les outils auxquels il peut accéder. Vous pouvez connecter votre LLM à :

  • Bases de données gérées (comme Cloud SQL ou Spanner) : permettez à votre IA d'interroger de manière sécurisée des bases de données relationnelles pour obtenir des informations client, des données d'inventaire ou des données opérationnelles.
  • Entrepôts de données (comme BigQuery) : pour les tâches d'analyse, un LLM peut exploiter un entrepôt de données afin d'analyser des ensembles de données volumineux et d'obtenir des insights contextuels approfondis en réponse à une requête utilisateur.

Orchestrer le workflow d'IA de bout en bout avec Vertex AI

Une plate-forme d'IA unifiée est essentielle pour tout relier. Vertex AI vous aide à gérer l'ensemble du cycle de vie de votre application basée sur le MCP :

  • Hébergement de LLM : déployez et gérez des modèles de fondation puissants comme Gemini, qui servent de "cerveau" à votre application.
  • Frameworks d'agents et d'orchestration : la création d'un agent d'IA implique des workflows complexes. Vertex AI fournit des outils pour simplifier le flux d'informations entre le LLM et le contexte fourni par vos serveurs MCP, ce qui facilite le développement d'agents sophistiqués capables de raisonner et d'agir.

Passez à l'étape suivante

Profitez de 300 $ de crédits gratuits et de plus de 20 produits Always Free pour commencer à créer des applications sur Google Cloud.

  • Faites des économies grâce à notre approche transparente concernant la tarification
  • Le paiement à l'usage de Google Cloud permet de réaliser des économies automatiques basées sur votre utilisation mensuelle et des tarifs réduits pour les ressources prépayées. Contactez-nous dès aujourd'hui afin d'obtenir un devis.
Google Cloud