dbt
官方dbt(資料建置工具)的官方 MCP 伺服器,提供與 dbt Core/Cloud CLI 的整合、專案中繼資料探索、模型資訊及語意層查詢功能。
你可以用 Dbt MCP 做什麼?
- 查詢 dbt 指標 — 使用
list_metrics、get_dimensions或get_metrics_compiled_sql詢問指標定義、維度或已編譯的 SQL。 - 探索專案譜系 — 使用
get_lineage或get_related_models追蹤模型相依性以及上游/下游關係。 - 執行 dbt 命令 — 執行
run、test或build以實體化模型、驗證資料或建置專案。 - 產生樣板程式碼 — 透過
generate_source、generate_model_yaml或generate_staging_model建立來源 YAML、模型 YAML 或暫存 SQL。 - 監控任務執行 — 使用
get_job_run_details、get_job_run_error或list_job_run_artifacts檢查執行狀態、錯誤或產出物。 - 檢查節點詳細資訊 — 使用
get_node_details擷取任何資源類型(包括模型、來源和測試)的完整中繼資料。
文件
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,並支援 Semantic Layer。text_to_sql:使用專案上下文從自然語言生成 SQL。
Semantic Layer
若要了解更多關於 dbt Semantic Layer 的資訊,請點擊 這裡。
get_dimension_values:取得某個維度的不同值;可選擇限定特定指標。get_dimensions:取得指定指標的維度。get_entities:取得指定指標的實體。get_metrics_compiled_sql:在不執行查詢的情況下,回傳指標的已編譯 SQL。list_metrics:擷取所有已定義的指標。list_saved_queries:擷取所有已儲存的查詢。query_metrics:執行帶有篩選和分組選項的指標查詢。
Discovery
若要了解更多關於 dbt Discovery API 的資訊,請點擊 這裡。
get_all_macros:擷取巨集;可選擇按套件篩選或僅回傳套件名稱。get_all_models:擷取所有模型的名稱和描述。get_all_sources:取得所有帶有新舊狀態的來源;可選擇按來源名稱篩選。get_exposure_details:(已棄用 — 請改用get_node_details)get_exposures:取得所有暴露(下游儀表板、應用程式或分析)。get_lineage:取得具有類型、深度和方向篩選的有限譜系圖。get_macro_details:(已棄用 — 請改用get_node_details)get_mart_models:擷取所有 mart 模型。get_model_children:(已棄用 — 請改用get_lineage)get_model_details:(已棄用 — 請改用get_node_details)get_model_health:取得健康訊號:執行狀態、測試結果和上游來源新舊狀態。get_model_parents:(已棄用 — 請改用get_lineage)get_model_performance:取得模型的執行歷史;可選擇包含測試結果。get_node_details:取得任何 dbt 資源類型(模型、來源、暴露、測試、種子、快照、巨集、semantic_model)的完整詳細資訊。get_related_models:使用語意搜尋尋找相似的模型。get_seed_details:(已棄用 — 請改用get_node_details)get_semantic_model_details:(已棄用 — 請改用get_node_details)get_snapshot_details:(已棄用 — 請改用get_node_details)get_source_details:(已棄用 — 請改用get_node_details)get_test_details:(已棄用 — 請改用get_node_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:執行測試以驗證資料和模型完整性。
Admin API
若要了解更多關於 dbt Administrative API 的資訊,請點擊 這裡。
cancel_job_run:取消正在執行的作業。get_job_details:取得作業設定,包括觸發器、排程和 dbt 命令。get_job_run_artifacts:從作業執行下載特定工件;大型工件會回傳引導訊息,要求使用 jq_filter 重試;支援 jq 篩選以進行目標提取。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 這樣的代理產品。但是,如果您有興趣建立自己的代理,請查看 範例目錄 以了解如何開始。
相依性
相依性被固定到特定版本,不會自動更新。只有與安全性相關的相依性更新會透過自動化 pull request 提交。
貢獻
閱讀 CONTRIBUTING.md 以了解如何參與的說明!