La SDK Python ModelContextProtocol (MCP) a publié sa première version candidate de la v2, v2.0.0rc1. Cette préversion est uniquement activable par l'utilisateur et introduit un nettoyage significatif de l'API ainsi qu'une alignement avec la spécification prévue pour le 2026-07-28.

  • La valeur par défaut du cache Client est désormais CacheConfig(), avec None pour le désactiver.
  • Context.client_id est supprimé ; utilisez ctx.request_context.meta ou get_access_token().client_id.
  • RFC7523OAuthClientProvider et JWTParameters sont supprimés au profit de ClientCredentialsOAuthProvider, PrivateKeyJWTOAuthProvider ou IdentityAssertionOAuthProvider.
  • Les fournisseurs d'identifiants client prennent désormais scope= au lieu de scopes=.
  • Le paramètre timeout de OAuthClientProvider est supprimé car il n'était pas utilisé.
  • message_handler ne reçoit que ServerNotification | Exception ; le bras RequestResponder obsolète et le module mcp.shared.session ont disparu.
  • FileResource.is_binary est remplacé par un champ encoding.
  • Les variables d'environnement MCP_* pour MCPServer ne sont plus annoncées, et pydantic-settings est retiré des dépendances d'exécution.
  • Les serveurs HTTP streamables rejettent les corps de requête dépassant 4 MiB avec une erreur HTTP 413.
  • La clé _meta de clientInfo est optionnelle, et serverInfo a été déplacée dans le _meta de chaque résultat.
  • Les serveurs stdio décident désormais de l'ère du protocole à partir de la requête d'ouverture du client, permettant l'utilisation des fonctionnalités de l'ère 2026 via stdio.
  • stdio_server() isole stdin/stdout pour éviter la corruption de l'impression dans le flux JSON-RPC.
  • Les résultats des outils validés contre un schéma de sortie sont plus rapides grâce aux validateurs de schéma JSON mis en cache.

La version stable v2 est prévue pour le 2026-07-28, simultanément avec la publication de la spécification. Il est conseillé aux utilisateurs d'épingler des versions exactes jusqu'à cette date.