🔌 MCP en profondeur

Applied AI — Niveau Avancé · Session 5 · Yann Isola
Préparation Claude Certified Architect

1 · Architecture Hôte ↔ Client ↔ Serveur — flux JSON-RPC animé

MCP (Model Context Protocol — protocole de contexte de modèle) fait circuler des messages JSON-RPC 2.0 entre un Hôte (l'application), des Clients (un par serveur — relation 1:1 stricte) et des Serveurs (fournisseurs d'outils). Lancez un scénario et observez chaque message réel transiter sur le fil.

🖥️ HÔTE

Application (IDE, chat) — consentement & politiques

🔗 CLIENT

Géré par le SDK — 1 client par serveur
Transport
stdio (JSON-RPC / stdin-stdout)

⚙️ SERVEUR

Processus isolé — Tools · Resources · Prompts
Choisissez un scénario ci-dessus.
— Console JSON-RPC : les messages apparaîtront ici —
🎓 Réflexes certification : relation Client:Serveur = 1:1 · requête = id + réponse attendue · notification = sans id · la négociation de capacités au handshake garantit la compatibilité évolutive.

2 · Tool, Resource ou Prompt ? Le sélecteur de primitive

La question d'examen n° 1 : la bonne primitive ne dépend pas de « lecture ou écriture », mais de qui contrôle l'invocation. Décrivez votre cas d'usage en répondant aux questions — ou chargez un cas pré-rempli — et obtenez la recommandation justifiée.

Cas pré-remplis :

1. L'opération modifie-t-elle un état ou déclenche-t-elle un effet de bord (écrire, envoyer, rembourser…) ?

2. Qui doit décider du moment de l'invocation ?

3. La donnée doit-elle notifier ses changements en continu ?

🎓 Règle de poche : Tool = le modèle décide · Resource = l'application décide · Prompt = l'utilisateur décide. ⚠ Piège : une lecture déclenchée par le modèle reste un Tool.

3 · stdio vs Streamable HTTP — le comparateur de transport

Répondez aux cinq questions d'architecture : chaque réponse fait pencher la balance. Rappel : SSE seul est déprécié — remplacé par Streamable HTTP.

1. Où s'exécute le serveur MCP par rapport à l'hôte ?
2. Combien d'utilisateurs le serveur doit-il servir ?
3. Quel mécanisme d'authentification est requis ?
4. Le serveur doit-il accéder directement aux fichiers ou périphériques locaux de l'utilisateur ?
5. Comment le serveur sera-t-il déployé et opéré ?
0
stdio
sous-processus local · JSON-RPC sur stdin/stdout
0
Streamable HTTP
distant · POST + flux · sessions · OAuth 2.1

Matrice de référence (à connaître pour l'examen)

CritèrestdioStreamable HTTP
LocalisationMême machine que l'hôteMachine distante / cloud
Utilisateurs1 (local)N (mutualisé)
AuthentificationHéritée du système d'exploitationOAuth 2.1 / jetons bearer
Ressources localesAccès directImpossible (ou via tunnel)
DéploiementAvec l'application hôteService web opéré
LatenceMinimale (pas de réseau)Dépend du réseau
Journalisationstderr uniquement (stdout = flux JSON-RPC !)Logs applicatifs standards
🎓 Règle de poche : fichiers locaux & mono-utilisateur → stdio · service partagé, authentifié, scalable → Streamable HTTP · « SSE » comme transport courant → réponse fausse à l'examen (déprécié).