MCP Protocol : Comprendre et Utiliser le Model Context Protocol
Le protocole qui connecte les IA au monde réel
MCP (Model Context Protocol) est un standard ouvert créé par Anthropic qui connecte les IA à des outils externes via des serveurs. Architecture simple : Host, Client, Server. Plus de 500 serveurs disponibles (GitHub, PostgreSQL, Slack, filesystem). Support natif dans Claude Code et Cursor. Le protocole est jeune mais fonctionnel en production.
Un assistant IA capable de lire une base de données, de créer un ticket GitHub et de mettre à jour un fichier de configuration — le tout dans une seule conversation. C'est la promesse du Model Context Protocol, et ça fonctionne déjà.
MCP est devenu en quelques mois le standard de fait pour connecter les modèles de langage au monde extérieur. Pourtant, les explications disponibles en français restent rares et souvent superficielles. Ce guide couvre l'architecture, les serveurs disponibles, les cas d'usage concrets et les limites réelles du protocole.
MCP en une phrase
Le problème que MCP résout
Avant MCP, chaque intégration entre une IA et un outil externe nécessitait un connecteur spécifique. Connecter Claude à GitHub demandait un développement. Connecter Claude à PostgreSQL en demandait un autre. Connecter ChatGPT aux mêmes outils nécessitait de tout refaire. Le nombre d'intégrations explosait : N modèles × M outils = N×M connecteurs.
MCP inverse cette logique. Chaque outil expose un serveur MCP une seule fois. Chaque application IA implémente un client MCP une seule fois. N + M au lieu de N×M. Un outil connecté via MCP fonctionne automatiquement avec toutes les applications qui parlent le protocole.
L'analogie USB-C
Avant USB-C, chaque appareil avait son propre câble : micro-USB pour le téléphone, Lightning pour l'iPhone, USB-A pour le clavier, HDMI pour l'écran. USB-C a créé un standard unique. MCP fait la même chose pour les connexions entre IA et outils : un protocole unique, compatible avec tout.
Architecture technique
Host, Client, Server — Les trois rôles
L'architecture MCP repose sur trois composants :
Host : l'application utilisateur. C'est Claude Code, Cursor, ou n'importe quelle application qui embarque un modèle IA. Le host gère l'interface, les permissions et la sécurité.
Client : le composant qui maintient la connexion avec un serveur MCP. Le client est intégré dans le host. Un host peut connecter plusieurs clients à plusieurs serveurs simultanément — par exemple, un client pour GitHub et un autre pour PostgreSQL.
Server : le programme qui expose les capacités d'un outil. Un serveur MCP pour GitHub permet de lire les issues, créer des PRs, commenter du code. Un serveur MCP pour PostgreSQL permet d'exécuter des requêtes SQL. Chaque serveur est un processus indépendant.
Le flux d'une requête MCP
Le flux est simple :
- L'utilisateur demande à l'IA "liste les issues ouvertes du repo X"
- Le host transmet la requête au modèle IA
- Le modèle identifie qu'un outil MCP est nécessaire (GitHub)
- Le client envoie un appel au serveur MCP GitHub
- Le serveur exécute l'action (appel API GitHub) et retourne le résultat
- Le modèle intègre le résultat dans sa réponse
- L'utilisateur voit la liste des issues
Le modèle ne contacte jamais directement les APIs externes. Tout passe par les serveurs MCP, ce qui centralise la sécurité et les permissions.
Transport : stdio vs Streamable HTTP
MCP supporte deux modes de transport. Le mode stdio lance le serveur comme un processus local qui communique via l'entrée/sortie standard. C'est le mode par défaut, le plus simple, utilisé par la majorité des serveurs. Le mode Streamable HTTP (anciennement HTTP+SSE) expose le serveur sur un endpoint HTTP, utile pour les déploiements distants et les serveurs partagés en équipe.
En pratique, stdio couvre 90% des cas d'usage. Streamable HTTP est nécessaire quand le serveur tourne sur une machine distante ou quand plusieurs utilisateurs partagent le même serveur.
Les serveurs MCP en pratique
Serveurs officiels
Le dépôt officiel regroupe des serveurs maintenus par Anthropic et la communauté :
| Serveur | Usage |
|---|---|
| filesystem | Lecture/écriture de fichiers locaux |
| github | Issues, PRs, commits, code search |
| postgres | Requêtes SQL, schéma, migrations |
| slack | Messages, channels, recherche |
| google-drive | Documents, sheets, fichiers |
| puppeteer | Navigation web, screenshots |
| memory | Mémoire persistante entre sessions |
| fetch | Requêtes HTTP vers des APIs externes |
Chaque serveur s'installe en une commande npm ou pip et se configure dans un fichier JSON.
Serveurs communautaires
Au-delà des serveurs officiels, plus de 500 serveurs communautaires couvrent des cas d'usage spécifiques : Jira, Linear, Notion, Supabase, Stripe, Vercel, Firebase. Le registre mcp.so référence les serveurs disponibles avec leur documentation.
Créer un serveur MCP minimal
Un serveur MCP se crée en quelques lignes. Voici un exemple en TypeScript qui expose un outil de conversion de devises :
// currency-server.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({
name: "currency-converter",
version: "1.0.0",
});
server.tool(
"convert_currency",
"Convertit un montant d'une devise à une autre",
{
amount: z.number().describe("Montant à convertir"),
from: z.string().describe("Devise source (EUR, USD, GBP)"),
to: z.string().describe("Devise cible (EUR, USD, GBP)"),
},
async ({ amount, from, to }) => {
const rates: Record<string, number> = {
"EUR_USD": 1.08, "USD_EUR": 0.93,
"EUR_GBP": 0.86, "GBP_EUR": 1.16,
"USD_GBP": 0.79, "GBP_USD": 1.27,
};
const rate = rates[`${from}_${to}`] || 1;
const result = (amount * rate).toFixed(2);
return {
content: [{
type: "text",
text: `${amount} ${from} = ${result} ${to}`,
}],
};
}
);
const transport = new StdioServerTransport();
await server.connect(transport);Ce serveur se déclare ensuite dans la configuration MCP du host (Claude Code, Cursor) et devient immédiatement disponible dans les conversations.
Cas d'usage concrets
Connecter une IA à une base de données
Le serveur MCP PostgreSQL permet à l'IA d'interroger directement la base de données du projet. Au lieu de copier-coller des résultats de requêtes dans le chat, l'IA exécute les requêtes elle-même :
"Combien d'utilisateurs se sont inscrits cette semaine ?" → Le serveur exécute un SELECT COUNT(*) FROM users WHERE created_at >= NOW() - INTERVAL '7 days' et retourne le résultat. L'IA peut ensuite analyser les données, proposer des optimisations ou générer un rapport.
Automatiser des workflows GitHub
Le serveur MCP GitHub transforme l'assistant IA en collaborateur Git. En une conversation, l'IA peut lire une issue, écrire le code correspondant, créer une branche, committer et ouvrir une Pull Request. Claude Code utilise cette intégration nativement — c'est un des cas d'usage les plus matures, documenté dans le retour d'expérience Claude Code.
Intégrer un outil interne d'entreprise
C'est là que MCP prend tout son sens. Une entreprise avec un outil de ticketing interne crée un serveur MCP dédié en quelques heures. L'IA peut ensuite créer des tickets, les assigner, mettre à jour les statuts — sans quitter la conversation. Le serveur gère l'authentification et les permissions, l'IA n'a jamais accès aux credentials directement.
MCP dans les outils de vibe coding
Claude Code et MCP — Support natif
Claude Code est l'application MCP la plus mature. La configuration se fait dans un fichier .mcp.json à la racine du projet :
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_TOKEN": "ghp_xxx" }
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": { "DATABASE_URL": "postgresql://..." }
}
}
}Les serveurs démarrent automatiquement et leurs outils sont disponibles dans la conversation. Claude Code gère nativement la découverte des outils, l'appel des fonctions et l'affichage des résultats.
Cursor et les serveurs MCP
Cursor supporte MCP depuis début 2026. La configuration se fait dans les Settings → MCP. Les serveurs disponibles apparaissent comme des outils dans le chat et le mode Agent. L'intégration est fonctionnelle mais moins fluide que dans Claude Code — les appels MCP sont parfois plus lents et le feedback visuel est moins détaillé.
Les autres IDE
Windsurf a annoncé le support MCP mais l'implémentation est encore partielle. GitHub Copilot n'implémente pas MCP directement mais Microsoft travaille sur des extensions compatibles. Le support MCP est devenu un critère de choix entre les IDE IA — un outil référencé dans les meilleurs outils de vibe coding 2026.
Limites et maturité
Un protocole jeune
La spécification MCP évolue rapidement. La version actuelle (2025-11-05) a introduit des changements breaking par rapport aux versions précédentes. Les serveurs doivent être mis à jour régulièrement. La roadmap 2026 se concentre sur la scalabilité des transports, la communication inter-agents et la maturité du modèle de gouvernance.
Sécurité : permissions et sandboxing
Par défaut, un serveur MCP a accès à tout ce que ses credentials permettent. Le serveur PostgreSQL peut lire toute la base. Le serveur filesystem peut lire tout le disque. La sécurité repose sur deux niveaux : les credentials limitées (utilisateur en lecture seule pour la BDD) et les permissions du host (Claude Code demande confirmation avant chaque action sensible).
Le sandboxing au niveau du protocole est encore immature. La spécification prévoit des mécanismes de permissions granulaires, mais la plupart des serveurs ne les implémentent pas encore.
Performance sur les gros contextes
Chaque appel MCP ajoute des tokens au contexte de la conversation. Sur des requêtes qui retournent beaucoup de données (une table de 1000 lignes, un diff de 500 lignes), le contexte peut saturer rapidement. Les serveurs bien conçus paginent les résultats et résument les données volumineuses. Les serveurs mal conçus envoient tout d'un bloc et explosent la fenêtre de contexte.
L'essentiel
MCP résout un problème fondamental : connecter les IA au reste de l'écosystème logiciel sans multiplier les intégrations propriétaires. Le standard est jeune mais fonctionnel. Plus de 500 serveurs existent déjà, le support est natif dans Claude Code et Cursor, et le protocole est ouvert.
Pour commencer : installer un serveur MCP sur un projet existant prend 5 minutes. Le serveur GitHub ou filesystem est un bon point de départ. La documentation officielle couvre l'installation et la configuration pour chaque host.
Le protocole va continuer d'évoluer. Les développeurs qui maîtrisent MCP aujourd'hui auront un avantage quand le standard sera omniprésent — ce qui, au rythme actuel de l'adoption, ne devrait pas tarder.
Spoky
Fondateur de VibeCodeActu — https://vibecodeactu.com. Teste, compare et documente les outils de vibe coding au quotidien.