DevOps
Un pattern de résilience qui enveloppe les appels MCP avec des barrières conscientes de la santé utilisant trois états : Fermé (normal), Ouvert (échecs détectés, échec rapide), et Semi-Ouvert (test de récupération). Prévient les échecs en cascade quand les outils deviennent non réactifs. Essentiel pour la fiabilité de niveau production.
Code FlowZap complet
Host { # Host Application
n1: circle label="User sends prompt"
n2: rectangle label="Agent prepares MCP call"
n3: rectangle label="Pass call to circuit breaker"
n4: rectangle label="Receive result or error"
n5: rectangle label="Agent responds to user"
n1.handle(right) -> n2.handle(left)
n2.handle(right) -> n3.handle(left)
n3.handle(bottom) -> CB.n6.handle(top) [label="MCP tool call"]
n4.handle(right) -> n5.handle(left)
}
CB { # Circuit Breaker
n6: rectangle label="Check circuit state"
n7: diamond label="Circuit open?"
n8: rectangle label="Forward to MCP server"
n9: rectangle label="Fast-fail with error"
n10: diamond label="Call succeeded?"
n11: rectangle label="Record success"
n12: rectangle label="Record failure and check threshold"
n6.handle(right) -> n7.handle(left)
n7.handle(right) -> n8.handle(left) [label="Closed"]
n7.handle(bottom) -> n9.handle(top) [label="Open"]
n8.handle(bottom) -> MCPServer.n13.handle(top) [label="Forward request"]
n9.handle(top) -> Host.n4.handle(bottom) [label="CircuitOpenError"]
n10.handle(right) -> n11.handle(left) [label="Yes"]
n10.handle(bottom) -> n12.handle(top) [label="No"]
n11.handle(top) -> Host.n4.handle(left) [label="Return result"]
n12.handle(top) -> Host.n4.handle(right) [label="Return error"]
}
MCPServer { # MCP Server
n13: rectangle label="Attempt tool execution"
n14: rectangle label="Return result or error"
n13.handle(right) -> n14.handle(left)
n14.handle(top) -> CB.n10.handle(bottom) [label="Execution outcome"]
}
Modèles associés
DevOps
Le pattern MCP le plus simple — connexion directe entre application hôte et serveur MCP via stdio ou HTTP. Pas de sauts supplémentaires, latence minimale, débogage facile. Parfait pour les MVP, hackathons, et configurations mono-équipe où la gouvernance sécurité n'est pas encore une préoccupation.
DevOps
Un pattern de passerelle API situé entre les agents et les serveurs MCP pour gérer l'authentification, les limites de taux et l'audit. La passerelle applique OAuth 2.0, SAML, SSO, limitation de taux au niveau outil, et quotas par équipe. Essentiel pour les déploiements MCP multi-équipes ou multi-locataires.
DevOps
Un pattern de routage qui place un routeur sémantique devant les outils MCP pour que le LLM ne voie que le sous-ensemble dont il a besoin. Utilise des embeddings vectoriels et la similarité cosinus pour matcher l'intention utilisateur aux outils dynamiquement. Réduction jusqu'à 96% des tokens d'entrée avec les grands catalogues d'outils.
DevOps
Un pattern maillage multi-agents où les agents communiquent via un broker de contexte partagé soutenu par MCP. Permet l'accès coordonné aux outils et la synchronisation d'état à travers plusieurs agents spécialisés (planificateur, codeur, réviseur, opérateur). Supporte les patterns d'interaction orchestrés et chorégraphiés.
DevOps
Une couche de mise en cache et compression située entre les agents et les serveurs MCP, interceptant les requêtes de contexte redondantes avant qu'elles n'atteignent le réseau. Utilise l'invalidation de cache basée sur TTL, compression Brotli, et cache sémantique. Réduction jusqu'à 95%+ des tokens et factures LLM significativement réduites.
Architecture
Diagramme d'architecture de résilience par disjoncteur montrant la machine à états complète avec les états fermé, ouvert et semi-ouvert, le suivi du seuil de défaillance, le timer de récupération et les stratégies de réponse de repli pour protéger les services des défaillances en cascade. Ce modèle visualise le pattern disjoncteur en détail, incluant comment le disjoncteur transite entre les états en fonction des compteurs de succès et d'échec. Essentiel pour construire des microservices tolérants aux pannes qui se dégradent gracieusement sous charge.