核心功能
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、各类开关),首次配置排错成本偏高