Synaplan Multimodal Gateway
officielOffre la fonctionnalité complète du serveur Open Source en tant qu’exemple MCP.
Que pouvez-vous faire avec Synaplan Multimodal Gateway MCP ?
- Interrogez votre base de connaissances RAG — Posez des questions sur vos documents téléchargés et obtenez des réponses fondées sur votre propre contenu via le point de terminaison
POST /mcp. - Récupérez les mémoires IA — Interrogez les profils utilisateurs et le contexte stocké que Synaplan a capturé, exposés en tant qu'outils via le serveur MCP.
- Connectez des serveurs MCP externes — Ajoutez vos propres services compatibles MCP (CRM, wiki, n8n) sous Canaux afin que le planificateur IA puisse en extraire des données en direct.
- Traitez des requêtes en plusieurs étapes — Décomposez les tâches complexes en un graphe d'étapes (extraire, résumer, générer) qui diffusent des cartes de progression en direct pendant leur exécution.
Documentation
Synaplan
Gestion des connaissances alimentée par l'IA avec RAG, widgets de chat et intégration multi-canal.
Instance en ligne : web.synaplan.com | Documentation : docs.synaplan.com | API : Swagger UI
▶ Regarder la démo sur YouTube
Prérequis
- Docker + Docker Compose v2 (Docker Desktop sur macOS/Windows, ou Docker Engine + le plugin Compose sur Linux)
- Git
- 8 Go de RAM minimum (16 Go recommandés pour l'installation standard avec IA locale)
- ~9 Go d'espace disque libre pour l'installation standard (~5 Go pour la version minimale)
- Ports TCP libres
5173,8000,8082,8025,3307,6333,11435
Macs Apple Silicon (M1–M4) : Les images de conteneurs de Synaplan sont publiées pour
linux/amd64, elles s'exécutent donc en émulation sur Apple Silicon. Dans Docker Desktop → Paramètres → Général, activez « Utiliser Rosetta pour l'émulation x86/amd64 sur Apple Silicon » (macOS 13+) pour des conteneurs beaucoup plus rapides et stables qu'avec QEMU par défaut. Tout fonctionne sans cela — juste plus lentement, et la première construction prend plus de temps.
Démarrage rapide
git clone https://github.com/metadist/synaplan.git
cd synaplan
docker compose up -d
Ouvrez http://localhost:5173 — l'interface utilisateur est prête en ~2 minutes. Avec l'installation standard, les modèles Ollama locaux (gpt-oss:20b, bge-m3, ~14 Go au total) continuent de se télécharger en arrière-plan — le chat utilisant l'IA locale commencera à fonctionner une fois ce téléchargement terminé (docker compose logs -f backend affiche la progression). Pour une première expérience plus rapide, utilisez l'installation Minimale ci-dessous.
Options d'installation
| Mode | Commande | Taille | Idéal pour |
|---|---|---|---|
| Standard | docker compose up -d | ~9 Go | Fonctionnalités complètes, IA locale |
| Minimale | docker compose -f docker-compose-minimal.yml up -d | ~5 Go | IA cloud uniquement (Groq/OpenAI) |
Pour l'installation minimale, définissez votre clé API avant de démarrer la stack afin que le premier démarrage la voie (évite un redémarrage). Obtenez une clé gratuite sur console.groq.com :
echo "GROQ_API_KEY=your_key" >> backend/.env
docker compose -f docker-compose-minimal.yml up -d
Déjà démarré sans clé ? Ajoutez-la et redémarrez le backend :
echo "GROQ_API_KEY=your_key" >> backend/.env && docker compose restart backend
Accès
| Service | URL |
|---|---|
| Application | http://localhost:5173 |
| API | http://localhost:8000 |
| Documentation API | http://localhost:8000/api/doc |
| phpMyAdmin | http://localhost:8082 |
| MailHog | http://localhost:8025 |
Identifiants de connexion par défaut :
| Mot de passe | Niveau | |
|---|---|---|
| admin@synaplan.com | admin123 | ADMIN |
| demo@synaplan.com | demo123 | PRO |
| test@example.com | test123 | NOUVEAU (non vérifié) |
Fonctionnalités
- Chat IA — Ollama, OpenAI, Anthropic, Groq, Gemini
- Routage multi-tâches — Un planificateur IA décompose les requêtes complexes en un graphe de tâches (extraire → résumer → générer → répondre) et diffuse des cartes de tâches en direct pendant l'exécution des étapes
- Recherche RAG — Recherche sémantique de documents avec MariaDB VECTOR ou Qdrant
- Widget de chat — Intégrez-le sur n'importe quel site web (guide du widget)
- Support en direct — Couche WebSocket en temps réel (Centrifugo + Redis) : prise de contrôle humaine des chats du widget, indicateurs de frappe, notifications aux opérateurs (guide temps réel)
- WhatsApp — Intégration de l'API Meta Business
- Email — Réponses par email alimentées par l'IA
- Audio — Transcription Whisper (entrée) + synaplan-tts optionnel (sortie)
- Documents — PDF, Word, Excel, images avec OCR
- Mémoires IA — Profilage utilisateur avec recherche vectorielle Qdrant
- Système de feedback — Capture et analyse de feedback alimentées par Qdrant
- Plugins — Système de plugins non invasif (guide des plugins)
- Serveur MCP (accès anticipé) — Connectez des clients IA (Claude, Cursor, …) via le Model Context Protocol ; votre RAG et vos mémoires deviennent des outils sur
POST /mcp(guide MCP) - Client MCP (accès anticipé) — Connectez vos serveurs MCP (CRM, wiki, n8n, …) sous Canaux → Serveurs MCP ; le planificateur multi-tâches en extrait des données en direct via des nœuds DAG
mcp_fetch— lecture seule, protégé contre les SSRF, activation par sujet. Activé par des indicateursBCONFIGpréconfigurés (MCP.CLIENT_ENABLED,MULTITASK.MCP_FETCH_ENABLED—app:seedles active lors du déploiement ; une ligne explicite0sert d'interrupteur d'arrêt pour l'opérateur). Voir docs/MULTITASK_DATA_NODES.md
Base de données vectorielle Qdrant
Qdrant s'exécute en tant que service Docker interne — aucune configuration nécessaire. Il alimente les mémoires IA, la recherche de documents RAG et le système de feedback.
Démarre automatiquement avec docker compose up -d. Synaplan fonctionne parfaitement sans lui (les mémoires et la recherche vectorielle seront désactivées).
Temps réel et traitement en arrière-plan
Les deux fichiers compose démarrent également trois services internes (pas de ports hôtes, aucune configuration nécessaire) :
| Service | Rôle |
|---|---|
redis | Infrastructure partagée obligatoire : cache, sessions, verrous, limitation de débit, files de messages (Redis Streams), moteur Centrifugo |
centrifugo | Passerelle WebSocket pour les fonctionnalités en temps réel (prise de contrôle de chat en direct, indicateurs de frappe, notifications aux opérateurs) — les navigateurs se connectent en même origine via /connection/websocket |
worker | Consommateur Symfony Messenger qui exécute les tâches asynchrones (traitement IA, indexation de documents, exploration de widgets) |
Dans un cluster multi-nœuds, tous les nœuds partagent un seul Redis, de sorte que les événements WebSocket publiés sur un nœud atteignent les navigateurs connectés à n'importe quel autre. Détails : docs/REALTIME.md.
Synthèse vocale (Optionnel)
Pour la sortie vocale, exécutez synaplan-tts aux côtés de Synaplan :
git clone https://github.com/metadist/synaplan-tts.git && cd synaplan-tts && docker compose up -d
Commandes courantes
# Logs
docker compose logs -f backend
# Restart
docker compose restart backend
# Reset database
docker compose down -v && docker compose up -d
# Run tests
make test
# Code quality
make lint
Documentation
La documentation utilisateur et API se trouve sur docs.synaplan.com. Source : metadist/synaplan-docs.
Guides internes au dépôt (pour les développeurs travaillant sur cette base de code) :
| Guide | Description |
|---|---|
| Installation | Instructions d'installation détaillées |
| Configuration | Variables d'environnement, clés API |
| Développement | Commandes, tests, architecture |
| Temps réel / WebSockets | Couche temps réel Centrifugo + Redis, déploiement multi-nœuds |
| Système RAG | Recherche et traitement de documents |
| Widget de chat | Intégrer le chat sur des sites web |
| Configuration de l'API Meta Business | |
| Intégration du canal email |
Dépôts associés
| Dépôt | Objectif |
|---|---|
| synaplan | Application principale (ce dépôt) |
| synaplan-docs | Site de documentation publique (docs.synaplan.com) |
| synaplan-tts | Service TTS Piper optionnel |
| synaplan-sortx | Plugin de tri de documents + outil local |
| synaplan-charts | Charts Helm pour Kubernetes |
| synaplan-platform | Configurations de déploiement en production |
Structure du projet
synaplan/
├── backend/ # Symfony PHP API
├── frontend/ # Vue.js SPA
├── docs/ # Documentation
├── _docker/ # Docker configs
└── plugins/ # Plugin system
Contribuer
Voir AGENTS.md pour les directives de développement et les normes de code.
