dbt-mcp

Official
by dbt-labs
Integrations
  • 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

  1. Klonen Sie das Repository:
git clone https://github.com/dbt-labs/dbt-mcp.git cd dbt-mcp
  1. UV installieren
  2. Installationsaufgabe
  3. task install ausführen
  4. Konfigurieren Sie Umgebungsvariablen:
cp .env.example .env

Bearbeiten Sie dann .env mit Ihren spezifischen Umgebungsvariablen (siehe den Abschnitt Configuration der README.md ).

Konfiguration

Der MCP-Server verwendet die folgende Konfiguration:

Werkzeuggruppen

NameStandardBeschreibung
DISABLE_DBT_CLIfalseSetzen Sie dies auf „ true , um die MCP-Tools dbt Core und dbt Cloud CLI zu deaktivieren
DISABLE_SEMANTIC_LAYERfalseSetzen Sie dies auf true , um dbt Semantic Layer MCP-Objekte zu deaktivieren
DISABLE_DISCOVERYfalseSetzen Sie dies auf true , um dbt Discovery API MCP-Objekte zu deaktivieren
DISABLE_REMOTEtrueSetzen Sie dies auf false , um Remote-MCP-Objekte zu aktivieren

Konfiguration für Discovery und Semantic Layer

NameStandardBeschreibung
DBT_HOSTcloud.getdbt.comDer 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

NameBeschreibung
DBT_DEV_ENV_IDIhre dbt Cloud-Entwicklungsumgebungs-ID
DBT_USER_IDIhre dbt Cloud-Benutzer-ID

Konfiguration für dbt CLI

NameBeschreibung
DBT_PROJECT_DIRDer Pfad zum lokalen Repository Ihres dbt-Projekts. Dieser sollte etwa wie folgt aussehen /Users/firstnamelastname/reponame
DBT_PATHDer 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 <> :

{ "mcpServers": { "dbt-mcp": { "command": "<path-to-mcp-executable>", "args": [ "run", "<path-to-this-directory>/src/dbt_mcp/main.py" ] } } }

<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

  1. Öffnen Sie das Cursor-Menü und wählen Sie Einstellungen → Cursor-Einstellungen → MCP
  2. Klicken Sie auf „Neuen globalen MCP-Server hinzufügen“.
  3. Fügen Sie die Konfiguration von oben zur bereitgestellten mcp.json Datei hinzu
  4. Überprüfen Sie, ob Ihre Verbindung im MCP-Tab aktiv ist.

Cursor MCP-Dokumente hier als Referenz

VS Code

  1. Ö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 Arbeitsbereichs
    • User - 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äß.
  2. Wählen Sie Funktionen → Chat
  3. Stellen Sie sicher, dass „Mcp“ Enabled ist

  1. Klicken Sie unter „Mcp > Discovery“ auf „In settings.json bearbeiten“.
  2. Fügen Sie Ihre Serverkonfiguration ( dbt ) als einen der Server zur bereitgestellten Datei settings.json hinzu:
{ "mcp": { "inputs": [], "servers": { "dbt": { "command": "<path-to-mcp-executable>", "args": ["run", "<path-to-this-directory>/src/dbt_mcp/main.py"] } } } }

<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
  1. 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 aus
  • compile - Generiert ausführbares SQL aus Modellen, Tests und Analysen, ohne diese auszuführen
  • docs - Generiert Dokumentation für das dbt-Projekt
  • ls (Liste) – Listet Ressourcen im dbt-Projekt auf, z. B. Modelle und Tests
  • parse - Analysiert und validiert die Dateien des Projekts auf syntaktische Korrektheit
  • run - Führt Modelle aus, um sie in der Datenbank zu materialisieren
  • test – Führt Tests aus, um die Daten- und Modellintegrität zu validieren
  • show - 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 ab
  • get_dimensions - Ruft die mit den angegebenen Metriken verknüpften Dimensionen ab
  • get_entities - Ruft Entitäten ab, die mit angegebenen Metriken verknüpft sind
  • query_metrics – Abfragemetriken mit optionaler Gruppierung, Sortierung, Filterung und Begrenzung

Entdeckung

  • get_mart_models - Ruft alle Mart-Modelle ab
  • get_all_models - Ruft alle Modelle ab
  • get_model_details – Ruft Details für ein bestimmtes Modell ab
  • get_model_parents - Ruft übergeordnete Knoten eines bestimmten Modells ab
  • get_model_children - Ruft die untergeordneten Modi eines bestimmten Modells ab

Beitragen

Lesen Sie CONTRIBUTING.md , um Anweisungen zur Teilnahme zu erhalten!

Related MCP Servers

View all related MCP servers

ID: 4g56yk3tar