dbt MCP Server

dbt MCP Server

Le serveur dbt MCP est une implémentation de serveur open-source qui permet aux applications AI et aux agents LLM d'interagir de manière programmée et sécurisée avec les projets dbt via le protocole standard Model Context Protocol, facilitant un accès fluide, basé sur des outils, à l'CLI de dbt, à la couche sémantique et aux API de découverte depuis des clients pris en charge.

Author: dbt-labs


Voir le Protocole

Qu'est-ce que le serveur dbt MCP ?

Le serveur dbt MCP est un pont entre dbt et les interfaces alimentées par l'IA, exposant les fonctionnalités de base de dbt, les métadonnées et les sémantiques analytiques en tant qu'outils standardisés pouvant être appelés par des LLM et des applications via le MCP. Cela permet aux utilisateurs d'automatiser, d'interroger et de gérer leurs flux de travail dbt et leurs métriques de données à partir d'interfaces en langage naturel et d'agents pilotés par LLM avec un contrôle d'accès granulaire et une intégration basée sur un protocole cohérent.

Comment configurer le serveur dbt MCP

  1. Installez le serveur via le script fourni :
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/dbt-labs/dbt-mcp/refs/heads/main/install.sh)"
    
    Cela installe ou met à jour le serveur dbt MCP dans votre répertoire personnel sous ~/.dbt-mcp/.
  2. Définissez les variables d'environnement pour les paramètres requis tels que DBT_HOST, DBT_TOKEN, et les chemins spécifiques au projet (DBT_PROJECT_DIR, etc.). Vous pouvez personnaliser quels groupes d'outils (CLI, couche sémantique, API de découverte) sont activés via des drapeaux comme DISABLE_DBT_CLI=false, ou configurer des fonctionnalités sémantiques/à distance au besoin.
  3. Configurez le client MCP (ex. : Claude Desktop, Cursor, VS Code) en spécifiant la commande du serveur, les arguments et la configuration de l'environnement. Ajoutez les détails du serveur dans les fichiers de configuration MCP respectifs (claude_desktop_config.json, mcp.json, settings.json), en mettant à jour le chemin exécutable pour votre système d'exploitation.

Comment utiliser le serveur dbt MCP

  • Connectez votre client MCP (tel que Claude Desktop, Cursor ou VS Code) au serveur dbt MCP en ajoutant sa configuration dans les paramètres de votre client.
  • Démarrez le serveur MCP en utilisant la commande installée avec les arguments corrects. Le serveur expose maintenant les outils dbt à vos clients connectés.
  • À partir du client, invoquez les fonctionnalités dbt à l'aide de requêtes en langage naturel ou via des commandes d'interface utilisateur ; le client traduira celles-ci en appels d'outils MCP, qui seront ensuite exécutés par le serveur contre votre projet dbt.
  • Gérez, surveillez ou arrêtez le serveur depuis l'interface MCP de votre client ou via la ligne de commande.
  • Pour une utilisation basée sur l'CLI, assurez-vous que les environnements et dépendances sont correctement définis, et passez toujours en revue quels groupes d'outils sont actifs.

Caractéristiques clés

  • Accès fluide, basé sur un protocole, aux API de base, sémantiques et de découverte de dbt directement depuis les interfaces AI
  • Exécution sécurisée des commandes CLI dbt, récupération de métriques sémantiques et requêtes de métadonnées de projet
  • Configuration granulaire et activation des groupes d'outils (CLI, couche sémantique, découverte)
  • Prêt à l'intégration avec des clients LLM modernes (Claude Desktop, Cursor, VS Code, et plus)
  • Moins de friction pour les agents LLM pour effectuer à la fois des opérations dbt en lecture seule et des opérations modifiant l'état
  • Installation facile, configuration unifiée et prise en charge des mises à jour automatiques

Cas d'utilisation

  • Activer des copilotes basés sur LLM dans les éditeurs de code (comme VS Code ou Cursor) pour automatiser les flux de travail dbt, tels que la construction ou les tests de modèles
  • Permettre aux agents en langage naturel de récupérer la documentation du projet dbt ou des métadonnées pour l'assistance des développeurs ou l'intégration
  • Alimenter des tableaux de bord IA ou des chatbots avec accès aux métriques sémantiques via la couche sémantique de dbt, permettant des analyses conversationnelles
  • Intégrer les points de contrôle opérationnels dbt (construction/test/exécution) dans des pipelines automatisés orchestrés par des agents pilotés par LLM
  • Faciliter les requêtes ad-hoc, l'exploration de modèles, ou l'analyse des causes profondes à partir d'interfaces en conversation utilisant les API de découverte dbt

FAQ

Q : Dois-je déployer le serveur dbt MCP sur la même machine que mon projet dbt ?
R : Le serveur peut être exécuté localement ou à distance, mais il devra avoir accès aux fichiers de projet pertinents et à l'environnement. Vous pouvez spécifier des chemins et des variables d'environnement pour assurer qu'il localise correctement votre projet dbt.

Q : Est-il sûr de permettre aux LLM d'accéder à tous les outils dbt via MCP ?
R : Faites preuve de prudence ; certains outils dbt (comme build, run, et test) peuvent modifier votre entrepôt ou vos modèles. Activez uniquement les outils que vous faites entièrement confiance à vos clients d'utiliser, et préférez les modes en lecture seule (ex. : Découverte et Couche Sémantique) lorsque cela est approprié.

Q : Comment mettre à jour le serveur si de nouvelles versions sont publiées ?
R : Il suffit de relancer le script d'installation ; il détectera et mettra à jour votre installation dbt-mcp existante en toute sécurité.

Q : Quelles versions de dbt sont prises en charge ?
R : Le serveur dbt MCP est compatible avec les environnements dbt Core et dbt Cloud. Assurez-vous que votre chemin CLI et votre version de dbt correspondent à ce qui est spécifié dans votre configuration.

Q : Puis-je activer ou désactiver sélectivement certains groupes d'outils ?
R : Oui ; utilisez des variables d'environnement comme DISABLE_DBT_CLI ou DISABLE_DISCOVERY pour activer ou désactiver les fonctionnalités au démarrage du serveur.