Architecture Chatbotaurus
Chatbotaurus est une plateforme MGaaS (MCP Gateway as a Service) 100% souveraine europeenne. Elle combine un agent IA conversationnel, un gateway MCP avec 40+ connecteurs, et une infrastructure EU complete.
Composants Principaux
Chatbotaurus fonctionne avec quatre composants principaux : le frontend, le backend, le MCP Gateway et l'infrastructure EU.
-
Frontend : Application Next.js 16 avec React 19 et shadcn/ui. Interface chat moderne avec composants dynamiques, workflows visuels et dashboard d'administration.
-
Backend : Serveur Node.js/Express en TypeScript. Gere l'authentification (Keycloak SSO), les workflows, la memoire contextuelle et l'orchestration des agents IA.
-
MCP Gateway : Passerelle MCP utilisant le transport Streamable HTTP (spec 2025-03-26). Expose 40+ connecteurs vers des services EU (Odoo, n8n, Matomo, etc.) via le protocole JSON-RPC 2.0.
-
Infrastructure EU : 23 conteneurs Podman sur VPS1 (Core) + services metier sur VPS2 (Demo). PostgreSQL, Qdrant, Valkey, Ollama, Keycloak, Vault, Traefik, etc.
Architecture 4 Couches PODIUM
COUCHE 1: Reasoning Engine
ToTLiteEngine, SelfConsistencyEngine, ChainOfVerification, MCTSLite
COUCHE 2: Agent Orchestration
AgentGatewayMGaaS, MoELiteRouter, TaskDecomposer, AgentMCPRegistry
COUCHE 3: Tool Intelligence
RAREngine, DynamicToolPruner, ToolPatternMemory
COUCHE 4: Execution & Validation
SpeculativeDecoder, ParallelStreamingExecutor, GroundingEngine
Transport MCP : Streamable HTTP
Le MCP Gateway utilise le transport Streamable HTTP conforme a la spec MCP 2025-03-26 :
POST /api/v1/mcp -> JSON-RPC 2.0 (initialize, tools/list, tools/call)
GET /api/v1/mcp -> SSE stream notifications (optionnel)
DELETE /api/v1/mcp -> Terminer session
GET /api/v1/mcp/catalog -> Catalogue REST public
Les sessions sont gerees via le header Mcp-Session-Id avec un TTL de 30 minutes. Le batching supporte jusqu'a 50 requetes JSON-RPC par batch.
Catalogue Business
Le catalogue business expose les serveurs MCP deployables :
GET /api/v1/mcp/catalog-business -> Liste serveurs
GET /api/v1/mcp/catalog-business/stats -> Statistiques
GET /api/v1/mcp/catalog-business/:id -> Detail serveur
POST /api/v1/mcp/catalog-business/:id/deploy -> Deploiement one-click
GET /api/v1/mcp/catalog-business/:id/status -> Statut conteneur
GET /api/v1/mcp/catalog-business/:id/security -> Rapport Trivy + SBOM
Connecteurs MCP
Chatbotaurus fournit 40+ connecteurs MCP organises en categories :
| Categorie | Exemples | Protocole |
|---|---|---|
| ERP/CRM | Odoo, Dolibarr | XML-RPC, REST |
| Workflows | n8n | REST API |
| Analytics | Matomo | REST API |
| Collaboration | Nextcloud, Rocket.Chat, Jitsi | WebDAV, REST |
| Recherche EU | OpenAlex, CORDIS, Eurostat | REST API |
| Securite | Vault, Keycloak, Wazuh | REST API |
Modeles IA
| Modele | Role | RAM |
|---|---|---|
| qwen3:8b | Raisonnement principal (ToT, MCTS, CoV) | ~8 Go |
| tomng/nanbeige4.1:3b | Chat rapide, tool calling, draft | ~4.2 Go |
| qwen3-embedding:0.6b | Embeddings (1024 dimensions) | ~300 Mo |
Tous les modeles sont executes localement via Ollama. Aucun appel vers des services IA US.
Gestion des Erreurs
Chatbotaurus capture et gere les erreurs a chaque niveau :
- Erreurs de transport MCP (JSON-RPC invalide, session expiree)
- Erreurs de connecteurs (timeout, authentification, service indisponible)
- Erreurs d'inference IA (hallucination detectee, timeout modele)
- Degradation gracieuse sur 5 niveaux (FULL -> TEMPLATE_ONLY)
Pour plus de details, voir le guide Gestion des Erreurs.