Sommaire
- 1. Qu'est-ce que MCP : un contrat commun entre l'IA et les outils
- 2. Ce qui s'est passé en deux ans
- 3. Fonctionnement : hôte, client, serveur et deux transports
- 4. Ce qui change dans la spécification en vigueur, 2026-07-28
- 5. Enregistrer un serveur dans les principales applications, et où se trouve la configuration
- 6. Des serveurs utilisables dès aujourd'hui, et où en trouver d'autres
- 7. Essayer en 10 minutes : faire lire un dossier à Claude Code
- 8. Créer son propre serveur MCP : un exemple minimal
- 9. Sécurité : l'essentiel des Security Best Practices officielles
- 10. MCP, API, Skills ou A2A : que choisir
- 11. Ne pas trop en installer ni trop en construire
- En résumé
- FAQ
MCP (Model Context Protocol) est une spécification ouverte qui permet aux applications d'IA (Claude Code, ChatGPT, VS Code, etc.) d'utiliser des outils et des données externes (GitHub, bases de données, systèmes internes…) d'une seule et même manière. Un outil construit une fois sous forme de « serveur MCP » peut être utilisé par toutes les applications compatibles MCP. Comme un câble qui se branche sur n'importe quel appareil, on l'appelle « l'USB-C de l'IA ».
Anthropic l'a publiée le 25 novembre 2024, puis l'a confiée en décembre 2025 à l'Agentic AI Foundation (AAIF), sous l'égide de la Linux Foundation. La version en vigueur de la spécification est la 2026-07-28 : avec elle, MCP est devenu sans état (stateless), il n'y a plus de « session » par connexion. Cet article présente le fonctionnement de MCP, ce qui change dans la spécification en vigueur, l'enregistrement des serveurs dans les principales applications, une prise en main en 10 minutes et les règles de sécurité officielles, d'après la spécification MCP et la documentation officielle de chaque éditeur (consultées le 12 novembre 2026).
Hôte (l'application d'IA)
Claude Code, ChatGPT, VS Code…
Ses clients se connectent chacun à un serveur et reçoivent la liste des outils
Serveur MCP
GitHub, Notion, le vôtre
Expose trois types d'éléments : Tools, Resources, Prompts
Outils et données
API, bases de données, fichiers
Ce que le serveur lit et écrit réellement
Sur votre propre machine, le transport est stdio ; à travers le réseau, Streamable HTTP. L'IA choisit quel outil utiliser et quand, et l'hôte obtient l'accord de l'utilisateur avant de l'appeler.
1. Qu'est-ce que MCP : un contrat commun entre l'IA et les outils
Avant MCP, chaque application d'IA se connectait aux outils à sa façon. Pour utiliser un outil « publier sur Slack » depuis trois applications, il fallait le construire trois fois. MCP a fait de cette couche de connexion une spécification unique. Avec M applications et N outils, les M×N intégrations d'autrefois deviennent M+N implémentations. La spécification indique elle-même s'inspirer du Language Server Protocol (LSP), qui a unifié la prise en charge des langages entre éditeurs.
Les trois éléments qu'un serveur peut exposer
| Fonction | De quoi il s'agit | Exemples |
|---|---|---|
| Tools (outils) | Des fonctions que l'IA appelle | Créer une issue, renvoyer un niveau de stock, interroger une base de données |
| Resources (ressources) | Des documents et des données que l'utilisateur ou l'IA lisent | Contenu de fichiers, schémas de tables, documents internes |
| Prompts | Des modèles d'instructions que l'utilisateur choisit et lance | Une procédure « relire cette PR » |
Dans l'autre sens, le client (côté application) peut offrir aux serveurs l'Elicitation, qui permet à un serveur de demander des informations supplémentaires à l'utilisateur. Roots (indiquer au serveur les dossiers où il peut travailler) et Sampling (permettre au serveur de demander au modèle de l'application de générer du texte), présents dans les versions précédentes, sont dépréciés dans la version en vigueur (section 4).
2. Ce qui s'est passé en deux ans
Les versions de la spécification MCP portent le nom de « la dernière date à laquelle des changements non rétrocompatibles ont été introduits ». Voici les principaux événements, en regard de ces versions.
- 25 novembre 2024Anthropic publie la spécification et les SDK. La première version est la 2024-11-05.
- 26 mars 2025La version 2025-03-26 ajoute Streamable HTTP pour les serveurs distants et une autorisation fondée sur OAuth, et déprécie l'ancien transport HTTP+SSE. Le même jour (heure des États-Unis), Sam Altman, d'OpenAI, annonce la prise en charge de MCP dans les produits d'OpenAI (selon TechCrunch).
- 18 juin 2025La version 2025-06-18 ajoute des résultats d'outils structurés (typés) et l'Elicitation.
- 25 novembre 2025La version 2025-11-25 ajoute Tasks pour les traitements longs (expérimental) et les Client ID Metadata Documents, qui permettent à un client de s'identifier par une URL.
- 9 décembre 2025Anthropic confie MCP à l'AAIF, cofondée par Anthropic, Block et OpenAI et soutenue par Google, Microsoft, AWS, Cloudflare et Bloomberg. L'annonce du jour fait état de plus de 10 000 serveurs MCP publics actifs et de plus de 97 millions de téléchargements mensuels des SDK Python et TypeScript, et cite ChatGPT, Cursor, Gemini, Microsoft Copilot et VS Code parmi les produits qui l'ont adopté.
- 28 juillet 2026La version en vigueur, 2026-07-28, supprime la poignée de main (initialize) et les sessions, et rend MCP sans état (section 4).
MCP s'est répandu parce que la spécification est une couche légère au-dessus de JSON-RPC 2.0 et de JSON Schema, facile à implémenter, parce qu'elle a été publiée tôt comme spécification ouverte, et parce que la donation l'a sortie du giron d'une seule entreprise. Les éditeurs concurrents s'appuyant sur la même spécification, il suffit de construire un outil une fois.
3. Fonctionnement : hôte, client, serveur et deux transports
La spécification définit trois rôles. L'hôte est l'application d'IA qu'utilise la personne, un client est le connecteur que l'hôte fait tourner pour chaque serveur (un par serveur), et le serveur est le côté qui expose outils et données. Les messages suivent JSON-RPC 2.0 : le client reçoit la liste des outils (tools/list), appelle avec des arguments l'outil choisi par l'IA (tools/call) et récupère le résultat.
| Transport | Où il tourne | Adapté à | Authentification |
|---|---|---|---|
| stdio | Votre propre machine (l'application lance le serveur comme un processus et dialogue via l'entrée et la sortie standard) | Fichiers, Git local, base de données locale | Le mécanisme d'autorisation de la spécification n'est pas utilisé ; les identifiants passent par des variables d'environnement ou équivalent |
| Streamable HTTP | Côté service (connexion par URL) | Services comme GitHub et Notion, serveurs partagés en interne | L'autorisation (Authorization) de la spécification, fondée sur OAuth 2.1 |
| HTTP+SSE | L'ancien transport distant | À ne plus utiliser pour du neuf | Déprécié (passer à Streamable HTTP) |
4. Ce qui change dans la spécification en vigueur, 2026-07-28
D'après la page des versions de la spécification, la version en vigueur (Current) est la 2026-07-28. Par rapport à la précédente, 2025-11-25, la façon de se connecter a beaucoup changé. Les principales différences, d'après le journal des modifications :
| Point | Jusqu'à 2025-11-25 | 2026-07-28 |
|---|---|---|
| Ouverture de la connexion | Une poignée de main initialize fixe la version et les capacités | Plus de poignée de main ; chaque requête porte la version et les capacités dans _meta, et le serveur annonce ses versions via server/discover |
| Sessions | Streamable HTTP utilise Mcp-Session-Id | Pas de session au niveau du protocole ; l'état qui couvre plusieurs appels passe par un identifiant émis par le serveur, transmis en argument d'outil |
| Notifications de changement | Un flux HTTP GET, resources/subscribe | Regroupées dans un flux unique subscriptions/listen |
| Requêtes venant du serveur | Le serveur envoie des requêtes (sampling/createMessage, elicitation/create, etc.) | Le serveur renvoie un résultat « informations requises » (input_required) et le client relance la même requête avec les réponses (Multi Round-Trip Requests) |
| Flux interrompus | Renvoi grâce aux identifiants d'événement SSE | Pas de reprise ; le client renvoie la requête avec un nouvel identifiant |
| Traitements longs (Tasks) | Fonction expérimentale du cœur | Déplacés vers une extension officielle (io.modelcontextprotocol/tasks) |
| Dépréciés | HTTP+SSE | Roots, Sampling, Logging, HTTP+SSE et l'enregistrement dynamique de clients OAuth (remplacé par les Client ID Metadata Documents) |
Selon la politique de cycle de vie des fonctions de la spécification, une fonction dépréciée reste au moins douze mois avant de pouvoir être retirée (ou 90 jours minimum en cas de risque de sécurité actif, comme une vulnérabilité publiée ou une exploitation avérée impossible à neutraliser dans le protocole lui-même). La spécification décrit aussi comment dialoguer, de façon rétrocompatible, avec ceux qui utilisent encore la poignée de main de la 2025-11-25 et des versions antérieures.
Ce que cela change pour ceux qui utilisent et ceux qui construisent
- Utilisateurs
Si votre application le prend en charge, rien à faire
Claude Code prend en charge la 2026-07-28 via son « v2 runtime », bâti sur MCP TypeScript SDK 2.0. Il demande à chaque serveur s'il gère la nouvelle version et l'utilise si c'est le cas ; sinon, il se connecte avec l'ancienne poignée de main. Le v2 runtime est le choix par défaut à partir de la v2.1.232 dans les sessions qui récupèrent les feature flags, et à partir de la v2.1.274 dans celles qui ne le font pas. Pour rester sur l'ancien protocole, définissez la variable d'environnement
MCP_PROTOCOL_NEGOTIATION=legacy(documentation MCP de Claude Code). - Développeurs
Passer aux SDK 2.x et ne pas adopter les fonctions dépréciées
Le SDK Python est en 2.x (
mcp2.3.0 sur PyPI, publié le 2 octobre 2026) et la série 2.x du TypeScript SDK prend en charge la 2026-07-28. En 2.x, les paquets TypeScript sont scindés en@modelcontextprotocol/serveret@modelcontextprotocol/client(2.4.0 sur npm), tandis que l'ancien@modelcontextprotocol/sdkreste en 1.x (1.32.2). Dans un nouveau serveur, passez les dossiers par les arguments d'outil ou la configuration plutôt que par Roots, et journalisez sur la sortie d'erreur standard ou via OpenTelemetry plutôt que par Logging. Pour un état qui couvre plusieurs appels, émettez des identifiants impossibles à deviner et liez-les à l'utilisateur (section 9). - Extensions
Des « extensions » optionnelles existent désormais hors du cœur
La page de présentation de la spécification met en avant Tasks pour les traitements longs, MCP Apps pour afficher des interfaces comme des graphiques ou des formulaires dans la conversation, et Skills over MCP pour distribuer des instructions d'agent via MCP (à l'étude dans un groupe de travail). Une extension n'est utilisée que si le client et le serveur la prennent en charge.
5. Enregistrer un serveur dans les principales applications, et où se trouve la configuration
Un même serveur MCP s'enregistre différemment, et dans un fichier différent, selon l'application. Voici ce qu'indique la documentation officielle de chaque éditeur (consultée le 12 novembre 2026).
| Application | Comment enregistrer | Emplacement de la configuration | Point d'attention |
|---|---|---|---|
| Claude Code | claude mcp add | ~/.claude.json pour un usage personnel, .mcp.json à la racine du projet pour le partager avec l'équipe | L'état de la connexion se lit avec /mcp |
| Claude Desktop | Modifier le fichier de configuration | claude_desktop_config.json (macOS : ~/Library/Application Support/Claude/, Windows : %APPDATA%\Claude\, Linux : ~/.config/Claude/) | Redémarrer l'application après modification (guide officiel) |
| Codex (CLI) | codex mcp add | La table [mcp_servers.nom] de ~/.codex/config.toml (les projets de confiance peuvent aussi utiliser .codex/config.toml) | Pour un serveur OAuth, codex mcp login nom |
| Gemini CLI | gemini mcp add | mcpServers dans settings.json (.gemini/ ou ~/.gemini/) | trust: true supprime toutes les confirmations d'appel, à réserver aux serveurs que vous maîtrisez (la page officielle indique en tête que, pour les utilisateurs du niveau gratuit et de Google One, Gemini CLI a été remplacé par Antigravity CLI le 18 juin 2026) |
| VS Code | « MCP: Add Server » dans la palette de commandes | Suivre l'assistant et choisir l'espace de travail ou le niveau global | La documentation prévient que les serveurs locaux exécutent du code sur votre machine |
| ChatGPT | « Add custom MCP server » dans Plugins (inutile d'activer d'abord le mode développeur) | Réglage dans l'interface de l'espace de travail (un point de terminaison HTTPS public ou un Secure MCP Tunnel) | Business, Enterprise et Edu sur le web uniquement (dans Business, seuls les administrateurs et propriétaires peuvent connecter ; dans Enterprise et Edu, les membres autorisés aussi ; seuls les administrateurs et propriétaires publient pour l'espace de travail) (aide d'OpenAI) |
Sources : la documentation MCP de Claude Code, de Codex, de Gemini CLI et de VS Code. Les connecteurs (serveurs MCP distants) ajoutés dans claude.ai apparaissent aussi dans /mcp de Claude Code, mais ne sont pas chargés si vous êtes connecté avec une clé d'API (que faire quand les connecteurs sont désactivés).
6. Des serveurs utilisables dès aujourd'hui, et où en trouver d'autres
| Serveur | Ce qu'il fait | Usage type |
|---|---|---|
| filesystem (serveur de référence) | Lit et écrit des fichiers uniquement dans les dossiers autorisés | Faire lire des documents ou du code à l'IA |
| fetch (serveur de référence) | Récupère une page web et la convertit dans un format lisible par l'IA | Donner une URL et obtenir un résumé |
| git (serveur de référence) | Lit l'historique d'un dépôt Git local et agit dessus | Faire expliquer des différences à partir de l'historique |
| GitHub (serveur distant géré par GitHub) | Issues, PR et opérations sur les dépôts | Relire des PR, transformer les bugs trouvés en issues |
| Notion (serveur distant géré par Notion) | Travaille avec votre espace Notion | Trouver et résumer des documents internes |
Pour trouver des serveurs, partez du MCP Registry, la liste des serveurs publics, et de l'Anthropic Directory, qui recense les connecteurs examinés par Anthropic. Le dépôt officiel ne conserve plus que sept serveurs de référence (Everything, Fetch, Filesystem, Git, Memory, Sequential Thinking, Time) ; son README les présente comme des exemples pédagogiques pour ceux qui construisent leurs propres serveurs et demande d'évaluer soi-même ses exigences de sécurité. Les serveurs GitHub, PostgreSQL, Slack et d'autres qui s'y trouvaient ont rejoint servers-archived (celui de GitHub est désormais assuré par GitHub lui-même, celui de Slack est maintenu par Zencoder). Ne suivez pas les anciens tutoriels à la lettre.
7. Essayer en 10 minutes : faire lire un dossier à Claude Code
Avec le serveur officiel filesystem, vous laissez Claude Code lire un seul dossier de votre choix. On suppose que Node.js (npx) est installé.
- Créez un dossier de test. Créez un dossier vide, sans rien d'important (par exemple
~/mcp-test), et placez-y un courtREADME.md. Le serveur ne pourra toucher qu'à ce dossier. - Enregistrez le serveur. Sous macOS et Linux, lancez la commande suivante. Tout ce qui suit
--est transmis tel quel comme commande de démarrage du serveur.
Sous Windows natif (hors WSL), l'enregistrement est identique, avec un dossier du typeclaude mcp add --transport stdio files -- npx -y @modelcontextprotocol/server-filesystem ~/mcp-testC:\mcp-test. Sinpxne démarre pas, enveloppez-le danscmd /c, comme l'indique le README du serveur de référence pour Windows.
Adaptez le chemin du dossier à votre environnement.claude mcp add --transport stdio files -- cmd /c npx -y @modelcontextprotocol/server-filesystem C:\mcp-test - Vérifiez la connexion. Lancez Claude Code, ouvrez
/mcpet vérifiez quefilesestconnected. S'il affichefailed, consultez comment corriger les erreurs de connexion d'un serveur MCP. - Utilisez-le. Demandez « Résume le README de mcp-test ». Claude Code demande l'autorisation avant d'utiliser l'outil ; regardez le nom de l'outil et ses arguments avant d'accepter.
- Faites le ménage. Une fois l'essai terminé, retirez-le avec
claude mcp remove files.
Les serveurs distants s'enregistrent par URL (par exemple claude mcp add --transport http notion https://mcp.notion.com/mcp) ; une fois enregistrés, terminez l'authentification depuis /mcp. Il existe trois portées : local, par défaut, ne concerne que vous dans ce projet, --scope project écrit dans .mcp.json à la racine du projet pour le partager avec l'équipe, et --scope user le rend disponible dans tous vos projets. Gardez en local les serveurs dont les identifiants ne doivent pas aller dans le contrôle de version.
8. Créer son propre serveur MCP : un exemple minimal
Utiliser des serveurs est déjà utile, mais MCP prend tout son sens quand vous ouvrez vos propres outils internes à l'IA. Avec le SDK Python (2.x), une douzaine de lignes suffisent. L'exemple est un serveur qui « renvoie le stock actuel ».
Installez le SDK avec uv add "mcp[cli]" (ou pip install "mcp[cli]"). L'option [cli] ajoute les commandes mcp dev et mcp run utilisées plus bas.
from mcp.server import MCPServer
mcp = MCPServer("inventory-server")
@mcp.tool()
def get_stock(sku: str) -> int:
"""Renvoie le stock actuel d'un SKU"""
# Interroger ici votre base de stock interne
return query_internal_db(sku)
if __name__ == "__main__":
mcp.run(transport="stdio")
- Tester
uv run mcp dev server.py, tiré du README du SDK, ouvre l'interface de test officielle (MCP Inspector) pour vérifier la liste des outils et les résultats des appels sans passer par une IA. - Enregistrer
Dans Claude Code :
claude mcp add --transport stdio inventory -- python server.py. La docstring de la fonction devient la description de l'outil que voit l'IA ; dites précisément ce qu'elle renvoie. - Partager
Pour le partager en interne,
uv run mcp run server.py --transport streamable-httpen fait un serveur HTTP. Respectez alors les règles d'autorisation et de jetons de la section 9.
Les SDK officiels sont TypeScript, Python, C#, Go, Rust et Ruby (Tier 1), Java (Tier 2), et Swift, PHP et Kotlin (Tier 3). Le Tier reflète le niveau de couverture fonctionnelle et l'engagement de maintenance, et chaque SDK adopte les nouvelles versions de la spécification à son propre rythme.
9. Sécurité : l'essentiel des Security Best Practices officielles
La spécification considère les outils comme de « l'exécution de code arbitraire » et pose que l'hôte doit obtenir le consentement explicite de l'utilisateur avant d'invoquer un outil. Les descriptions et annotations des outils sont à considérer comme non fiables, sauf si elles viennent d'un serveur de confiance. Les Security Best Practices officielles listent en outre les attaques propres à MCP et leurs parades.
| Attaque | Ce qui se passe | Ce qu'exige la spécification | Qui est concerné |
|---|---|---|---|
| Compromission d'un serveur MCP local | Une commande de démarrage glissée dans la configuration exécute des commandes arbitraires, par exemple l'envoi de vos clés SSH à l'extérieur | Les clients à configuration en un clic doivent afficher la commande exacte sans la tronquer et obtenir l'accord (MUST), et devraient exécuter les serveurs dans un bac à sable avec un minimum de privilèges (SHOULD) | Utilisateurs, développeurs d'applications |
| Transmission de jetons (token passthrough) | Un serveur accepte un jeton émis pour un autre service et le relaie tel quel à une API | Ne pas accepter de jeton qui n'a pas été émis pour le serveur MCP (MUST NOT) | Développeurs de serveurs |
| Confused deputy | Un serveur relais vers une API tierce saute l'écran de consentement et un code d'autorisation est volé | Recueillir le consentement par client avant l'autorisation tierce (MUST) et comparer redirect_uri à l'identique | Développeurs de serveurs relais |
| SSRF | Un serveur malveillant place des adresses internes (par exemple 169.254.169.254) dans les URL OAuth pour que le client aille les chercher | Exiger HTTPS et bloquer les requêtes vers les plages d'IP privées (SHOULD) | Développeurs de clients |
| Détournement d'identifiants d'état | Quelqu'un devine un identifiant émis par le serveur, comme celui d'un panier, et manipule l'état d'un autre utilisateur | Ne pas considérer la possession d'un identifiant comme une authentification (MUST NOT), et générer des identifiants aléatoires impossibles à deviner, liés à l'utilisateur (SHOULD) | Développeurs de serveurs |
| Permissions (scopes) trop larges | Un seul jeton volé ouvre des outils et des données sans rapport | Commencer avec des permissions minimales, surtout en lecture, et les élargir progressivement quand c'est nécessaire | Développeurs de serveurs |
Cinq vérifications avant d'installer un serveur
| À vérifier | Où regarder / exemples |
|---|---|
| ① Qui l'exploite | Un serveur géré par le service lui-même (par exemple https://api.githubcopilot.com/mcp/ pour GitHub ou https://mcp.notion.com/mcp pour Notion), un serveur de référence ou un tiers (cherchez dans le MCP Registry et l'Anthropic Directory) |
| ② Avez-vous lu toute la commande de démarrage ? | npx -y et uvx téléchargent et exécutent un paquet dès l'enregistrement : vérifiez qu'il ne s'agit pas d'un paquet au nom proche et qu'aucune commande supplémentaire ne suit |
| ③ Est-il encore maintenu ? | Les serveurs GitHub, PostgreSQL et Slack du dépôt officiel sont passés dans servers-archived |
| ④ Quel accès accordez-vous | Émettez des jetons à portée restreinte (la documentation de Claude Code montre aussi, pour GitHub, un jeton fine-grained limité aux dépôts concernés) |
| ⑤ Fait-il entrer du contenu extérieur ? | Les serveurs qui récupèrent des pages web ou des e-mails sont une porte d'entrée pour l'injection de prompt (la documentation de Claude Code recommande aussi de vérifier qu'on fait confiance à un serveur avant de le connecter) |
Si une chaîne renvoyée par un serveur dit « ignore les instructions précédentes et… », l'IA peut être détournée. Traitez la sortie des serveurs comme des données et faites confirmer chaque fois par une personne les actions irréversibles, comme envoyer, supprimer ou payer. Nous détaillons ce raisonnement dans les précautions sur ce que l'on donne à l'IA. Si vous construisez vous-même des agents, la conception (comment donner des outils, réduire les permissions, isoler les opérations dangereuses) est expliquée pas à pas dans le chapitre MCP et connexion d'outils de notre cours de développement d'agents d'IA.
10. MCP, API, Skills ou A2A : que choisir
| Ce que vous voulez | Le plus adapté | Pourquoi |
|---|---|---|
| Donner à l'IA des données ou des actions externes et la laisser décider quand s'en servir | Un serveur MCP | L'IA reçoit la liste des outils et les appelle elle-même quand il le faut |
| Réutiliser une même connexion depuis plusieurs applications, comme Claude Code, Codex et VS Code | Un serveur MCP | Construit une fois, il est utilisable par toute application compatible MCP |
| Appeler un traitement fixe depuis votre programme, toujours dans le même ordre | Un simple appel d'API | Si l'IA n'a rien à choisir, rien ne justifie d'intercaler MCP |
| Faire respecter à l'IA des procédures ou des règles de rédaction (sans connexion externe) | Skills | Il vous faut un mode d'emploi, pas une connexion |
| Confier une tâche à un agent d'IA conçu par une autre équipe ou une autre entreprise | A2A | En face se trouve un agent, pas un outil (si MCP est le lien « vertical » vers les outils, A2A est le lien « horizontal » entre agents) |
Ces quatre options ne s'excluent pas. Par exemple : récupérer des données fraîches via MCP, les mettre en forme avec la procédure d'une Skill, puis les transmettre à l'agent d'un autre service via A2A. Les serveurs MCP peuvent aussi être intégrés à des plugins Claude Code et distribués à l'équipe avec des skills et des hooks.
11. Ne pas trop en installer ni trop en construire
- Contexte
Les résultats des outils consomment du contexte
Claude Code utilise par défaut le tool search : au démarrage de la session, il ne charge que les noms des outils et les instructions des serveurs, et charge les définitions au besoin. Les résultats consomment tout de même du contexte : un avertissement s'affiche au-delà de 10 000 jetons pour une sortie, plafonnée par défaut à 25 000 jetons (réglable avec
MAX_MCP_OUTPUT_TOKENS). - Conception
Ne pas tout transformer en MCP
Plus une requête appelle d'outils, plus elle coûte en temps et en argent. Si l'IA n'a pas à choisir, un programme ou un appel d'API classique est plus rapide et plus fiable.
- Spécification
Construire en prévoyant que la spécification évoluera
Certaines versions, comme la 2026-07-28, changent la façon de se connecter. Les fonctions dépréciées restent en principe au moins douze mois (90 jours minimum face à un risque de sécurité actif), mais réexaminez vos serveurs au fil des mises à jour des SDK.
- Revenus
Votre serveur peut-il rapporter de l'argent ?
MCP n'a pas de mécanisme de facturation propre. Nous comparons canaux de vente et commissions dans peut-on monétiser un serveur MCP ?
En résumé
- MCP est une spécification ouverte qui relie les applications d'IA aux outils et données externes. Anthropic l'a publiée en novembre 2024 et l'a confiée à l'AAIF, sous l'égide de la Linux Foundation, en décembre 2025.
- Les rôles sont hôte, client et serveur. Les serveurs exposent des Tools, des Resources et des Prompts, via stdio ou Streamable HTTP.
- La version en vigueur est la 2026-07-28. Elle supprime la poignée de main et les sessions pour devenir sans état, et déprécie Roots, Sampling et Logging.
- Claude Code, Codex et Gemini CLI enregistrent un serveur avec une commande
mcp add, Claude Desktop avec un fichier de configuration, et VS Code depuis la palette de commandes. - Commencez par essayer le serveur de référence filesystem sur un dossier vide et vérifiez la connexion avec
/mcp. - Un serveur maison tient en une douzaine de lignes avec le SDK Python. Testez-le dans MCP Inspector avant de l'enregistrer.
- Les Security Best Practices officielles demandent d'afficher toute la commande de démarrage et d'obtenir l'accord, de refuser les jetons non émis pour le serveur, d'utiliser des identifiants impossibles à deviner et des permissions minimales.
FAQ
Q1. Faut-il une formation particulière pour utiliser MCP ?
Pas pour l'utiliser. Dans Claude Code, une ligne claude mcp add suffit ; dans Claude Desktop, quelques lignes dans un fichier de configuration. Même pour créer le vôtre, le SDK prend en charge les détails de JSON-RPC : vous pouvez commencer par écrire une fonction et lui ajouter un décorateur.
Q2. Peut-on utiliser MCP dans ChatGPT ?
Oui. D'après l'aide d'OpenAI consultée le 12 novembre 2026, connecter vos propres serveurs MCP à ChatGPT (prise en charge complète de MCP, écritures comprises) est possible sur ChatGPT Business, Enterprise et Edu, sur le web. Depuis Plugins, avec « Add custom MCP server », vous ajoutez le point de terminaison HTTPS public du serveur (ou un Secure MCP Tunnel) et acceptez l'avertissement de risque ; inutile d'activer d'abord le mode développeur. Dans Business, seuls les administrateurs et propriétaires peuvent connecter des serveurs ; dans Enterprise et Edu, les administrateurs peuvent aussi accorder cette autorisation à certains membres via le contrôle d'accès basé sur les rôles (RBAC). Seuls les administrateurs et propriétaires peuvent publier pour l'espace de travail, et la connexion depuis un mobile n'est pas possible. Détails dans l'aide d'OpenAI.
Q3. Les anciens serveurs cessent-ils de fonctionner avec la version 2026-07-28 ?
Pas du jour au lendemain. La spécification prévoit une procédure rétrocompatible pour dialoguer avec ceux qui utilisent la poignée de main de la 2025-11-25 et des versions antérieures, et Claude Code se connecte avec l'ancien protocole aux serveurs qui ne gèrent pas la nouvelle version. Les fonctions dépréciées restent aussi en principe au moins douze mois dans la spécification (90 jours minimum seulement face à un risque de sécurité actif). Pour vos propres serveurs, vérifiez lors du passage au SDK 2.x s'ils dépendent de Roots, Sampling ou Logging.
Q4. Ouvrir une base de données interne à l'IA via MCP, est-ce sûr ?
Tout dépend de la conception des permissions. Avec une connexion en lecture seule et, comme outils, uniquement des requêtes fixes aux arguments strictement validés, c'est bien plus sûr que de laisser l'IA écrire du SQL brut. Un outil qui « peut lancer n'importe quel SQL » est dangereux. Si vous le partagez en HTTP, n'acceptez que les jetons émis pour votre serveur, réduisez les permissions au minimum et conservez des journaux, comme indiqué à la section 9.
Q5. MCP et le function calling (appel d'outils), est-ce la même chose ?
Ils se situent à des niveaux différents. Le function calling est le format, au sein de l'API d'un modèle, pour dire « je veux appeler cette fonction avec ces arguments », tandis que MCP est le contrat de communication entre une application et des serveurs externes. Une application compatible MCP transmet au modèle, dans son format d'appel d'outils, la liste reçue des serveurs, puis envoie au serveur, via MCP, l'appel choisi par le modèle.