dbt

offiziell

Offizieller MCP-Server für dbt (data build tool) mit Integration in die dbt Core/Cloud CLI, Projektmetadaten-Erkennung, Modellinformationen und Abfragefunktionen für die semantische Schicht.

Was kann man mit Dbt MCP machen?

  • Erkunden Sie die Datenmodelle Ihres dbt-Projekts — fragen Sie mit get_all_models nach allen Modellen und prüfen Sie dann die vollständigen Details eines beliebigen Knotens über get_node_details.
  • Verfolgen Sie Upstream- und Downstream-Lineage — nutzen Sie get_lineage, um Vorgänger und Nachfolger eines Modells zu sehen, gefiltert nach Typ und Tiefe.
  • Fragen Sie Metriken über die Semantic Layer ab — listen Sie verfügbare Metriken mit list_metrics auf und führen Sie dann gefilterte, gruppierte Metrikabfragen über query_metrics durch.
  • Überprüfen Sie Modellzustand und -leistung — rufen Sie Ausführungsstatus, Testergebnisse und Quellfrische mit get_model_health ab oder erhalten Sie Ausführungshistorien über get_model_performance.
  • Generieren Sie Projekt-Boilerplate — erstellen Sie Modell-YAML, Quell-YAML oder Staging-Modell-SQL mit generate_model_yaml, generate_source und generate_staging_model.
  • Verwalten Sie dbt Cloud-Jobs — listen Sie Jobs auf und lösen Sie sie mit list_jobs und trigger_job_run aus, prüfen Sie dann Ausführungsdetails oder Artefakte mit get_job_run_details und list_job_run_artifacts.

Dokumentation

dbt MCP Server

OpenSSF Best Practices

Dieser MCP (Model Context Protocol) Server bietet verschiedene Werkzeuge zur Interaktion mit dbt. Sie können diesen MCP-Server verwenden, um KI-Agenten Kontext zu Ihrem Projekt in dbt Core, dbt Fusion und dbt Platform bereitzustellen.

Lesen Sie unsere Dokumentation hier, um mehr zu erfahren. Dieser Blogbeitrag bietet weitere Details zu den Möglichkeiten des dbt MCP Servers.

Experimentelles MCP-Bundle

Wir veröffentlichen mit jedem Release ein experimentelles Model Context Protocol Bundle (dbt-mcp.mcpb), damit MCPB-fähige Clients diesen Server ohne zusätzliche Einrichtung importieren können. Laden Sie das Bundle aus den Assets des neuesten Releases herunter und folgen Sie der Anthropic mcpb CLI-Dokumentation, um es zu installieren oder zu überprüfen.

Feedback

Wenn Sie Anmerkungen oder Fragen haben, erstellen Sie ein GitHub Issue oder besuchen Sie uns im Community-Slack im Kanal #tools-dbt-mcp.

Architektur

Die Architektur des dbt MCP Servers ermöglicht es Ihrem Agenten, sich mit einer Vielzahl von Werkzeugen zu verbinden.

architecture diagram of the dbt MCP server

Werkzeuge

SQL

Werkzeuge zum Ausführen und Generieren von SQL auf der dbt Platform-Infrastruktur.

  • execute_sql: Führt SQL auf der dbt Platform-Infrastruktur mit Semantic Layer-Unterstützung aus.
  • text_to_sql: Generiert SQL aus natürlicher Sprache unter Verwendung des Projektkontexts.

Semantic Layer

Um mehr über den dbt Semantic Layer zu erfahren, klicken Sie hier.

  • get_dimension_values: Ruft eindeutige Werte für eine Dimension ab; optional auf bestimmte Metriken einschränkbar.
  • get_dimensions: Ruft Dimensionen für angegebene Metriken ab.
  • get_entities: Ruft Entitäten für angegebene Metriken ab.
  • get_metrics_compiled_sql: Gibt kompiliertes SQL für Metriken zurück, ohne die Abfrage auszuführen.
  • list_metrics: Ruft alle definierten Metriken ab.
  • list_saved_queries: Ruft alle gespeicherten Abfragen ab.
  • query_metrics: Führt Metrikabfragen mit Filter- und Gruppierungsoptionen aus.

