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!
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
- JavaScriptMIT License
- Python
- PythonMIT License
- JavaScriptMIT License