29 octobre 2025
Guide pratique du Model Context Protocol : tout comprendre sur les tools et serveurs MCP
9 minutes de lecture

Depuis presque un an maintenant, Anthropic a initié un protocole de communication permettant de fournir des informations contextuelles aux modèles et a donné naissance au Model Context Protocol (MCP). Il est devenu, au fil du temps, un standard dans l'écosystème IA pour les applications qui souhaitent utiliser des modèles IA de manière plus efficace et les personnes qui souhaitent augmenter les capacités de leurs modèles IA.
Cependant, la diffusion progressive de ce protocole, essentielle à son adoption, s'accompagne aussi d'un certain nombre de questions et de confusions. C'est ce que nous allons tenter de clarifier dans cet article en détaillant les différents cas d'utilisation possibles et les meilleures pratiques à appliquer en fonction de vos besoins.
À quoi sert le protocole MCP ? Quels sont les cas d'utilisation possibles ? Comment utiliser ce protocole dans vos applications ? Quelles sont les limites de ce protocole ? À quels besoins répond ce protocole ?
Introduction
Force est de constater que l'utilisation des Large Language Models (LLMs) augmente de manière significative dans tous les domaines, allant de la simple utilisation par le grand public de chatbots IA comme ChatGPT (en position de quasi-monopole aujourd'hui) à l'utilisation sur-mesure dans des applications complexes, en passant par des assistants de développement comme Cursor, Zed, etc.
Mais ces outils puissants souffraient de deux problèmes majeurs:
- le manque de contexte (ex: données de la base de données, documents, etc.)
- l'impossibilité d'effectuer des actions (ex: envoyer un email, modifier un document, créer un événement, etc.)
Pour pallier au premier problème de contexte, des solutions ont été mises en place comme le Retrieval-Augmented Generation (RAG), que l'on peut voir comme une sorte de bibliothèque permettant aux LLMs d'accéder à des informations contextuelles, et le fine-tuning de modèles pour permettre aux LLMs d'être spécialisés dans un domaine précis. Ces sujets ne seront pas abordés dans cet article, mais si le fonctionnement de ces solutions vous intéresse, vous pouvez consulter Comment fonctionne un RAG ?.
À noter qu'il n'existe pas de standard pour les RAG. Chaque implémentation doit être adaptée à la plateforme utilisée.
Enfin, pour pallier l'impossibilité d'effectuer des actions, on a vu apparaître la notion de tools (ou outils en français).
Qu'est-ce qu'un tool ?
Un tool est une fonctionnalité qui peut être appelée par un LLM pour effectuer une tâche spécifique. Par exemple, un tool pourrait être utilisé pour envoyer un email, modifier un document, créer un événement, etc. L'appel d'un tool permet donc d'exécuter une fonction spécifique sur un serveur et de retourner un résultat qui sera soit affiché dans la conversation, soit utilisé pour donner du contexte à la requête.
- L'utilisateur fait une demande au LLM
- Le LLM analyse la demande et détermine s'il existe un outil qui pourrait répondre à la demande
- Si non : Le LLM génère directement la réponse
- Si oui : Le LLM invoque l'outil
- Le serveur qui implémente le tool exécute l'action demandée par le tool
- Le serveur retourne le résultat à l'utilisateur ou au LLM qui peut alors formuler une réponse complète à l'utilisateur
Ce schéma est une simplification pour illustrer le fonctionnement d'un tool. En réalité, un tool peut être composé de plusieurs étapes et de plusieurs types de retours voire même réinterprété par le LLM.
Où s'exécute un tool ?
Comme on peut le voir sur le schéma ci-dessus, un tool est appelé par un LLM et exécuté sur le serveur qui l'a implémenté. C'est ce serveur qui va exécuter la fonctionnalité spécifique et retourner le résultat.
C'est pour cette raison que les tools "classiques" ne peuvent pas être exécutés directement par un agent distant, par "distant" on entend un agent qui n'est pas hébergé sur le même serveur que le serveur qui implémente le tool ou dans un processus différent. Ils sont donc très utiles pour les applications qui implémentent leur propre agent IA.
Qu'est-ce que le protocole MCP ?
On l'a vu précédemment, l'infrastructure des tools est très simple, mais elle souffre du fait que leur exécution est limitée à leur propre environnement et ils ne peuvent être appelés et exécutés que dans celui-ci.
Pour pouvoir exposer des tools (entre autres) à un agent IA, on a vu apparaître le protocole Model Context Protocol (MCP). Il s'agit d'un protocole de communication qui permet de faire le pont entre des agents IA et des tools présents sur un serveur MCP.
Ce protocole repose sur deux composantes principales:
- Le serveur MCP qui implémente et expose les
toolsdisponibles - Le client MCP qui appelle les
toolsdisponibles et reçoit les résultats
Les serveurs MCP peuvent aussi exposer des resources et des prompts en plus des tools.
Cependant, beaucoup d'hôtes MCP distants ne supportent pas ces fonctionnalités.
La communication entre ces deux entités est standardisée via un format JSON-RPC qui permet de faire transiter des ordres d'instructions (actions/procédures) entre un client et un serveur.
Le fait d'avoir deux entités distinctes nous donne la flexibilité d'utiliser le protocole MCP dans différents contextes et d'avoir nos tools accessibles depuis des environnements différents.
Les hôtes MCP
Dans la suite de cet article, nous allons parler de hôte MCP pour désigner l'entité qui implémente à la fois la communication avec un LLM et un client MCP. On pourra ainsi faire la distinction entre un hôte MCP distant et un hôte MCP local. Il est important de les différencier car ils n'auront pas les mêmes contraintes et possibilités.
Hôte MCP distant
Un hôte MCP distant ou remote est souvent un service web qui propose un chatbot IA comme ChatGPT ou Claude AI (version web). Pour savoir si un agent IA supporte le protocole MCP, il faut vérifier ses capacités dans l'interface web de l'agent IA et vérifier s'il est fait mention de Connected apps ou Connecteurs.
Même si le protocole MCP devient un standard dans l'écosystème IA, il n'est pas encore supporté par tous les services web qui proposent un chatbot IA.
Hôte MCP local
Un hôte MCP local est une entité qui a pour environnement votre propre machine. Il tourne sur votre propre machine et peut donc effectuer des actions dessus. Dans cette catégorie, on peut citer les assistants de développement comme Cursor, Zed, etc., mais aussi des versions desktop d'agents conversationnels comme Claude Desktop par exemple.
Les différents types de transports
Il existe différents types de transports pour la communication entre le client et le serveur MCP:
Le choix du transport va dépendre des besoins et des contraintes de l'application.
Stdio
Le transport stdio est un transport qui utilise le standard input/output (stdin/stdout) pour la communication entre le client et le serveur. Avec ce mode de transport, tout se passe en local, c'est-à-dire que le client et le serveur sont hébergés localement et le serveur peut effectuer des actions sur la machine locale comme lire des fichiers, écrire des fichiers, etc.
Il va de pair avec un hôte MCP local. Les hôtes MCP distants n'utilisent pas ce type de transport.
Ce transport est idéal pour les assistants de développement et les applications desktop qui ont besoin d'accéder aux ressources locales de l'utilisateur.
Le serveur MCP est lancé en local en tant que sous-processus de l'hôte MCP local.
Le transport stdio expose des API natives de l'hôte MCP local. Il est donc important de
s'assurer que l'hôte MCP local provient d'une source fiable et de confiance.
Si l'implémentation d'un serveur MCP en transport stdio vous intéresse, vous pouvez consulter Intégration d'un MCP dans une application React.
Streamable HTTP
Le transport streamable HTTP est un transport qui utilise le protocole HTTP pour la communication entre le client MCP et le serveur MCP. Il nous permet de découpler l'hôte et le serveur et de les héberger sur des serveurs différents, permettant ainsi d'utiliser des serveurs MCP avec des hôtes MCP distants et locaux.
Le serveur MCP doit être déployé sur un serveur web et accessible via une URL. L'hôte pourra ainsi appeler les tools du serveur MCP via une requête HTTP. Le transport streamable HTTP est idéal pour les hôtes MCP distants.
Dans le cadre d'un SaaS par exemple, on pourra héberger le serveur MCP sur un serveur web ou créer un endpoint /mcp dans notre API, et un utilisateur aura la possibilité d'ajouter un connecteur à son hôte MCP distant, par exemple Claude AI ou ChatGPT, pour utiliser nos tools.
Sécurité
Dans certains cas, on peut avoir besoin d'authentifier ou d'autoriser l'utilisation des outils exposés. Dans ce cas, on peut utiliser un token d'authentification ou une clé API pour sécuriser l'accès au serveur MCP. L'utilisation de ce transport nous permet donc de sécuriser l'accès aux outils exposés par le serveur MCP avec une authentification basique ou plus avancée avec OAuth 2.
Comment utiliser le protocole MCP dans vos applications ?
Tout d'abord, avant de commencer à utiliser le protocole MCP dans vos applications, il est important de comprendre comment il fonctionne et quelles sont les différentes possibilités offertes par le protocole. Ensuite, il faut définir le besoin de votre application et choisir le transport qui correspond le mieux à vos besoins.
Si votre application est un SaaS, alors vous souhaitez probablement exposer vos tools au grand public. Dans ce cas, vous aurez besoin d'utiliser le transport streamable HTTP afin de permettre aux utilisateurs de connecter leur hôte MCP distant, par exemple Claude AI ou ChatGPT, à votre serveur MCP.
Les utilisateurs d'hôtes locaux pourront aussi utiliser votre solution avec ce mode de transport.
Si votre solution est un script ou une application autonome, alors vous aurez besoin d'utiliser le transport stdio afin de permettre aux utilisateurs de connecter leur hôte MCP local à votre serveur MCP.
Si votre solution a un usage exclusivement interne, alors vous n'avez probablement pas besoin d'utiliser le protocole MCP. Exception faite si vous souhaitez utiliser des tools sur plusieurs agents IA internes. Dans ce cas, il faudra utiliser le transport stdio pour permettre aux agents IA de communiquer avec le serveur MCP (si celui-ci est sur le même serveur).
Adhésion au protocole
L'efficacité d'un MCP est directement liée à l'adhésion au protocole par les hôtes MCP distants. En effet, si un hôte MCP distant ne supporte pas le protocole MCP, alors le client MCP ne pourra pas utiliser les tools exposés par le serveur MCP. À ce jour, de plus en plus d'hôtes MCP distants supportent le protocole MCP, mais la plupart du temps l'ajout de connecteurs fait partie de fonctionnalités payantes, c'est le cas de ChatGPT et Claude AI par exemple. Ce qui freine donc la démocratisation de l'utilisation du protocole MCP par le grand public.
Registre
Il existe un registre officiel des serveurs MCP disponibles. Il est disponible sur le site de Model Context Protocol et permet de trouver les serveurs MCP disponibles et de les utiliser dans vos agents IA.
Si la mise en place de serveurs MCP par les entreprises continue de se démocratiser, il faudra s'attendre à ce que d'autres registres voient le jour pour permettre aux utilisateurs de trouver les serveurs MCP à la manière des moteurs de recherche traditionnels. Si c'est le cas, le référencement auprès de ces registres pourra devenir un enjeu majeur pour les entreprises.
Conclusion
Vous l'aurez compris, le protocole MCP est un standard qui va changer la donne dans l'écosystème IA. En permettant aux LLMs d'accéder à des données contextuelles et d'effectuer des actions concrètes, il transforme ces modèles de simples générateurs de texte en véritables assistants capables d'agir dans le monde réel.
Le choix du transport dépendra de votre contexte : stdio pour les assistants de développement et applications desktop, streamable HTTP pour les solutions SaaS et l'intégration avec des hôtes distants comme Claude AI ou ChatGPT.
Même si l'adoption par les hôtes MCP distants est encore limitée et souvent payante, la tendance est clairement à la démocratisation.
Chez Premier Octet, nous suivons de près ces évolutions. Si vous souhaitez explorer cette technologie pour vos besoins ou avez des questions sur l'implémentation, n'hésitez pas à nous contacter.


