Aller au contenu principal

Les clients MCP

Le client MCP est le pont de communication entre votre serveur et les serveurs MCP. Pensez-y comme votre point d’accès à tous les outils qu’un serveur MCP fournit. Il gère tous les détails du protocole et du passage de messages pour vous.

Indépendance du transport

L’un des points forts de MCP est d’être agnostique au transport — le client et le serveur peuvent communiquer via différentes méthodes. La configuration la plus courante fait tourner les deux sur la même machine et communique via l’entrée/sortie standard (stdio).

Mais vous n’êtes pas limité à cette approche. Les clients et serveurs MCP peuvent aussi se connecter via :

  • HTTP
  • WebSockets
  • D’autres protocoles réseau

Types de messages

Une fois connectés, le client et le serveur échangent des types de messages définis dans la spécification MCP :

MessageDescription
ListToolsRequest / ListToolsResultLe client demande « quels outils fournissez-vous ? »
CallToolRequest / CallToolResultLe client demande l’exécution d’un outil et reçoit le résultat

Flux complet

Voici comment tout s’articule dans un exemple concret. Un utilisateur pose la question : « Quels dépôts ai-je ? »

1. L'utilisateur soumet sa requête à votre serveur
2. Votre serveur demande la liste des outils disponibles au client MCP
3. Le client envoie ListToolsRequest → reçoit ListToolsResult
4. Votre serveur fait la requête initiale à Claude avec les outils disponibles
5. Claude décide d'utiliser un outil et répond avec une demande d'appel d'outil
6. Votre serveur demande au client MCP d'exécuter cet outil
7. Le client envoie CallToolRequest → le serveur MCP appelle l'API GitHub
8. GitHub retourne les données → CallToolResult → client → votre serveur
9. Votre serveur renvoie les résultats à Claude
10. Claude formule sa réponse finale

À retenir : Vous n’avez pas à gérer les détails du protocole. Le client MCP s’en charge, et vous appelez simplement list_tools() et call_tool().