Exécutez l’Agentic Data Stack complet en local avec Docker Compose pour interroger vos données dès la première connexion. Une seule commande docker compose up lance LibreChat, le serveur MCP ClickHouse, ClickHouse et Langfuse pour l’observabilité.
Prérequis
- Docker avec le plugin Compose (Compose v2 ou version ultérieure).
- Git, pour cloner le dépôt.
- Une clé API d’un fournisseur de modèles (comme OpenAI, Anthropic ou Google). L’agent a besoin d’un modèle pour répondre aux questions ; fournissez donc une clé lors de la configuration ou ajoutez-en une dans l’UI de LibreChat avant votre première conversation.
Déployer la stack
Cloner le dépôt
git clone https://github.com/ClickHouse/agentic-data-stack
cd agentic-data-stackLe dépôt inclut un docker-compose.yml à la racine, donc toute la stack démarre avec une seule commande. Voir Architecture pour la liste complète des services.
Exécuter le script de préparation de la démo
./scripts/prepare-demo.shCela génère un fichier .env avec les identifiants de chaque service, puis propose un menu interactif pour configurer les API keys du fournisseur de votre choix. Vous pouvez aussi définir ces clés directement dans le fichier .env. Tout fournisseur ignoré reste défini sur user_provided, ce qui vous permet d'ajouter votre propre clé plus tard dans l'UI de LibreChat.
Au premier démarrage, la stack crée un utilisateur admin à partir de .env. Les identifiants par défaut sont admin@admin.com / password.
Définir vos propres identifiants de connexion
Exécutez generate-env.sh avec ces variables avant prepare-demo.sh :
USER_EMAIL="you@example.com" USER_PASSWORD="supersecret" USER_NAME="YourName" ./scripts/generate-env.shprepare-demo.sh détecte alors le fichier .env existant et passe directement à la configuration des API keys.
Démarrer les services en arrière-plan
docker compose up -dL'ordre de démarrage est géré automatiquement. LibreChat ne démarre qu'une fois le serveur MCP opérationnel, afin que sa connexion à ClickHouse soit prête dès le premier chargement.
Ouvrir LibreChat et se connecter
Une fois la stack démarrée, les services sont accessibles dans votre navigateur :
- LibreChat (UI de chat) — http://localhost:3080
- Langfuse (observabilité) — http://localhost:3000
- Admin Panel (configuration de LibreChat dans le navigateur) — http://localhost:3081
- MinIO console (object storage ; identifiants dans
.env) — http://localhost:9091
Connectez-vous à LibreChat avec les identifiants admin de votre fichier .env.
Sélectionner un modèle
Un modèle est sélectionné par défaut. Si vous souhaitez le changer, ouvrez le sélecteur de modèles et choisissez celui que vous voulez utiliser.

Si vous n'avez pas défini de clé de fournisseur pendant la configuration, ajoutez-en une dans l'UI.
Définir une clé de fournisseur dans l'UI
Ouvrez le sélecteur de modèles et cliquez sur Set API Key à côté du fournisseur.

Collez votre clé dans la boîte de dialogue et cliquez sur Submit. Vous pouvez définir une date d'expiration, ou laisser la clé sans expiration.

Sélectionner le serveur MCP
La stack préconfigure ses serveurs MCP dans le librechat.yaml de LibreChat. Dans la zone de saisie des messages, cliquez sur MCP Servers et sélectionnez ClickHouse-Local.
Sélectionnez ClickHouse-Cloud à la place pour utiliser un service ClickHouse Cloud.

Poser votre première question
Par exemple :
Quelles bases de données et tables sont disponibles, et combien de lignes contient la plus grande table ?
L'agent utilise les outils du serveur MCP pour lister les bases de données et les tables, exécuter des requêtes en lecture seule sur ClickHouse et formuler une réponse à partir des résultats. Vous n'avez pas besoin d'écrire de SQL.

Arrêter ou réinitialiser la stack
Arrêtez les services sans rien supprimer :
docker compose downPour supprimer tous les conteneurs et effacer tous les volumes afin de repartir sur une base propre, utilisez le script de réinitialisation de la stack :
./scripts/reset-all.shArchitecture
docker-compose.yml est un point d’entrée minimal qui inclut quatre fichiers Compose :
| Fichier Compose | Définit |
|---|---|
langfuse-compose.yml |
Langfuse et ses services associés (ClickHouse, PostgreSQL, Redis, MinIO) |
clickhouse-mcp-compose.yml |
Le serveur MCP ClickHouse |
librechat-compose.yml |
LibreChat et ses services associés (MongoDB, Meilisearch, pgvector, RAG API) |
admin-panel-compose.yml |
L’Admin Panel de LibreChat |
Deux éléments permettent le démarrage avec une seule commande :
- Contrôles d’état et ordre de démarrage. Compose s’appuie sur des contrôles d’état pour ordonner le démarrage. Le serveur MCP attend que ClickHouse soit prêt, et LibreChat attend le serveur MCP.
- Fichier d’environnement partagé. Le
.envcontient les identifiants et les paramètres de connexion de chaque service, définis de manière cohérente pour que les services puissent se joindre entre eux. Par exemple, le serveur MCP se connecte à ClickHouse avec les identifiants ClickHouse du.env. LibreChat reçoitLANGFUSE_PUBLIC_KEY,LANGFUSE_SECRET_KEYetLANGFUSE_BASE_URL, de sorte que chaque exécution est automatiquement tracée dans Langfuse dès le départ.
ClickHouse joue deux rôles dans la stack : il sert à la fois de backend de stockage pour Langfuse et de base de données que votre agent interroge via le serveur MCP.
Étapes suivantes
- Découvrez le rôle de chacun des composants de la stack : ClickHouse MCP server, LibreChat et Langfuse.
- Consultez la vue d’ensemble pour comprendre comment la stack s’organise.
- Pour essayer la stack avec des jeux de données publics sans rien installer, utilisez AgentHouse, la démo hébergée.