Skip to main content
Glama
us-all
by us-all

@us-all/dbt-mcp

dbt MCP 服务器 — 通过一个 stdio MCP 接口提供 manifest.jsonrun_results.jsonsources.jsoncatalog.json 以及 DQ(数据质量)结果表(BigQuery / Postgres)。基于 @us-all/mcp-toolkit 构建。

为 LLM 客户端提供一个查看 dbt 项目的只读窗口。无需触发 dbt run — 仅提供深度内省、运行历史分析、源新鲜度、列级测试覆盖率、血缘关系遍历,以及(如果您有自定义的 DQ 结果表)历史检查趋势和层级 SLA 状态。

如需 DAG 触发 / 运行历史 / 日志追踪,请同时安装配套的 @us-all/airflow-mcp

  • 涵盖 3 个类别的 22 个工具 (dbt, quality, meta)

  • 4 个用于分类工作流的 MCP Prompts

  • 4 个聚合工具,可替代 3-5 次“列出 / 获取 / 列出”的往返调用

  • 默认只读

  • 混合后端:BigQuery(默认)或 Postgres 用于 DQ 结果表 — 两者均按需导入

安装

# 1. add the MCP server
pnpm add -D @us-all/dbt-mcp
# 2. add the DQ backend you actually use (only if you query custom DQ tables):
pnpm add -D @google-cloud/bigquery   # OR
pnpm add -D pg

运行

DBT_PROJECT_DIR=/path/to/dbt-project \
DQ_RESULTS_TABLE=my-project.data_ops.quality_checks \
npx @us-all/dbt-mcp

该服务器使用 MCP stdio 协议;将其连接到 Claude Desktop / Cursor / 任何 MCP 客户端。设置 MCP_TRANSPORT=http 可选择使用 Streamable HTTP 传输(Bearer 认证,/health 端点)。

类别

类别

工具

用途

dbt

15 + 2 个聚合工具

解析 manifest.json / run_results.json / sources.json / catalog.json

quality

5 + 2 个聚合工具

查询 quality_checksquality_score_daily (BQ 或 PG)

meta

1 (始终开启)

用于自然语言工具发现的 search-tools

使用 DBT_TOOLS=dbt(允许列表)或 DBT_DISABLE=quality(禁用列表)进行切换。

工具概览

dbt (15 + 2)

dbt-list-models, dbt-get-model, dbt-list-tests, dbt-get-test, dbt-list-sources, dbt-get-source, dbt-list-exposures, dbt-list-macros, dbt-get-macro, dbt-list-runs, dbt-get-run-results, dbt-failed-tests, dbt-slow-models, dbt-coverage, dbt-graph, freshness-status, incident-context

quality (5 + 2)

dq-list-checks, dq-get-check-history, dq-failed-checks-by-dataset, dq-score-trend, dq-tier-status, failed-tests-summary, dq-score-snapshot

Prompts

Prompt

使用场景

investigate-failed-tests

“过去 24 小时内有什么故障?”

freshness-degradation-triage

“有数据源过期了吗?”(可选关注 Tier 1)

dq-trend-report

“给我一份利益相关者友好的 DQ 趋势报告”

incident-triage

“分类 <模型

源>” — 汇总所有信号

环境变量

环境变量

必需

说明

DBT_PROJECT_DIR

dbt 项目根目录 (dbt_project.yml 所在位置)

DBT_TARGET_DIR

默认为 $DBT_PROJECT_DIR/target

DBT_RUN_HISTORY_DIR

用于存档 run_results.json 历史记录的可选目录

DQ_BACKEND

bigquery (默认) 或 postgres

DQ_RESULTS_TABLE

检查表的 FQN(没有它,quality 类别在调用时会报错)

DQ_SCORE_TABLE

每日评分表的 FQN

GOOGLE_APPLICATION_CREDENTIALS

用于 BigQuery 后端(支持 ADC 回退)

BQ_PROJECT_ID

显式 BQ 项目(否则从 ADC 推断)

PG_CONNECTION_STRING

DQ_BACKEND=postgres 时使用(敏感信息)

DBT_ALLOW_WRITE

为未来的写入工具预留(v0.1 中暂无)

DBT_TOOLS / DBT_DISABLE

类别切换

DQ 结果表假设架构 (v0.1)

quality 类别假设 DQ_RESULTS_TABLE 包含 check_name, check_type, dataset, table_name, status, severity, failure_count, run_at, message 列;假设 DQ_SCORE_TABLE 包含 score_date, scope, tier, completeness_pct, freshness_pct, validity_pct, anomaly_free_pct, overall_score 列。v0.2 将增加可配置的列映射层。

已测试架构

  • dbt manifest 架构 v11 / v12 / v13(其他版本通常可以解析,但会显示 caveats 行进行提示)

配套服务器

如需 Airflow DAG 操作(列出、运行、任务实例、日志追踪、触发、清除),请与此服务器一起安装 @us-all/airflow-mcp

构建

pnpm install
pnpm run build      # tsc → dist/
pnpm test           # vitest
pnpm run smoke      # spawns dist/index.js, calls initialize + tools/list (set env first)

许可证

MIT — 参见 LICENSE

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/us-all/dbt-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server