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

@us-all/dbt-mcp

dbt MCP server — manifest.json, run_results.json, sources.json, catalog.json, plus DQ result tables (BigQuery / Postgres) behind one stdio MCP. Built on @us-all/mcp-toolkit.

A read-only window into your dbt project for LLM clients. No dbt run triggering — just deep introspection, run-history analysis, source freshness, per-column test coverage, lineage walks, and (if you have a custom DQ result table) historical check trends and Tier SLA status.

For DAG triggering / run history / log tails, install the companion @us-all/airflow-mcp alongside.

  • 22 tools across 3 categories (dbt, quality, meta)

  • 4 MCP Prompts for triage workflows

  • 4 aggregation tools that replace 3-5 round-trips of "list / get / list"

  • Read-only by default

  • Hybrid backend: BigQuery (default) or Postgres for DQ result tables — both peer-imported lazily

Install

# 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

Run

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

The server speaks MCP stdio; wire it into Claude Desktop / Cursor / any MCP client. Set MCP_TRANSPORT=http to opt in to Streamable HTTP transport (Bearer auth, /health endpoint).

Categories

Category

Tools

Purpose

dbt

15 + 2 aggregations

Parse manifest.json / run_results.json / sources.json / catalog.json

quality

5 + 2 aggregations

Query quality_checks and quality_score_daily (BQ or PG)

meta

1 (always on)

search-tools for natural-language tool discovery

Toggle with DBT_TOOLS=dbt (allowlist) or DBT_DISABLE=quality (denylist).

Tools at a glance

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

Use when

investigate-failed-tests

"What's broken in the last 24h?"

freshness-degradation-triage

"Are any sources stale?" (Tier 1 focus optional)

dq-trend-report

"Give me a stakeholder-friendly DQ trend report"

incident-triage

"Triage <model | source>" — bundles all signals

Environment variables

Env

Required

Notes

DBT_PROJECT_DIR

yes

dbt project root (where dbt_project.yml lives)

DBT_TARGET_DIR

no

Defaults to $DBT_PROJECT_DIR/target

DBT_RUN_HISTORY_DIR

no

Optional dir for archived run_results.json history

DQ_BACKEND

no

bigquery (default) or postgres

DQ_RESULTS_TABLE

no

FQN of the checks table (without it, quality category errors at call time)

DQ_SCORE_TABLE

no

FQN of the score-daily table

GOOGLE_APPLICATION_CREDENTIALS

no

For BigQuery backend (ADC fallback supported)

BQ_PROJECT_ID

no

Explicit BQ project (otherwise inferred from ADC)

PG_CONNECTION_STRING

no

When DQ_BACKEND=postgres (secret)

DBT_ALLOW_WRITE

no

Reserved for future write tools (none in v0.1)

DBT_TOOLS / DBT_DISABLE

no

Category toggles

DQ result-table assumed schema (v0.1)

The quality category assumes columns check_name, check_type, dataset, table_name, status, severity, failure_count, run_at, message on DQ_RESULTS_TABLE, and score_date, scope, tier, completeness_pct, freshness_pct, validity_pct, anomaly_free_pct, overall_score on DQ_SCORE_TABLE. v0.2 will add a configurable column-mapping layer.

Tested-against schemas

  • dbt manifest schema v11 / v12 / v13 (others usually parse but a caveats line will flag them)

Companion server

For Airflow DAG operations (list, runs, task instances, log tail, trigger, clear), install @us-all/airflow-mcp alongside this server.

Build

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

License

MIT — see 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