Qu’est-ce que le protocole Model Context Protocol (MCP) ?

Le Model Context protocole (MCP) permet aux agents IA d’accéder à des outils et des sources de données externes afin d'agir plus efficacement.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Comprendre le rôle du protocole MCP (Model Context Protocol) dans l’IA agentique
  • Expliquer le fonctionnement de MCP
  • Identifier les difficultés en matière de sécurité dans le MCP

Copier le lien de l'article

Qu’est-ce que le protocole Model Context Protocol (MCP) ?

Le protocole Model Context est un moyen standard de mettre des informations à la disposition des grands modèles de langage (LLM). Un peu similaire au fonctionnement d'une interface de programmation d'application (API), le MCP propose un moyen documenté et normalisé permettant à un programme informatique d'intégrer les services à partir d'une source externe. Il prend en charge l'IA agentique, c'est-à-dire des programmes intelligents capables de poursuivre des objectifs et d'entreprendre des actions de manière autonome.

Concrètement avec le MCP, les programmes d'IA sont littéralement capables d'aller plus loin que ce pour quoi ils ont été entraînés. Il leur permet d'intégrer de nouvelles sources d'informations à leurs processus de prise de décision et de génération de contenus, tout en les aidant à se connecter aux outils externes.

Imaginez un assistant qui doit effectuer une réservation au restaurant pour son chef. L'assistant appelle le numéro de téléphone du restaurant, demande les heures de disponibilité et demande une table. Le MCP est un moyen de fournir un « numéro de téléphone » aux agents IA afin qu'ils puissent obtenir les informations dont ils ont besoin pour effectuer des tâches.

Le MCP a été développé par l'entreprise spécialisée dans l'IA Anthropic, avant de devenir un logiciel open source. Depuis son passage en open source à la fin de l'année 2024, le MCP est rapidement devenu une norme dans le secteur, permettant une utilisation plus généralisée des agents IA.

Que sont les agents IA ?

Les agents IA sont des programmes d'IA basés sur des LLM. Ils utilisent les fonctionnalités de traitement de l'information des LLM pour obtenir des données, prendre des décisions et agir au nom des utilisateurs humains.

Le MCP est un moyen pour les agents IA de trouver les informations dont ils ont besoin et d'agir en conséquence. Il permet de connecter les agents IA au « monde extérieur », pour ainsi dire, c'est-à-dire le monde au-delà des données d'entraînement des LLM. (Parmi les autres méthodes figurent les intégrations des API et la navigation headless.)

Comment fonctionne le MCP ?

Le MCP est un protocole, c'est-à-dire un ensemble convenu d'étapes et d'instructions à appliquer entre divers appareils informatiques connectés au réseau. Le MCP suppose une architecture client-serveur dans laquelle une entité, le client (l'agent IA ou un programme auxiliaire) envoie des requêtes aux serveurs, qui y répondent.

Les clients MCP opèrent dans des hôtes MCP. Les clients conservent une connexion un à un avec les serveurs MCP, mais plusieurs clients peuvent s'exécuter à partir du même hôte MCP. Par conséquent, les hôtes MCP peuvent extraire des données de plusieurs serveurs MCP simultanément. Les serveurs MCP, à leur tour, peuvent utiliser les intégrations des API pour obtenir des données à partir de sources supplémentaires.

Cela signifie qu'un agent IA peut utiliser le MCP pour se connecter à plusieurs serveurs à la fois, toutefois, chaque connexion est établie indépendamment de toute autre connexion. Pensez à une équipe de reporters d'un journal, qui contactent toutes les sources individuellement, mais réunissent ensuite leurs informations pour produire un article de presse.

Messages MCP

