Quand Choisir Chaque Option
Un guide clair basé sur votre situation spécifique et vos besoins.
Notre Recommandation
Quatre jours après l'échéance, le tableau a changé deux fois. La spécification est finale : le tag 2026-07-28 est passé en non-prerelease le 28 juillet à 16h47 UTC, l'objection de gouvernance à la bascule tombe donc. PyPI a suivi le même jour — pip install mcp résout désormais vers 2.0.0 (téléversé le 28 juillet à 13h45 UTC), et non plus vers la 1.28.1 encore en vigueur le matin de l'échéance. Ce qui n'a pas bougé, c'est le SDK TypeScript principal : @modelcontextprotocol/sdk reste en 1.30.0, publié le 2026-07-27 à 17h56 UTC. La ligne de partage n'oppose donc plus TypeScript et Python, mais les paquets serveur et Python d'un côté, et de l'autre l'unique paquet TypeScript principal qu'importe presque tout client sur mesure. Choisissez v2 sans état maintenant si vous développez des serveurs MCP en TypeScript (les paquets à portée @modelcontextprotocol/server, /node et /hono sont en 2.0.0 stable) ou en Python, et s'il vous faut une mise à l'échelle horizontale sans sessions colles, un routage résistant aux redémarrages et une exécution serverless propre. Restez en v1 avec état là où vous dépendez directement de @modelcontextprotocol/sdk — le code client et tout ce qui repose sur le SDK principal n'a aucun 2.x à installer — ou là où vos clients et adaptateurs n'ont pas été testés contre un serveur sans état. Épinglez dans tous les cas : quatre paquets npm à portée et le mcp de PyPI résolvent désormais latest vers 2.0.0, une installation non épinglée franchit donc seule une version majeure. Et rien n'a cassé le 28 juillet : les dépréciations de Roots, Sampling et Logging restent de simples annotations pendant au moins un an — migrez délibérément, paquet par paquet. Septembre 2026 rend l'asymétrie opérationnelle : avec la 2.2.0 et le backport v1.30.0 sortis le même jour, le confinement des redirections est devenu un minimum sur les deux lignes — mais la validation de l'émetteur, les contrôles token-resource et la gestion de session restent réservés à 2.x. La ligne v1 ne reçoit plus que de la maintenance, plus de progression ; si vous attendiez une raison de planifier la bascule, la voilà. Au 23/09/2026 : avec server et node tous deux en 2.1.0, la ligne 2.x est le défaut dans les deux familles de paquets — les épinglages 1.x restants relèvent désormais de la dette de transition plutôt que de la stabilité.
- Choisissez MCP v2 sans état quand...
- @modelcontextprotocol/server 2.0.0) ou en Python, où pip install mcp résout maintenant vers 2.2.0
- Vous avez besoin d'une mise à l'échelle horizontale sans sessions colles, ou d'un hébergement serverless et éphémère pour des outils distants
- Vous pouvez déplacer l'état de session vers les clients, des bases de données ou des stockages partagés avant la bascule
- Votre gouvernance exigeait un tag de spécification final avant la bascule — le tag 2026-07-28 est désormais final, plus un release candidate
- Choisissez MCP v1 avec état quand...
- Votre code importe directement @modelcontextprotocol/sdk : il reste en 1.30.0 et aucune version 2.x n'est disponible
- Votre logique serveur repose encore sur des sessions longue durée, ou vos clients et adaptateurs ne sont pas testés contre un serveur sans état
- Vous exploitez une infrastructure v1 épinglée où une montée de version majeure sur place est plus risquée que la marge de scalabilité gagnée
- Votre processus de déploiement exige que l'outillage client et les serveurs partagent la même version majeure