🔄 Mis à jour le 15 février 2026
MCP (Model Context Protocol) : Guide Complet en Français
Le Model Context Protocol (MCP) est un standard ouvert créé par Anthropic en novembre 2024 qui permet aux IA (Claude, ChatGPT, Gemini…) de se connecter à vos outils : GitHub, Slack, bases de données, fichiers, APIs. Souvent comparé à l'USB-C de l'intelligence artificielle, MCP est devenu en un an le standard de l'industrie, adopté par OpenAI, Google DeepMind, Microsoft et des milliers de développeurs.
- Qu'est-ce que MCP ?
- L'analogie USB-C
- Architecture : client, serveur, host
- Les 3 primitives : Tools, Resources, Prompts
- Chronologie : de l'annonce à la Linux Foundation
- MCP vs Function Calling
- Les 10 serveurs MCP les plus populaires
- Installer un serveur MCP
- Clients compatibles MCP
- Sécurité et limites
- Créer son propre serveur MCP
- FAQ
1. Qu'est-ce que MCP ?
Le Model Context Protocol est un protocole de communication standardisé entre les modèles d'IA (LLMs) et les sources de données ou outils externes. Avant MCP, chaque intégration nécessitait un connecteur custom — un vrai casse-tête « N×M » : N outils × M applications IA = des centaines de connecteurs différents.
MCP transforme ce problème en « N+M » : chaque outil crée un seul serveur MCP, et chaque application IA crée un seul client MCP. Les deux se parlent via le protocole standard. Résultat : vous écrivez un connecteur une fois, et il fonctionne partout — Claude, ChatGPT, Gemini, Cursor, n'importe quel LLM compatible.
2. L'analogie USB-C
L'analogie la plus utilisée (y compris par Anthropic) est celle de l'USB-C :
3. Architecture : client, serveur, host
MCP utilise une architecture client-serveur avec trois composants principaux :
| Composant | Rôle | Exemples |
|---|---|---|
| Host | L'application IA que vous utilisez | Claude Desktop, ChatGPT, Cursor, VS Code |
| Client MCP | Le module intégré au host qui parle le protocole MCP | Intégré dans le host (invisible pour l'utilisateur) |
| Serveur MCP | Le connecteur vers un outil ou une source de données | Serveur GitHub, serveur PostgreSQL, serveur Slack |
Le flux est simple : vous demandez à Claude « Crée une issue GitHub pour ce bug ». Le client MCP (intégré à Claude) envoie la requête au serveur MCP GitHub, qui exécute l'action et renvoie le résultat. Tout ça via un protocole JSON-RPC standardisé.
stdio pour les serveurs locaux (qui tournent sur votre machine) et Streamable HTTP (introduit en mars 2025) pour les serveurs distants et cloud. L'ancien transport SSE est déprécié.
4. Les 3 primitives : Tools, Resources, Prompts
Chaque serveur MCP expose ses capacités via trois types de primitives :
| Primitive | Ce que c'est | Exemple concret |
|---|---|---|
| Tools (outils) | Actions que le LLM peut exécuter | create_issue, send_message, run_query |
| Resources (ressources) | Données que le LLM peut lire | Contenu d'un fichier, schéma de BDD, liste de canaux Slack |
| Prompts | Templates d'instructions pré-définies | Template « Analyse ce code », « Résume cette PR » |
Les Tools sont de loin les plus utilisés. Quand vous connectez un serveur MCP GitHub, le LLM découvre automatiquement les outils disponibles (créer un PR, lire des fichiers, chercher des issues…) et les utilise selon le contexte de votre demande.
5. Chronologie : de l'annonce à la Linux Foundation
6. MCP vs Function Calling
Le function calling (appel de fonctions) existe depuis juin 2023 chez OpenAI. C'est l'approche « classique » pour connecter un LLM à des outils. Voici les différences clés avec MCP :
| Critère | Function Calling | MCP |
|---|---|---|
| Standard | Propriétaire (varie par fournisseur) | Ouvert, universel |
| Portabilité | Code à réécrire pour chaque LLM | Un serveur = tous les LLMs compatibles |
| Découverte d'outils | Défini manuellement dans le prompt | Le client découvre les outils automatiquement |
| Exécution | Le développeur gère l'exécution côté app | Le serveur MCP gère l'exécution |
| Scalabilité | Difficile avec beaucoup d'outils | Modulaire : ajouter/retirer des serveurs |
| Idéal pour | Cas simples, prototype rapide | Production, multi-outils, multi-modèles |
En résumé : le function calling reste pertinent pour des cas simples en mono-modèle. MCP est le choix logique dès que vous avez besoin de portabilité, de plusieurs outils, ou que vous travaillez avec plusieurs LLMs.
7. Les 10 serveurs MCP les plus populaires
| Serveur | Catégorie | Capacités | Installation |
|---|---|---|---|
| GitHub | Dev | PRs, issues, code review, navigation de repos | npx @modelcontextprotocol/server-github |
| Filesystem | Fichiers | Lecture/écriture de fichiers locaux avec contrôle d'accès | npx @modelcontextprotocol/server-filesystem |
| PostgreSQL | Base de données | Requêtes SQL, lecture de schémas, analyse de données | npx @modelcontextprotocol/server-postgres |
| Slack | Communication | Lecture/envoi de messages, recherche de canaux | Serveur communautaire (plusieurs options) |
| Playwright | Navigateur | Contrôle de navigateur, screenshots, tests E2E | npx @playwright/mcp |
| Notion | Productivité | Recherche de pages, création de notes, bases de données | Serveur officiel Notion |
| Google Drive | Productivité | Accès aux Docs, Sheets, Slides | Serveur communautaire |
| Memory | Mémoire | Graphe de connaissances persistant entre sessions | npx @modelcontextprotocol/server-memory |
| Brave Search | Web | Recherche web via l'API Brave | npx @modelcontextprotocol/server-brave-search |
| Fetch | Web | Récupération et conversion de pages web | npx @modelcontextprotocol/server-fetch |
8. Installer un serveur MCP
Avec Claude Desktop
Modifiez le fichier de configuration de Claude Desktop (claude_desktop_config.json) :
claude_desktop_config.json
Redémarrez Claude Desktop et les serveurs seront disponibles dans votre conversation.
Avec Claude Code (terminal)
Terminalclaude mcp add github
claude mcp add filesystem --path ~/projets
claude mcp add postgres --connection-string "postgresql://localhost/mabase"
Avec Cursor
Ajoutez la configuration dans .cursor/mcp.json à la racine de votre projet, avec le même format JSON que Claude Desktop.
npx, ce qui nécessite Node.js 18+ installé sur votre machine, même si votre application IA (Claude Desktop, Cursor) n'en a pas besoin directement.
9. Clients compatibles MCP
| Client | Éditeur | Type |
|---|---|---|
| Claude Desktop | Anthropic | Application desktop |
| Claude Code | Anthropic | CLI terminal |
| ChatGPT Desktop | OpenAI | Application desktop |
| Cursor | Cursor Inc. | IDE (fork VS Code) |
| Windsurf | Codeium | IDE |
| VS Code | Microsoft | IDE (via extensions) |
| Copilot (Windows) | Microsoft | Assistant OS |
| Zed | Zed Industries | Éditeur de code |
| Replit | Replit | IDE en ligne |
10. Sécurité et limites
MCP est puissant, mais pas sans risques. Dès avril 2025, des chercheurs en sécurité ont identifié plusieurs vulnérabilités :
• Injection de prompt : Un serveur MCP malveillant peut injecter des instructions cachées dans les données renvoyées au LLM.
• Permissions excessives : Certains serveurs demandent des accès trop larges (admin GitHub au lieu de read-only).
• Serveurs non vérifiés : N'importe qui peut publier un serveur MCP. Il n'y a pas encore de système de certification.
• Exfiltration de données : Un serveur malveillant pourrait accéder à des données sensibles via d'autres serveurs MCP connectés.
Bonnes pratiques
Commencez en read-only : Connectez d'abord des serveurs en lecture seule (docs, search) avant d'autoriser des actions d'écriture.
Vérifiez la source : Privilégiez les serveurs officiels (préfixe @modelcontextprotocol/) ou ceux maintenus par les éditeurs eux-mêmes.
Principe du moindre privilège : Donnez aux serveurs uniquement les permissions nécessaires. Un token GitHub read-only suffit pour la revue de code.
Isolez les environnements : Ne connectez pas de serveurs MCP à des bases de données de production sans contrôles d'accès stricts.
11. Créer son propre serveur MCP
Vous pouvez créer un serveur MCP custom pour connecter n'importe quel outil ou API interne. Les SDK officiels sont disponibles en Python et TypeScript (les plus utilisés), ainsi qu'en C# et Java.
Exemple minimal en TypeScript
mon-serveur-mcp.tsimport from "@modelcontextprotocol/sdk/server/mcp.js";
import from "@modelcontextprotocol/sdk/server/stdio.js";
const server = new McpServer();
// Définir un outil
server.tool("dire_bonjour", ,
async () => ()
);
// Lancer le serveur
const transport = new StdioServerTransport();
await server.connect(transport);
Exemple minimal en Python
mon_serveur_mcp.pyfrom mcp.server import Server
from mcp.server.stdio import stdio_server
app = Server("mon-serveur")
@app.tool()
async def dire_bonjour(nom: str) -> str:
"""Dit bonjour à quelqu'un."""
return f"Bonjour !"
async def main():
async with stdio_server() as (read, write):
await app.run(read, write)
Une fois créé, ajoutez votre serveur à la configuration de Claude Desktop ou Claude Code, et votre IA aura accès à l'outil dire_bonjour.
12. FAQ
stdio) tourne sur votre machine. Les données passent par le LLM que vous utilisez (Claude, ChatGPT…) pour être traitées, mais le serveur MCP lui-même n'envoie rien à Anthropic. Avec un serveur distant (Streamable HTTP), les données transitent aussi par l'infrastructure du serveur.🤖 Claude Code
💻 Vibe Coding
🖥️ Cursor IDE
🧠 Agents IA
📊 Comparatif LLM 2026
🏠 Hub Programmation
MCP (Model Context Protocol) — Guide en français (février 2026)
Sources : modelcontextprotocol.io · Anthropic · Wikipedia