Le MCP utilise quatre types de messages :

  • Requêtes : le client (contenu dans l'hôte) demande des informations à un serveur MCP.
  • Résultats : le serveur MCP répond avec les informations souhaitées.
  • Erreurs : elles sont envoyées lorsque le serveur ne peut pas répondre.
  • Notifications : les messages à sens unique qui ne nécessitent aucune réponse (comme une annonce de service public). Ils peuvent être envoyés par le client ou par le serveur.

Connexions MCP locales et distantes

Les connexions MCP peuvent être soit distantes, soit locales. Des connexions à distance sont établies entre les agents IA et les serveurs MCP sur Internet. Les connexions locales ont lieu au sein de la même machine (les clients MCP et les serveurs MCP sont des programmes logiciels fonctionnant séparément les uns des autres).

Les étapes d'une connexion MCP

Les communications réseau MCP se déroulent en trois phases :

  1. Initialisation : le client envoie le premier message, et dans la courte série de messages qui suit, le client et le serveur se mettent d'accord sur les versions de protocole
  2. Échange de messages : les requêtes, les résultats et les notifications sont échangés
  3. Fin : le client ou le serveur met fin à la connexion avec un message « close() »

Pour rendre le MCP plus sûr, des étapes supplémentaires d'authentification et d'autorisation peuvent précéder ces trois phases.

Qu'est-ce qu'un serveur MCP ?

Un serveur MCP est un programme hébergé sur un serveur ou dans le cloud qui expose les fonctionnalités que les agents IA peuvent utiliser via le MCP. Les serveurs MCP peuvent fournir aux agents IA un accès à de nouveaux ensembles de données ou à d'autres outils dont ils ont besoin. Par exemple, un serveur MCP peut permettre à un agent IA d'utiliser un service de courrier électronique, afin que l'agent puisse envoyer des e-mails au nom de l'utilisateur humain qu'il aide.

Le MCP est-il sécurisé ?

Aucune fonctionnalité d'authentification, d'autorisation ou de chiffrement n'est nativement intégrée dans le MCP, de sorte que les développeurs doivent créer eux-mêmes ou utiliser un service qui facilite la mise en œuvre.

Le MCP ne nécessite pas l'utilisation de HTTPS ; de nombreuses mises en oeuvre fonctionnent en HTTP. Il peut donc manquer de chiffrement et d'authentification, à moins que les développeurs ne mettent en œuvre de manière anticipée l'utilisation de Transport Layer Security (TLS). À l'instar de tout protocole de réseau, le MCP peut être vulnérable à l'usurpation d'identité ou aux attaques de l'homme du milieu en l'absence de TLS.

Le MCP offre des fonctionnalités similaires à celles d'une API (c'est-à-dire des parties externes demandant des données et des services), bon nombre des principales considérations de sécurité des API s'appliquant également aux mises en oeuvre MCP. Les entreprises mettant à disposition des serveurs le MCP doivent faire en sorte que les données confidentielles ne soient pas exposées, que les ressources soient protégées, que les requêtes excessives soient arrêtées par le contrôle du volume des requêtes, que les agents IA ne disposent pas de trop d'autorisations et que les entrées soient validées et assainies.

Certains serveurs MCP proposent des bibliothèques qui facilitent la mise en œuvre d'OAuth. Cloudflare fournit une bibliothèque de fournisseurs OAuth, qui met en œuvre le côté fournisseur du protocole OAuth 2.1, ce qui vous permet d'ajouter facilement une autorisation à votre serveur MCP.

Les développeurs peuvent utiliser la bibliothèque fournisseur OAuth de trois manières :

  • Intégration directe avec un fournisseur OAuth tiers
  • Intégration à leur propre fournisseur OAuth, y compris des fournisseurs d'autorisation en tant que service
  • Une instance Cloudflare Worker (fonction serverless déployée sur le réseau Cloudflare) gère les autorisations, tandis qu'un serveur MCP exécuté sur Cloudflare gère l'ensemble du flux OAuth

Cloudflare met plusieurs serveurs MCP à la disposition des développeurs créant de l'IA agentique. Cloudflare permet également aux développeurs de créer et de déployer leurs propres serveurs MCP pour prendre en charge les agents IA. Découvrez comment démarrer avec MCP sur Cloudflare.