Provides tools to interact with dbt, including executing dbt CLI commands (build, compile, run, test), accessing Semantic Layer for metric querying, and using Discovery API to explore models and their relationships in a dbt project.
dbt MCP Server
Dieser MCP-Server (Model Context Protocol) bietet Tools zur Interaktion mit dbt. Lesen Sie diesen Blog, um mehr zu erfahren.
Architektur
Aufstellen
- Klonen Sie das Repository:
- UV installieren
- Installationsaufgabe
task install
ausführen- Konfigurieren Sie Umgebungsvariablen:
Bearbeiten Sie dann .env
mit Ihren spezifischen Umgebungsvariablen (siehe den Abschnitt Configuration
der README.md
).
Konfiguration
Der MCP-Server verwendet die folgende Konfiguration:
Werkzeuggruppen
Name | Standard | Beschreibung |
---|---|---|
DISABLE_DBT_CLI | false | Setzen Sie dies auf „ true , um die MCP-Tools dbt Core und dbt Cloud CLI zu deaktivieren |
DISABLE_SEMANTIC_LAYER | false | Setzen Sie dies auf true , um dbt Semantic Layer MCP-Objekte zu deaktivieren |
DISABLE_DISCOVERY | false | Setzen Sie dies auf true , um dbt Discovery API MCP-Objekte zu deaktivieren |
DISABLE_REMOTE | true | Setzen Sie dies auf false , um Remote-MCP-Objekte zu aktivieren |
Konfiguration für Discovery und Semantic Layer
Name | Standard | Beschreibung |
---|---|---|
DBT_HOST | cloud.getdbt.com | Der Hostname Ihrer dbt Cloud-Instanz. Dieser sieht aus wie eine hier gefundene Access URL . Wenn Sie Multi-Cell verwenden, fügen Sie hier bitte das ACCOUNT_PREFIX nicht ein. |
MULTICELL_ACCOUNT_PREFIX | - | Wenn Sie Multi-Cell verwenden, setzen Sie dies auf Ihr ACCOUNT_PREFIX . Wenn Sie Multi-Cell nicht verwenden, setzen Sie diese Umgebungsvariable nicht. Weitere Informationen finden Sie hier. |
DBT_TOKEN | - | Ihr persönlicher Zugriffstoken oder Servicetoken. Hinweis: Bei Verwendung der Semantischen Schicht ist ein Servicetoken erforderlich. |
DBT_PROD_ENV_ID | - | Ihre dbt Cloud-Produktionsumgebungs-ID |
Konfiguration für Remote Tools
Name | Beschreibung |
---|---|
DBT_DEV_ENV_ID | Ihre dbt Cloud-Entwicklungsumgebungs-ID |
DBT_USER_ID | Ihre dbt Cloud-Benutzer-ID |
Konfiguration für dbt CLI
Name | Beschreibung |
---|---|
DBT_PROJECT_DIR | Der Pfad zum lokalen Repository Ihres dbt-Projekts. Dieser sollte etwa wie folgt aussehen /Users/firstnamelastname/reponame |
DBT_PATH | Der Pfad zu Ihrer dbt Core- oder dbt Cloud CLI-Ausführdatei. Sie finden Ihre dbt-Ausführdatei, indem Sie which dbt ausführen. |
Verwendung mit MCP-Clients
Nach Abschluss der Installation können Sie Ihren Server mit einem MCP-Client verwenden.
Diese Konfiguration wird der Konfigurationsdatei des jeweiligen Clients hinzugefügt. Ersetzen Sie unbedingt die Abschnitte innerhalb von <>
:
<path-to-mcp-executable>
hängt von Ihrem Betriebssystem ab:
- Linux & Mac:
<path-to-this-directory>/.venv/bin/mcp
- PC:
<path-to-this-directory>/.venv/Scripts/mcp
Claude Desktop
Befolgen Sie diese Anweisungen, um die Datei claude_desktop_config.json
zu erstellen und eine Verbindung herzustellen.
Auf dem Mac finden Sie die Claude Desktop-Protokolle unter ~/Library/Logs/Claude
.
Cursor
- Öffnen Sie das Cursor-Menü und wählen Sie Einstellungen → Cursor-Einstellungen → MCP
- Klicken Sie auf „Neuen globalen MCP-Server hinzufügen“.
- Fügen Sie die Konfiguration von oben zur bereitgestellten
mcp.json
Datei hinzu - Überprüfen Sie, ob Ihre Verbindung im MCP-Tab aktiv ist.
Cursor MCP-Dokumente hier als Referenz
VS Code
- Öffnen Sie das Menü „Einstellungen“ (Befehl + Komma) und wählen Sie oben auf der Seite die richtige Registerkarte für Ihren Anwendungsfall aus.
Workspace
- konfiguriert den Server im Kontext Ihres ArbeitsbereichsUser
- konfiguriert den Server im Kontext Ihres Benutzers- Hinweis für WSL-Nutzer : Wenn Sie VS Code mit WSL verwenden, müssen Sie WSL-spezifische Einstellungen konfigurieren. Führen Sie den Befehl „ Einstellungen: Remote-Einstellungen öffnen“ über die Befehlspalette (F1) aus oder wählen Sie die Registerkarte „Remote“ im Einstellungseditor. Lokale Benutzereinstellungen werden in WSL wiederverwendet, können aber durch WSL-spezifische Einstellungen überschrieben werden. Die Konfiguration von MCP-Servern in den lokalen Benutzereinstellungen funktioniert in einer WSL-Umgebung nicht ordnungsgemäß.
- Wählen Sie Funktionen → Chat
- Stellen Sie sicher, dass „Mcp“
Enabled
ist
- Klicken Sie unter „Mcp > Discovery“ auf „In settings.json bearbeiten“.
- Fügen Sie Ihre Serverkonfiguration (
dbt
) als einen der Server zur bereitgestellten Dateisettings.json
hinzu:
<path-to-mcp-executable>
hängt von Ihrem Betriebssystem ab:
- Linux & Mac:
<path-to-this-directory>/.venv/bin/mcp
- PC:
<path-to-this-directory>/.venv/Scripts/mcp
- Sie können Ihre MCP-Server folgendermaßen starten, stoppen und konfigurieren:
- Ausführen des Befehls
MCP: List Servers
aus der Befehlspalette (Strg + Befehl + P) und Auswählen des Servers - Verwenden der Schlüsselwörter inline in der Datei
settings.json
VS Code MCP-Dokumente hier als Referenz
Werkzeuge
dbt-CLI
build
- Führt Modelle, Tests, Snapshots und Seeds in Abhängigkeitsreihenfolge auscompile
- Generiert ausführbares SQL aus Modellen, Tests und Analysen, ohne diese auszuführendocs
- Generiert Dokumentation für das dbt-Projektls
(Liste) – Listet Ressourcen im dbt-Projekt auf, z. B. Modelle und Testsparse
- Analysiert und validiert die Dateien des Projekts auf syntaktische Korrektheitrun
- Führt Modelle aus, um sie in der Datenbank zu materialisierentest
– Führt Tests aus, um die Daten- und Modellintegrität zu validierenshow
- Führt eine Abfrage für das Data Warehouse aus
Wenn Sie Ihrem Client erlauben, dbt-Befehle über dieses MCP-Tool zu verwenden, können Ihre Datenmodelle, Quellen und Warehouse-Objekte geändert werden. Fahren Sie nur fort, wenn Sie dem Client vertrauen und die möglichen Auswirkungen verstehen.
Semantische Ebene
list_metrics
- Ruft alle definierten Metriken abget_dimensions
- Ruft die mit den angegebenen Metriken verknüpften Dimensionen abget_entities
- Ruft Entitäten ab, die mit angegebenen Metriken verknüpft sindquery_metrics
– Abfragemetriken mit optionaler Gruppierung, Sortierung, Filterung und Begrenzung
Entdeckung
get_mart_models
- Ruft alle Mart-Modelle abget_all_models
- Ruft alle Modelle abget_model_details
– Ruft Details für ein bestimmtes Modell abget_model_parents
- Ruft übergeordnete Knoten eines bestimmten Modells abget_model_children
- Ruft die untergeordneten Modi eines bestimmten Modells ab
Beitragen
Lesen Sie CONTRIBUTING.md
, um Anweisungen zur Teilnahme zu erhalten!
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
dbt-mcp
Related MCP Servers
- TypeScriptMIT License
- JavaScript
- PythonMIT License
- TypeScriptMIT License