Discovery

Um mehr über die dbt Discovery API zu erfahren, klicken Sie hier.

  • get_all_macros: Ruft Makros ab; optional nach Paket filterbar oder nur Paketnamen zurückgeben.
  • get_all_models: Ruft Name und Beschreibung aller Modelle ab.
  • get_all_sources: Ruft alle Quellen mit Aktualitätsstatus ab; optional nach Quellnamen filterbar.
  • get_exposure_details: (veraltet — stattdessen get_node_details verwenden)
  • get_exposures: Ruft alle Exposures ab (nachgelagerte Dashboards, Apps oder Analysen).
  • get_lineage: Ruft den vollständigen Abstammungsgraphen (Vorfahren und Nachkommen) mit Typ- und Tiefenfilterung ab.
  • get_macro_details: (veraltet — stattdessen get_node_details verwenden)
  • get_mart_models: Ruft alle Mart-Modelle ab.
  • get_model_children: (veraltet — stattdessen get_lineage verwenden)
  • get_model_details: (veraltet — stattdessen get_node_details verwenden)
  • get_model_health: Ruft Gesundheitssignale ab: Ausführungsstatus, Testergebnisse und Aktualität vorgelagerter Quellen.
  • get_model_parents: (veraltet — stattdessen get_lineage verwenden)
  • get_model_performance: Ruft den Ausführungsverlauf für ein Modell ab; optional mit Testergebnissen.
  • get_node_details: Ruft vollständige Details für jeden dbt-Ressourcentyp ab (Modell, Quelle, Exposure, Test, Seed, Snapshot, Makro, Semantic Model).
  • get_related_models: Findet ähnliche Modelle mittels semantischer Suche.
  • get_seed_details: (veraltet — stattdessen get_node_details verwenden)
  • get_semantic_model_details: (veraltet — stattdessen get_node_details verwenden)
  • get_snapshot_details: (veraltet — stattdessen get_node_details verwenden)
  • get_source_details: (veraltet — stattdessen get_node_details verwenden)
  • get_test_details: (veraltet — stattdessen get_node_details verwenden)
  • search: [Alpha] Durchsucht Ressourcen im gesamten dbt-Projekt (nicht allgemein verfügbar).

dbt CLI

Wenn Sie Ihrem Client erlauben, dbt-Befehle über die MCP-Werkzeuge zu nutzen, könnte dies Ihre Datenmodelle, Quellen und Warehouse-Objekte verändern. Fahren Sie nur fort, wenn Sie dem Client vertrauen und die potenziellen Auswirkungen verstehen.

  • build: Führt Modelle, Tests, Snapshots und Seeds in DAG-Reihenfolge aus.
  • clone: Klont ausgewählte Knoten aus dem angegebenen Zustand in die Zielschema(s).
  • compile: Generiert ausführbares SQL aus Modellen/Tests/Analysen; nützlich zur Validierung von Jinja-Logik.
  • docs: Generiert Dokumentation für das dbt-Projekt.
  • get_lineage_dev: Ruft die Abstammung aus der lokalen manifest.json mit Typ- und Tiefenfilterung ab.
  • get_node_details_dev: Ruft Knotendetails aus der lokalen manifest.json ab (Modelle, Seeds, Snapshots, Quellen).
  • list: Listet Ressourcen im dbt-Projekt nach Typ mit Selektorunterstützung auf.
  • parse: Parst und validiert Projektdateien auf syntaktische Korrektheit.
  • run: Führt Modelle aus, um sie in der Datenbank zu materialisieren.
  • show: Führt SQL gegen die Datenbank aus und gibt Ergebnisse zurück.
  • test: Führt Tests aus, um Daten- und Modellintegrität zu validieren.

