dbt MCP Server
官方dbt(資料建置工具)的官方 MCP 伺服器,提供與 dbt Core/Cloud CLI 的整合、專案中繼資料探索、模型資訊及語意層查詢功能。
文件
dbt MCP 伺服器
此 MCP(模型上下文協定)伺服器提供多種工具來與 dbt 互動。您可以使用此 MCP 伺服器為 AI 代理提供 dbt Core、dbt Fusion 和 dbt Platform 中的專案上下文。
請閱讀我們的文檔此處以了解更多資訊。這篇部落格文章提供了有關 dbt MCP 伺服器可能性的更多詳細資訊。
實驗性 MCP 套件
我們在每個版本中發布一個實驗性的模型上下文協定套件(dbt-mcp.mcpb),以便支援 MCPB 的客戶端無需額外設定即可匯入此伺服器。從最新版本的資產中下載套件,並遵循 Anthropic 的 mcpb CLI 文檔進行安裝或檢查。
回饋
如果您有意見或問題,請建立 GitHub Issue 或加入社群 Slack 中的 #tools-dbt-mcp 頻道。
架構
dbt MCP 伺服器架構允許您的代理連接到各種工具。

工具
SQL
用於在 dbt Platform 基礎架構上執行和生成 SQL 的工具。
execute_sql:在支援語意層的 dbt Platform 基礎架構上執行 SQL。text_to_sql:使用專案上下文從自然語言生成 SQL。
語意層
要了解更多關於 dbt 語意層的資訊,請點擊此處。
get_dimension_values:獲取維度的不同值;可選擇限定於特定指標。get_dimensions:獲取指定指標的維度。get_entities:獲取指定指標的實體。get_metrics_compiled_sql:返回指標的編譯 SQL,而不執行查詢。list_metrics:檢索所有已定義的指標。list_saved_queries:檢索所有已儲存的查詢。query_metrics:執行帶有篩選和分組選項的指標查詢。
探索
要了解更多關於 dbt Discovery API 的資訊,請點擊此處。
get_all_macros:檢索巨集;可選擇按套件篩選或僅返回套件名稱。get_all_models:檢索所有模型的名稱和描述。get_all_sources:獲取所有來源及其新鮮度狀態;可選擇按來源名稱篩選。get_exposure_details:獲取曝光詳細資訊,包括擁有者、父項和新鮮度狀態。get_exposures:獲取所有曝光(下游儀表板、應用程式或分析)。get_lineage:獲取完整的血緣圖(祖先和後代),支援類型和深度篩選。get_macro_details:獲取特定巨集的詳細資訊。get_mart_models:檢索所有 mart 模型。get_model_children:獲取模型的下游相依項。get_model_details:獲取模型詳細資訊,包括編譯 SQL、欄位和結構描述。get_model_health:獲取健康訊號:執行狀態、測試結果和上游來源新鮮度。get_model_parents:獲取模型的上游相依項。get_model_performance:獲取模型的執行歷史記錄;可選擇包含測試結果。get_related_models:使用語意搜尋尋找相似模型。get_seed_details:獲取特定種子的詳細資訊。get_semantic_model_details:獲取特定語意模型的詳細資訊。get_snapshot_details:獲取特定快照的詳細資訊。get_source_details:獲取來源詳細資訊,包括欄位和新鮮度。get_test_details:獲取特定測試的詳細資訊。search:[Alpha] 在 dbt 專案中搜尋資源(尚未普遍可用)。
dbt CLI
允許您的客戶端透過 MCP 工具使用 dbt 命令可能會修改您的資料模型、來源和倉儲物件。僅在您信任客戶端並了解潛在影響時繼續。
build:按 DAG 順序執行模型、測試、快照和種子。clone:將選定的節點從指定狀態複製到目標結構描述。compile:從模型/測試/分析生成可執行的 SQL;有助於驗證 Jinja 邏輯。docs:為 dbt 專案生成文檔。get_lineage_dev:從本機 manifest.json 檢索血緣,支援類型和深度篩選。get_node_details_dev:從本機 manifest.json 檢索節點詳細資訊(模型、種子、快照、來源)。list:按類型列出 dbt 專案中的資源,支援選擇器。parse:解析並驗證專案檔案的語法正確性。run:執行模型以在資料庫中具體化它們。show:對資料庫執行 SQL 並返回結果。test:執行測試以驗證資料和模型完整性。
管理 API
要了解更多關於 dbt 管理 API 的資訊,請點擊此處。
cancel_job_run:取消正在執行的作業。get_job_details:獲取作業配置,包括觸發器、排程和 dbt 命令。get_job_run_details:獲取執行詳細資訊,包括狀態、計時、步驟和成品。get_job_run_error:獲取作業執行的錯誤和/或警告詳細資訊;可選擇包含或僅顯示警告。list_job_run_artifacts:列出作業執行中的可用成品。list_jobs:列出 dbt Platform 帳戶中的作業;可選擇按專案或環境篩選。list_jobs_runs:列出作業執行;可選擇按作業、狀態或排序欄位篩選。list_projects:列出 dbt Platform 帳戶中的所有專案。retry_job_run:重試失敗的作業執行。trigger_job_run:觸發作業執行;可選擇覆蓋 git 分支、結構描述或其他設定。
dbt Codegen
這些工具幫助自動化 dbt 專案檔案的樣板程式碼生成。
generate_model_yaml:生成帶有欄位的模型 YAML;可選擇繼承上游描述。generate_source:透過檢查資料庫結構描述生成來源 YAML;可選擇包含欄位。generate_staging_model:從來源表生成暫存模型 SQL。
dbt LSP
一組利用 Fusion 引擎進行進階 SQL 編譯和欄位級血緣分析的工具。
fusion.compile_sql:透過 dbt Platform 在專案上下文中編譯 SQL。fusion.get_column_lineage:透過 dbt Platform 追蹤欄位級血緣。get_column_lineage:在本機追蹤欄位級血緣(需要透過 dbt Labs VSCE 安裝 dbt-lsp)。
產品文檔
用於從 docs.getdbt.com 的官方 dbt 文檔中搜尋和擷取內容的工具。
get_product_doc_pages:按路徑或 URL 擷取一個或多個 docs.getdbt.com 頁面的完整 Markdown 內容。search_product_docs:搜尋 docs.getdbt.com 中符合查詢的頁面;返回按相關性排序的標題、URL 和描述。使用 get_product_doc_pages 擷取完整內容。
MCP 伺服器中繼資料
這些工具提供有關 MCP 伺服器本身的資訊。
get_mcp_server_branch:返回正在執行的 dbt MCP 伺服器的當前 git 分支。get_mcp_server_version:返回 dbt MCP 伺服器的當前版本。
範例
通常,您會將 dbt MCP 伺服器連接到像 Claude 或 Cursor 這樣的代理產品。但是,如果您有興趣建立自己的代理,請查看範例目錄以了解如何開始。
相依性
相依性被固定到特定版本,不會自動更新。僅透過自動化拉取請求提交與安全性相關的相依性更新。
貢獻
閱讀 CONTRIBUTING.md 以獲取參與的說明!