MCP (Model Context Protocol)
Le probleme que le MCP resout
Avant le MCP, chaque integration entre un LLM et un outil externe necessitait un developpement specifique. Pour connecter Claude a Slack, il fallait ecrire du code custom. Pour connecter ChatGPT a Jira, un autre code. Pour connecter Gemini a GitHub, encore un autre. Chaque combinaison (modele x outil) demandait un effort de developpement unique. Avec N modeles et M outils, il fallait N x M integrations.
Le MCP introduit un standard : chaque outil expose ses capacites via un serveur MCP, et chaque application IA se connecte via un client MCP. Il suffit de M serveurs (un par outil) et N clients (un par application) pour couvrir toutes les combinaisons. C’est l’equivalent de ce que USB a fait pour les peripheriques : un standard universel qui remplace des dizaines de connecteurs proprietaires.
Architecture du MCP
Les trois composants
Le MCP repose sur trois composants. Le MCP Host est l’application IA qui utilise les outils (Claude Desktop, un IDE, une application custom). Le MCP Client est le composant du host qui gere la connexion avec les serveurs (un client par serveur). Le MCP Server est le programme qui expose les outils d’un service (Slack, GitHub, base de donnees, fichiers locaux). Les serveurs sont des processus legers qui implementent le protocole MCP.
Primitives du protocole
Le MCP definit trois types de primitives. Les Tools (outils) sont des fonctions que le LLM peut appeler pour effectuer des actions ou recuperer des donnees. Ils correspondent au tool use / function calling standard. Les Resources (ressources) sont des donnees structurees que le serveur expose au modele (fichiers, enregistrements de base de donnees, documents). Les Prompts sont des templates de prompts pre-configures que le serveur fournit pour des taches specifiques.
| Primitive | Controle par | Exemple | Usage |
|---|---|---|---|
| Tools | Le modele (LLM) | send_slack_message | Actions et requetes |
| Resources | L’application (host) | Liste des fichiers du projet | Contexte et donnees |
| Prompts | L’utilisateur | Template de code review | Workflows pre-definis |
Transport
Le MCP supporte deux modes de transport. Le mode stdio (standard input/output) est le plus simple : le serveur MCP est lance comme un processus local et communique via stdin/stdout. C’est le mode utilise par Claude Desktop. Le mode SSE (Server-Sent Events) fonctionne via HTTP, permettant des serveurs MCP distants. Le mode Streamable HTTP est la derniere evolution qui combine les avantages des deux approches.
Ecosysteme de serveurs MCP
Serveurs de reference
Anthropic et la communaute fournissent des serveurs MCP pre-construits pour les services les plus populaires. GitHub (gestion de repos, issues, PRs), Slack (envoi et lecture de messages), Google Drive (lecture de documents), PostgreSQL (requetes SQL), systeme de fichiers local (lecture/ecriture), Puppeteer (navigation web), et des dizaines d’autres. L’ecosysteme compte des centaines de serveurs en 2026.
Construire un serveur MCP
Les SDKs officiels (TypeScript, Python) simplifient la creation de serveurs MCP. Un serveur basique expose des outils en definissant leurs noms, descriptions et schemas d’input, puis en implementant la logique d’execution. Le SDK gere le protocole de communication, le developpeur se concentre sur la logique metier. Un serveur MCP simple se code en quelques dizaines de lignes.
Pour TypeScript, le package @modelcontextprotocol/sdk fournit les classes Server et les decorateurs pour definir les outils. Pour Python, le package mcp offre une API similaire. Les serveurs peuvent etre publies sur npm ou PyPI et partages via le registre MCP.
Clients MCP
Claude Desktop
Claude Desktop est le premier client MCP grand public. Les utilisateurs configurent des serveurs MCP dans un fichier de configuration (claude_desktop_config.json). Chaque serveur est lance automatiquement et ses outils deviennent disponibles dans la conversation. Par exemple, en configurant le serveur MCP GitHub, Claude Desktop peut creer des issues, lire des PRs et naviguer dans le code source directement dans la conversation.
IDEs et outils de dev
Les editeurs de code integrent le MCP : Cursor, Windsurf, VS Code (via des extensions) et d’autres permettent de connecter des serveurs MCP pour enrichir les capacites de leur assistant IA integre. Le developpeur peut connecter un serveur MCP pour sa base de donnees, son outil de CI/CD ou son wiki interne.
Applications custom
Les SDKs TypeScript et Python permettent de creer des clients MCP dans n’importe quelle application. Le client se connecte a un ou plusieurs serveurs, decouvre les outils disponibles et les passe au LLM via tool use. C’est la maniere de construire des assistants IA personnalises connectes a vos propres services via MCP.
Avantages du MCP
L’interoperabilite est l’avantage principal : un serveur MCP pour Slack fonctionne avec Claude, avec n’importe quelle application qui implementte le protocole. Pas besoin de re-developper l’integration pour chaque modele ou application.
La securite est integree. Le MCP inclut un modele de permissions : l’utilisateur doit approuver les actions sensibles (ecriture, suppression). Le serveur controle quelles donnees il expose. Les connexions sont locales par defaut (stdio), minimisant la surface d’attaque.
La modularite permet d’ajouter ou retirer des outils sans modifier l’application. Besoin d’acces a Jira ? Ajoutez le serveur MCP Jira. Plus besoin ? Retirez-le. Chaque serveur est un composant independant.
MCP vs autres approches
| Approche | Standard | Decouverte d’outils | Portabilite |
|---|---|---|---|
| MCP | Oui (open source) | Automatique | Multi-modele, multi-app |
| Function calling natif | Proprietaire par fournisseur | Manuelle | Un seul fournisseur |
| Plugins ChatGPT | Proprietaire OpenAI | Store | ChatGPT uniquement |
| LangChain Tools | Framework-specifique | Manuelle | Applications LangChain |
Limites actuelles
L’ecosysteme est encore jeune. Tous les services n’ont pas de serveur MCP. La qualite des serveurs communautaires varie. Le debugging peut etre complexe (les erreurs de communication entre client et serveur ne sont pas toujours transparentes). La performance peut souffrir avec de nombreux serveurs connectes simultanement (chaque serveur occupe un processus).
L’authentification avec les services cloud (OAuth, API keys) necessite une configuration initiale par l’utilisateur. La gestion des tokens et des rafraichissements n’est pas toujours fluide. Les serveurs distants (mode SSE/HTTP) introduisent de la latence et des considerations de securite reseau supplementaires.
Tendances 2026
L’adoption du MCP accelere. OpenAI, Google et d’autres acteurs explorent la compatibilite MCP ou des protocoles similaires. Le registre MCP centralise la decouverte de serveurs. Les serveurs MCP entreprise (Salesforce, SAP, ServiceNow) emergent pour les cas d’usage professionnels. Le MCP remote (serveurs distants securises) s’ameliore avec une meilleure gestion de l’authentification. Et la gouvernance du protocole evolue vers un modele communautaire plus ouvert.
Le MCP s’integre aussi dans les systemes multi-agents : chaque agent peut se connecter a des serveurs MCP differents selon sa specialite, creant des equipes d’agents avec des capacites complementaires.
FAQ – MCP
Le MCP ne fonctionne-t-il qu’avec Claude ?
Non. Le MCP est un protocole open source independant de tout modele. Bien que cree par Anthropic et d’abord integre dans Claude Desktop, il est adopte par Cursor, Windsurf, VS Code et d’autres applications. N’importe quelle application peut implementer un client MCP pour se connecter aux serveurs existants. L’objectif est l’interoperabilite universelle.
Comment installer un serveur MCP dans Claude Desktop ?
Editez le fichier de configuration de Claude Desktop (claude_desktop_config.json). Ajoutez le serveur dans la section « mcpServers » avec la commande de lancement et les variables d’environnement necessaires (API keys). Relancez Claude Desktop. Les outils du serveur apparaissent automatiquement dans la conversation. Les serveurs npm s’installent via npx, les serveurs Python via uvx.
Quelle est la difference entre MCP et les plugins ChatGPT ?
Les plugins ChatGPT sont proprietaires (OpenAI only), centralisent les outils dans un store, et utilisent des specs OpenAPI. Le MCP est open source, decentralise (chaque serveur est independant), et utilise un protocole dedie optimise pour les LLM. Le MCP est plus flexible et portable : un serveur MCP fonctionne avec n’importe quel client compatible, pas seulement une application.
Comment creer son propre serveur MCP ?
Installez le SDK MCP (TypeScript : @modelcontextprotocol/sdk, Python : mcp). Definissez vos outils avec leurs noms, descriptions et schemas d’input. Implementez la logique d’execution pour chaque outil. Configurez le transport (stdio pour local, SSE/HTTP pour distant). Testez avec le MCP Inspector (outil de debugging officiel). Un serveur basique se code en 50 a 100 lignes.
Le MCP est-il securise ?
Le MCP integre des mecanismes de securite : permissions explicites pour les actions sensibles, execution locale par defaut (stdio), isolation des serveurs. Mais la securite depend aussi de l’implementation : un serveur MCP mal code peut exposer des donnees sensibles ou permettre des actions non autorisees. Verifiez les serveurs communautaires avant de les installer, ne passez pas de secrets en clair, et limitez les permissions au minimum necessaire.