dbt MCP Server

dbt MCP Server

dbt Labs 官方 MCP 服务器,连接 dbt 项目的元数据、指标与命令

核心功能

dbt-labs/dbt-mcp 是 dbt Labs 官方的 MCP 服务器,用 uvx dbt-mcp 启动,把 dbt CLI 命令、Discovery 血缘元数据、Semantic Layer 指标查询与 Admin API 作业管理暴露给 AI 客户端,dbt Core 与平台版都能用。

功能亮点

工具集开关

用 DISABLE_DBT_CLI 等变量按 toolset 关闭工具组

远程零安装

dbt 平台提供托管 MCP 端点,只做数据消费时无需装 uv

血缘可追踪

get_lineage 可按类型和深度返回模型的上下游依赖

本地也能跑

配好 DBT_PROJECT_DIR 与 DBT_PATH,无平台账号也能用

适用场景

• 问答式查询语义层指标
• 让助手解释模型血缘关系
• 定位失败作业的报错原因
• 在对话里执行 dbt run/test
• 自动生成 source 与模型 YAML

安装配置

bash
# 安装 uv 后直接运行,无需 clone 仓库
uvx dbt-mcp

# 连接 dbt 平台(OAuth)
{
  "mcpServers": {
    "dbt": {
      "command": "uvx",
      "args": ["dbt-mcp"],
      "env": {
        "DBT_HOST": "YOUR-ACCESS-URL"
      }
    }
  }
}

# 仅使用本地 dbt CLI(无平台账号)
{
  "mcpServers": {
    "dbt": {
      "command": "uvx",
      "args": ["dbt-mcp"],
      "env": {
        "DBT_PROJECT_DIR": "/path/to/your/dbt/project",
        "DBT_PATH": "/path/to/your/dbt/executable"
      }
    }
  }
}

# 用 .env 文件集中管理变量
{
  "mcpServers": {
    "dbt": {
      "command": "uvx",
      "args": ["--env-file", "/absolute/path/to/your-dbt-project/.env", "dbt-mcp"]
    }
  }
}

# 其他常用变量:DBT_TOKEN、DBT_PROD_ENV_ID、DBT_DEV_ENV_ID、DBT_USER_ID、DBT_ACCOUNT_ID、DBT_CLI_TIMEOUT
# 工具开关:DISABLE_DBT_CLI / DISABLE_SEMANTIC_LAYER / DISABLE_DISCOVERY / DISABLE_ADMIN_API / DISABLE_SQL(默认 true)

使用方法

bash
# 按 toolset 划分的真实工具名
dbt CLI:run、build、test、compile、parse、list、show、docs、clone
Discovery:get_all_models、get_mart_models、get_node_details、get_lineage、get_model_health、get_model_performance、get_all_sources
Semantic Layer:list_metrics、get_dimensions、get_entities、query_metrics、get_metrics_compiled_sql、list_saved_queries
Admin API:list_jobs、trigger_job_run、get_job_run_details、get_job_run_error、retry_job_run、cancel_job_run
SQL:execute_sql、text_to_sql
Codegen:generate_source、generate_model_yaml、generate_staging_model

# 示例
"用 list_metrics 看有哪些指标,再用 query_metrics 按月份分组查 revenue"
"用 get_job_run_error 取最近一次失败作业的报错,定位后 retry_job_run 重跑"
"用 get_lineage 查 fct_orders 的上下游,再 get_model_health 看测试是否通过"

关键指标

尚未核验对标产品,此处只列本工具自身指标,不做对比结论。

指标dbt MCP Server
价格免费
开源
上手难度专家

相关工具

优点

  • dbt Labs 官方维护,工具随 Discovery、Semantic Layer 等 API 一起演进,不是第三方封装
  • uvx dbt-mcp 免 clone、免构建,依赖装进隔离虚拟环境,升级只需换版本
  • 支持 disable 与 enable(allowlist)两种模式,SQL 与 Codegen 默认关闭,暴露面更可控
  • 自托管版同时支持 dbt Core、dbt Fusion 与平台 API,本地开发和线上查询共用一套配置
  • 官方声明 MCP 层不存储生产数据与作业结果,仅实时读取元数据

缺点

  • dbt CLI 工具会真的执行 run/build,可能改动数据模型与仓库对象,官方提示只在信任的客户端开启
  • Discovery、Semantic Layer、Admin API 等能力取决于 dbt 平台套餐,纯 dbt Core 用户基本只能用本地 CLI 工具
  • execute_sql 必须用 PAT,service token 不生效,还要额外配 DBT_DEV_ENV_ID 与 DBT_USER_ID
  • text_to_sql 会消耗 dbt Copilot 动作额度,额度耗尽时经远程转发的其他工具也会被一并阻断
  • 环境变量繁多(主机、令牌、多个数字 ID、各类开关),首次配置排错成本偏高