Model Context Protocol (MCP) — Plongée dans la spécification
À jour au 2026-10-05
Qu'est-ce que Model Context Protocol (MCP) ?
La négociation de capacités de MCP signifie qu'un client ne doit jamais présumer d'une capacité non déclarée — un serveur qui omet « resources » rend tout appel resources/list du client une violation de protocole, pas un no-op gracieux.
Le Model Context Protocol est un contrat précis et versionné qui régit la façon dont un agent d'IA communique avec le monde extérieur — les bases de données, les applications métier et les outils dont il a besoin pour réellement accomplir un travail plutôt que de simplement en parler. Pour un praticien de l'analytique SAP, comprendre la mécanique même du protocole, et pas seulement le fait que Joule ou un autre assistant « prend en charge MCP », est ce qui distingue quelqu'un capable d'évaluer les affirmations d'intégration d'un éditeur de quelqu'un qui doit les prendre pour argent comptant.
Ce qu'est réellement le protocole
MCP repose sur JSON-RPC 2.0, le même format léger d'appel de procédure à distance qui alimente déjà le Language Server Protocol derrière les éditeurs de code modernes. Chaque message est un simple objet JSON portant un nom de méthode, des paramètres optionnels et, pour les requêtes qui attendent une réponse, un identifiant utilisé pour faire correspondre la réponse à l'appel. Ce choix est délibéré et non accessoire : JSON-RPC est largement implémenté, possède une gestion d'erreurs prévisible et structurée, et se moque du tuyau par lequel il transite — le même format de message fonctionne aussi bien sur un pipe de processus local, une connexion en flux continu sur le web, qu'une socket persistante. Cette indépendance vis-à-vis du transport est ce qui permet au même protocole de servir aussi bien l'ordinateur portable d'un développeur qu'un déploiement multi-tenant en production, sans avoir à repenser la couche de messages.
Pourquoi c'est important
- Construit sur JSON-RPC 2.0 (même format que le Language Server Protocol), MCP hérite d'une sémantique d'erreur structurée prévisible et d'une neutralité de transport entre stdio, SSE ou WebSocket.
- La poignée de main initialize force client et serveur à déclarer explicitement leurs capacités, rendant le protocole compatible vers l'avant : les nouveaux types de capacités se dégradent gracieusement sur les anciens clients.
- Les outils sont la primitive la plus risquée car un appel tools/call peut écrire des données ou déclencher des workflows irréversibles — la qualité du schéma compte davantage sur cette primitive que sur resources ou prompts.
Points clés
- Format JSON-RPC 2.0 — requêtes, réponses, notifications ; la révision de spec actuelle est celle du 28/07/2026, qui a fait passer le protocole de base à des requêtes sans état et autonomes avec négociation de capacités par requête, supplantant l'ancien modèle à base de session du 18/06/2025.
- Deux transports subsistent — stdio pour le local (Claude Desktop, Cursor, serveur local SAP Build) et Streamable HTTP pour le distant ; la révision du 28/07/2026 abandonne le mécanisme de continuité de session Mcp-Session-Id comme exigence du protocole de base.
- Session en trois phases — initialize (version + capacités) → notifications/initialized → appels jusqu'à la fermeture — inchangée dans l'esprit, mais la négociation de capacités est désormais évaluée par requête plutôt que figée pour la durée d'une session avec état.
- Négociation de capacités — tools, resources, prompts, sampling, roots, plus la nouvelle capacité côté client elicitation (requêtes initiées par le serveur pour obtenir plus d'informations de l'utilisateur) ajoutée dans la révision du 28/07/2026.
- La révision du 28/07/2026 ajoute un cadre d'extensions formel et optionnel : Tasks (exécution asynchrone d'opérations longues avec sondage et handles durables), Skills over MCP (instructions de flux de travail d'agent structurées), et MCP Apps (éléments d'interface interactifs intégrés) — aucune n'est obligatoire, toutes sont négociées à l'initialize comme les capacités de base.
- Adopté par SAP, OpenAI, Google, Microsoft — la surface mono cross-vendeur ; le serveur MCP Analytics Legends est la référence interne.
- SAP implémente MCP comme serveur, mais pas encore de façon confirmée comme adoptant de la spec du 28/07/2026 : le serveur MCP d'administration BTP et l'Integration Suite MCP Gateway datent tous deux d'avant cette révision et devraient être revérifiés pour la prise en charge de l'elicitation et des extensions avant d'être cités comme pleinement à jour.
Termes employés sur cette page
- JSON-RPC 2.0
- Protocole léger d'appel de procédure distante sur un flux d'octets bidirectionnel ; définit les formes de message requête, réponse et notification sur lesquelles MCP superpose sa sémantique.
- Streamable HTTP transport
- Le transport distant de MCP, introduit dans la révision du 18/06/2025 avec une continuité de session via un en-tête Mcp-Session-Id ; la révision du 28/07/2026 a fait passer le protocole de base à des requêtes sans état et autonomes avec négociation de capacités par requête, supprimant ce mécanisme d'ID de session comme exigence de base. Un unique point de terminaison HTTP accepte toujours des POST JSON-RPC et peut basculer vers un flux server-sent-event pour des réponses progressives.
- Capability negotiation
- L'échange à l'initialisation par lequel client et serveur déclarent les fonctionnalités optionnelles (tools, resources, prompts, sampling, roots, elicitation) qu'ils prennent en charge ; les appels hors de l'ensemble négocié doivent être refusés. Depuis la révision du 28/07/2026, la négociation est évaluée par requête plutôt que figée pour la durée d'une session avec état.
- Initialize handshake
- Le premier échange obligatoire d'une session MCP : le client envoie initialize avec protocolVersion et capabilities, le serveur répond, le client envoie la notification notifications/initialized, puis les appels normaux peuvent commencer.
- Elicitation
- Une capacité côté client ajoutée dans la révision MCP du 28/07/2026, permettant à un serveur d'envoyer une requête initiée par lui-même au client pour obtenir des informations supplémentaires de l'utilisateur en cours d'interaction — la première primitive MCP qui va du serveur vers le client plutôt que l'inverse.
- Extensions framework
- Un mécanisme formel et optionnel ajouté dans la révision du 28/07/2026 pour des fonctionnalités MCP modulaires, spécialisées ou expérimentales au-delà du protocole de base — négocié à l'initialize comme toute capacité ; Tasks, Skills over MCP et MCP Apps sont les extensions notables au lancement.
- Tasks (extension MCP)
- Une extension MCP introduite le 28/07/2026 pour l'exécution asynchrone d'opérations longues, avec sondage, entrée en cours d'exécution et handles durables — répond aux cas où un appel d'outil devait auparavant se terminer de façon synchrone dans un seul cycle requête-réponse.
Sources
- Model Context Protocol — official specification
- Anthropic — Introducing the Model Context Protocol
- SAP Business AI — official product page
- Model Context Protocol — Specification revision 2026-07-28 (current, verified 2026-09)
- Model Context Protocol — Extensions overview (Tasks, Skills over MCP, MCP Apps)
- Model Context Protocol — Tasks extension (async long-running operations)
- GitHub — modelcontextprotocol/specification (authoritative schema.ts source)
- GitHub — modelcontextprotocol/typescript-sdk (reference client/server implementation)
- SAP Community — Public release of the MCP server for SAP BTP administration
- SAP Help Portal — Connect to MCP server for SAP BTP administration
- SAP Community — MCP Gateway in SAP Integration Suite: your APIs ready for the age of agents
- MCP specification 2026-07-28 — Key Changes (stateless protocol, server/discover, Multi Round-Trip Requests, deprecations)
- MCP specification 2026-07-28 — Transports (stdio and Streamable HTTP bindings; no server-initiated JSON-RPC requests)
- MCP specification 2025-03-26 — Transports (origin of Streamable HTTP and the Mcp-Session-Id header)
- MCP — Skills over MCP extension (discovering Agent Skills from MCP servers)
- MCP — MCP Apps overview (interactive UI extension)
- Google Cloud — Data Agent Kit is now GA (MCP tools and skills for coding agents; vendor announcement, 30 Sep 2026)
Fiche complète réservée aux abonnés. Ce que la fiche complète ajoute : le cadre de décision complet · la comparaison SAP · Snowflake · Databricks · Fabric · les pièges courants et leur correctif · l'aide-mémoire · les schémas d'architecture · les blocs de code · les chiffres à citer.