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 :
| Message | Description |
|---|---|
ListToolsRequest / ListToolsResult | Le client demande « quels outils fournissez-vous ? » |
CallToolRequest / CallToolResult | Le 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()etcall_tool().