Introduction au MCP pour les Développeurs
Pourquoi le MCP change la donne pour les développeurs
Le Model Context Protocol (MCP) est un standard ouvert qui révolutionne la façon dont les applications d’intelligence artificielle interagissent avec le monde extérieur. Avant MCP, chaque framework — LangChain, CrewAI, Mistral Agents, OpenAI Assistants — avait sa propre manière de définir et d’appeler des outils. Résultat : un écosystème fragmenté où partager un outil entre frameworks était quasiment impossible.
MCP résout ce problème fondamental en proposant un protocole de communication unifié entre un client IA et des serveurs d’outils. Pensez-y comme une « prise USB » universelle pour l’IA : peu importe le client (Claude, Le Chat, Cursor, VS Code) ou le serveur (GitHub, Notion, votre API interne), le protocole de communication reste le même.
Architecture client-serveur
Le MCP repose sur une architecture client-serveur simple mais puissante :
- Le client est l’application qui utilise l’IA : un chatbot (Le Chat de Mistral, Claude), un IDE (VS Code, Cursor), ou un SDK d’agents (Mistral Agent SDK, Claude Agent SDK)
- Le serveur est le programme qui expose des capacités (tools, resources, prompts) au client
La communication entre les deux se fait en JSON. Le client demande au serveur quels outils sont disponibles, le serveur répond avec une description textuelle de chaque outil — ses paramètres, son rôle, son format de retour. Le modèle de langage utilise ensuite cette description pour décider quand et comment appeler chaque outil.
Client (Le Chat) Serveur MCP (GitHub)
| |
|--- "Quels outils as-tu ?" -->|
|<-- Description JSON tools ---|
| |
|--- Appel: create_issue({}) ->|
|<-- Résultat JSON ------------|
MCP vs Function Calling : quelle différence ?
Le function calling classique et MCP ne s’excluent pas mutuellement, mais leurs approches diffèrent :
- Function calling : vous définissez les outils côté client, vous les passez au modèle, et vous gérez l’exécution vous-même. Chaque framework a son propre format de définition.
- MCP : les outils vivent sur un serveur distant (ou local). Le client ne connaît que la description textuelle. L’exécution est gérée par le serveur.
L’avantage majeur de MCP est la réutilisabilité. Un serveur MCP GitHub créé une fois peut être utilisé dans Le Chat, Claude, Cursor, ou votre propre SDK — sans réécriture.
Les trois primitives MCP
MCP ne se limite pas aux outils. Le protocole définit trois types de capacités :
- Tools — Fonctions exécutables (créer un ticket, envoyer un email, requêter une API)
- Resources — Données consultables (fichiers, bases de données, documentation)
- Prompts — Templates de prompts réutilisables avec paramètres
En pratique, les tools représentent 90 % des usages actuels. Mais resources et prompts ouvrent des possibilités intéressantes que nous explorerons dans la leçon 3.
Le flux de décision du modèle
Quand un utilisateur pose une question au client, le modèle suit ce cycle :
- Il reçoit la question et la liste des outils disponibles (descriptions MCP)
- Il décide : répondre directement, ou appeler un outil ?
- S’il appelle un outil, il formule les arguments en JSON
- Le serveur exécute et retourne le résultat
- Le modèle intègre le résultat et formule sa réponse (ou appelle un autre outil)
Ce cycle peut se répéter autant de fois que nécessaire. Un workflow complexe peut enchaîner Reddit → Linear → GitHub sans que l’utilisateur quitte l’interface de chat.
Un écosystème en pleine expansion
En avril 2026, des centaines de serveurs MCP sont disponibles : GitHub, Notion, Slack, Gmail, PayPal, Hugging Face, Semgrep, et bien d’autres. Les principaux clients IA supportent MCP nativement. Et surtout, vous pouvez créer vos propres serveurs pour exposer vos outils internes.
C’est précisément l’objectif de ce cours : vous donner les compétences pour comprendre, utiliser et créer des serveurs MCP en Python.
Points clés à retenir
- MCP est un standard ouvert de communication client-serveur pour l’IA
- Il unifie l’écosystème fragmenté du function calling
- L’architecture repose sur un client (chatbot, IDE, SDK) et un serveur (outils, resources, prompts)
- La communication se fait en JSON avec des descriptions textuelles
- Un serveur MCP est réutilisable sur tous les clients compatibles