Communauté RSS DEV
Suivre
MCP Streaming HTTP Deep Dive
Le protocole Model Context Protocol (MCP) normalise la communication entre les clients et les serveurs d'IA en utilisant HTTP. MCP s'appuie sur HTTP Streamable, facilitant à la fois la communication requête/réponse et le streaming via un seul point de terminaison, généralement `/mcp`. Les clients initialisent une session en POSTant vers `/mcp`, échangeant des capacités pour établir des fonctionnalités partagées. Les clients peuvent ensuite envoyer des requêtes via POST au même point de terminaison pour exécuter des tâches. Les serveurs répondent soit avec des réponses JSON standard, soit avec des événements envoyés par le serveur (SSE) pour les opérations longues. SSE permet aux serveurs d'envoyer des mises à jour incrémentielles, indiquées par l'en-tête `Content-Type: text/event-stream`. Les clients peuvent utiliser la bibliothèque `sseclient` pour gérer les réponses en streaming. Les clients peuvent éventuellement ouvrir une connexion SSE en utilisant une requête GET vers le point de terminaison `/mcp` pour des mises à jour continues. HTTP Streamable simplifie l'approche par rapport aux modèles hérités avec des points de terminaison séparés. Le protocole est sans état au niveau du transport, mais conscient de la session au niveau du protocole. HTTP est préféré pour les réponses rapides et uniques, tandis que SSE est idéal pour les mises à jour de progression et les résultats en cours. Cette approche favorise la facilité d'implémentation, de débogage et l'expansion future du protocole.