Aller au contenu principal

Les clients MCP

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 pas à s’en occuper.

Communication agnostique au transport

L’un des points forts du MCP est d’être agnostique au transport — le client et le serveur peuvent communiquer via différents protocoles selon votre configuration.

La configuration la plus courante fait tourner client et serveur sur la même machine, en communiquant par entrée/sortie standard (stdio). Mais vous pouvez aussi les connecter via :

  • HTTP
  • WebSockets
  • D’autres protocoles réseau
Comparaison des transports MCP : STDIO vs StreamableHTTP

Types de messages MCP

Une fois connectés, le client et le serveur échangent des types de messages spécifiques définis par la spécification MCP. Les principaux :

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

Comment tout s’assemble

Voici un exemple complet montrant le flux d’une requête utilisateur, de votre serveur jusqu’au retour vers Claude :

Un utilisateur demande : “Quels dépôts est-ce que j’ai ?”

1. Requête utilisateur
   └─► Votre serveur

2. Découverte des outils
   └─► Votre serveur demande les outils disponibles au client MCP

3. Échange ListTools
   └─► Client MCP → ListToolsRequest → Serveur MCP
   └─► Serveur MCP → ListToolsResult → Client MCP

4. Requête vers Claude
   └─► Votre serveur envoie la question + les outils disponibles à Claude

5. Décision d'appel d'outil
   └─► Claude décide d'appeler un outil

6. Exécution de l'outil
   └─► Votre serveur → Client MCP → CallToolRequest → Serveur MCP

7. Appel API externe
   └─► Serveur MCP → API GitHub

8. Retour des résultats
   └─► GitHub → Serveur MCP → CallToolResult → Client MCP

9. Résultat vers Claude
   └─► Votre serveur envoie les résultats à Claude

10. Réponse finale
    └─► Claude formule sa réponse → Utilisateur

Responsabilités claires

Oui, ce flux comporte de nombreuses étapes — mais chaque composant a une responsabilité bien définie :

  • Le client MCP abstrait la complexité de la communication serveur
  • Votre code se concentre sur la logique applicative
  • Le serveur MCP gère l’intégration avec les services externes

Comprendre ce flux est essentiel, car vous verrez toutes ces pièces en action lorsque vous construirez vos propres clients et serveurs MCP dans les sections suivantes.