Aller au contenu principal
Leçon 50 sur 66 · Claude sur Google Cloud (Vertex AI / Agent Platform)

Les clients MCP

Leçon 50 sur 66 Mis à jour le 5 novembre 2026 Développeur
Sur cette page
  1. Communication agnostique au transport
  2. Types de messages MCP
  3. Comment tout s’assemble
  4. Responsabilités claires
  5. À vous de jouer
  6. Points clés à retenir

Le client MCP est le pont de communication entre votre serveur et les serveurs MCP. C’est votre point d’accès à tous les outils qu’un serveur MCP fournit : il gère l’échange de messages et les détails du protocole, pour que votre application n’ait jamais à s’en occuper. Vous appelez une méthode, il traduit en messages, il attend la réponse, il vous rend un objet Python. À la fin de cette leçon, vous saurez ce que signifie « agnostique au transport », quels messages circulent, et dans quel ordre une question traverse tout le système.

Communication agnostique au transport

L’un des points forts du MCP est d’être agnostique au transport. Le protocole décrit ce que client et serveur se disent, pas le tuyau par lequel ils se le disent — et ce découplage vous laisse choisir la configuration adaptée à votre déploiement.

La configuration la plus courante, celle que vous utiliserez dans cette section, fait tourner le client et le serveur sur la même machine, en communiquant par entrée/sortie standard (stdio). Le client lance le processus serveur et lui écrit sur son entrée standard, exactement comme deux programmes reliés par un pipe shell. C’est simple, rapide, et cela ne demande aucune configuration réseau. Mais rien ne vous y oblige : la spécification définit un second transport, Streamable HTTP (des requêtes HTTP POST, avec des événements envoyés par le serveur en option), pour les serveurs qui tournent ailleurs que sur la machine de l’utilisateur et servent plusieurs clients à la fois. Dans les deux cas, les messages sont les mêmes : du JSON-RPC 2.0, requêtes, réponses et notifications. L’ancien transport HTTP+SSE est déprécié depuis la version 2026-07-28.

Deux transports, les mêmes messages Deux colonnes : stdio, où le client lance le serveur sur la même machine, et Streamable HTTP, où le client se connecte à un serveur distant par une URL ; les messages restent du JSON-RPC 2.0. CLIENTS MCP Deux transports, les mêmes messages stdio Où Sur la machine de l'utilisateur. Comment Le client lance le serveur et lui écrit sur son entrée standard. Pour Fichiers, dépôt Git, outils locaux. Streamable HTTP Où Sur un serveur distant. Comment Le client se connecte à une URL, par des requêtes POST. Pour Des services partagés par plusieurs clients. Dans les deux cas, du JSON-RPC 2.0 ; l'ancien transport HTTP+SSE est déprécié depuis la version 2026-07-28.
D'après la leçon « MCP clients » (Claude Academy, Claude on Google Cloud) et la spécification MCP 2026-07-28.

Types de messages MCP

Une fois la connexion établie, le client et le serveur échangent des types de messages définis par la spécification MCP. Deux paires suffisent à couvrir tout le cycle de vie d’un outil : découvrir ce qui existe, puis exécuter ce qu’on a choisi.

MessageDescription
ListToolsRequest / ListToolsResultLe client demande : “quels outils tu fournis ?” et reçoit la liste
CallToolRequest / CallToolResultLe client demande l’exécution d’un outil avec des arguments et reçoit le résultat

Remarquez la symétrie du nommage : à chaque requête correspond un résultat portant le même préfixe. Sur le fil, ces messages s’appellent tools/list et tools/call ; vous retrouverez cette convention pour les ressources (resources/list, resources/read) et les prompts (prompts/list, prompts/get) dans les leçons suivantes, ce qui rend la spécification très prévisible une fois les deux premiers messages compris. Depuis la version 2026-07-28, chaque requête porte aussi la version du protocole et les capacités du client dans son champ _meta, et un appel server/discover permet d’interroger les versions et capacités du serveur ; les versions antérieures passaient par une poignée de main initialize au début de la connexion, que vous verrez encore dans l’inspecteur.

Comment tout s’assemble

Suivons maintenant une requête complète, depuis la question de l’utilisateur jusqu’à la réponse de Claude. Un utilisateur demande : « Quels dépôts est-ce que j’ai ? »

Le trajet d'une question à travers MCP Frise à six jalons : la question de l'utilisateur, la découverte des outils par tools/list, le choix de Claude, l'exécution par tools/call via le client et le serveur MCP, le résultat renvoyé à Claude, la réponse. CLIENTS MCP Le trajet d'une question à travers MCP 1 Question « Quels dépôts ai-je ? » 2 Découverte tools/list, par le client MCP 3 Choix Claude reçoit les outils et choisit 4 Exécution tools/call ; le serveur appelle l'API 5 Résultat renvoyé à Claude 6 Réponse Claude formule la réponse Claude décide de l'outil et de ses arguments ; votre code déclenche l'appel par le client MCP.
D'après la leçon « MCP clients » (Claude Academy, Claude on Google Cloud).

Deux moments méritent d’être soulignés dans cette séquence. D’abord l’étape 3 : Claude ne découvre pas les outils tout seul ; c’est votre application qui les lui présente avec la question, et Claude choisit l’outil et ses arguments. Ensuite l’étape 4 : Claude n’exécute rien ; c’est votre code qui déclenche l’appel, par le client MCP. Le modèle décide, votre application agit.

Responsabilités claires

Oui, ce flux comporte de nombreuses étapes, et il peut sembler intimidant à la première lecture. Mais chaque composant a une responsabilité bien délimitée, et c’est précisément ce qui rend l’ensemble maintenable. Le client MCP abstrait la complexité de la communication avec le serveur, votre code se concentre sur la logique applicative, et le serveur MCP gère l’intégration avec les services externes. Aucune de ces trois briques n’a besoin de connaître le détail des deux autres.

Prenez le temps de vous approprier ce schéma : vous verrez toutes ces pièces en action, une par une, lorsque vous construirez vos propres serveurs et clients MCP dans les sections suivantes.

À vous de jouer

  1. Sans regarder le schéma, réécrivez les onze étapes du trajet d’une question, puis comparez. Les deux étapes où l’on se trompe le plus sont la 4 (qui présente les outils à Claude ?) et la 6 (qui exécute l’outil ?).
  2. Pour le service choisi à la leçon 49, choisissez le transport : le serveur tournera-t-il sur le poste de l’utilisateur (stdio) ou sur une machine partagée (Streamable HTTP) ? Justifiez en une phrase.
  3. Ouvrez un fichier de configuration MCP existant (celui de Claude Desktop ou de Claude Code) et identifiez la commande qui lance chaque serveur : c’est exactement ce que fait un client stdio.

Sources officielles : MCP clients (Claude Academy) · Aperçu de l’architecture : couches données et transport · Transports (spécification 2026-07-28)

Points clés à retenir

  • Le client MCP est le pont entre votre application et les serveurs MCP ; il absorbe le protocole pour que votre code n’ait qu’à appeler des méthodes.
  • Deux transports, mêmes messages JSON-RPC 2.0 : stdio sur la même machine, Streamable HTTP à distance ; HTTP+SSE est déprécié.
  • Découvrir puis exécuter : tools/list et tools/call, et la même convention pour les ressources et les prompts.
  • Dans le trajet d’une question, votre application présente les outils à Claude, Claude choisit, votre code exécute.