Admin API

Um mehr über die dbt Administrative API zu erfahren, klicken Sie hier.

  • cancel_job_run: Bricht einen laufenden Job ab.
  • get_job_details: Ruft die Jobkonfiguration ab, einschließlich Triggern, Zeitplan und dbt-Befehlen.
  • get_job_run_details: Ruft Ausführungsdetails ab, einschließlich Status, Zeitmessung, Schritte und Artefakte.
  • get_job_run_error: Ruft Fehler- und/oder Warndetails für eine Jobausführung ab; optional nur Warnungen anzeigen oder einschließen.
  • list_job_run_artifacts: Listet verfügbare Artefakte einer Jobausführung auf.
  • list_jobs: Listet Jobs in einem dbt Platform-Konto auf; optional nach Projekt oder Umgebung filterbar.
  • list_jobs_runs: Listet Jobausführungen auf; optional nach Job, Status oder Sortierfeld filterbar.
  • list_projects: Listet alle Projekte im dbt Platform-Konto auf.
  • retry_job_run: Wiederholt eine fehlgeschlagene Jobausführung.
  • trigger_job_run: Löst eine Jobausführung aus; optional Git-Branch, Schema oder andere Einstellungen überschreibbar.

dbt Codegen

Diese Werkzeuge helfen, die Generierung von Boilerplate-Code für dbt-Projektdateien zu automatisieren.

  • generate_model_yaml: Generiert Modell-YAML mit Spalten; optional können vorgelagerte Beschreibungen übernommen werden.
  • generate_source: Generiert Quell-YAML durch Introspektion von Datenbankschemata; optional mit Spalten.
  • generate_staging_model: Generiert Staging-Modell-SQL aus einer Quelltabelle.

dbt LSP

Eine Reihe von Werkzeugen, die die Fusion-Engine für fortgeschrittene SQL-Kompilierung und spaltenbezogene Abstammungsanalyse nutzen.

  • fusion.compile_sql: Kompiliert SQL im Projektkontext über dbt Platform.
  • fusion.get_column_lineage: Verfolgt die spaltenbezogene Abstammung über dbt Platform.
  • get_column_lineage: Verfolgt die spaltenbezogene Abstammung lokal (erfordert dbt-lsp über dbt Labs VSCE).

Produktdokumentation

Werkzeuge zum Suchen und Abrufen von Inhalten aus der offiziellen dbt-Dokumentation unter docs.getdbt.com.

  • get_product_doc_pages: Ruft den vollständigen Markdown-Inhalt einer oder mehrerer docs.getdbt.com-Seiten nach Pfad oder URL ab.
  • search_product_docs: Durchsucht docs.getdbt.com nach Seiten, die einer Abfrage entsprechen; gibt Titel, URLs und nach Relevanz geordnete Beschreibungen zurück. Verwenden Sie get_product_doc_pages, um den vollständigen Inhalt abzurufen.

MCP Server-Metadaten

Diese Werkzeuge liefern Informationen über den MCP-Server selbst.

  • get_mcp_server_branch: Gibt den aktuellen Git-Branch des laufenden dbt MCP Servers zurück.
  • get_mcp_server_version: Gibt die aktuelle Version des dbt MCP Servers zurück.

Beispiele

Üblicherweise verbinden Sie den dbt MCP Server mit einem Agentenprodukt wie Claude oder Cursor. Wenn Sie jedoch daran interessiert sind, Ihren eigenen Agenten zu erstellen, sehen Sie sich das Beispielverzeichnis an, um zu erfahren, wie Sie beginnen können.

Abhängigkeiten

Abhängigkeiten sind an bestimmte Versionen gebunden und werden nicht automatisch aktualisiert. Nur sicherheitsrelevante Abhängigkeitsaktualisierungen werden über automatisierte Pull Requests eingereicht.

Mitwirken

Lesen Sie CONTRIBUTING.md für Anweisungen, wie Sie sich beteiligen können!