@us-all/dbt-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DBT_TOOLS | No | Category allowlist, e.g. 'dbt' | |
| DQ_BACKEND | No | bigquery (default) or postgres | bigquery |
| DBT_DISABLE | No | Category denylist, e.g. 'quality' | |
| BQ_PROJECT_ID | No | Explicit BQ project (otherwise inferred from ADC) | |
| MCP_TRANSPORT | No | Set to 'http' to opt in to Streamable HTTP transport | |
| DBT_TARGET_DIR | No | Defaults to $DBT_PROJECT_DIR/target | |
| DQ_SCORE_TABLE | No | FQN of the score-daily table | |
| DBT_ALLOW_WRITE | No | Reserved for future write tools (none in v0.1) | |
| DBT_PROJECT_DIR | Yes | dbt project root (where dbt_project.yml lives) | |
| DQ_RESULTS_TABLE | No | FQN of the checks table (without it, quality category errors at call time) | |
| DBT_RUN_HISTORY_DIR | No | Optional dir for archived run_results.json history | |
| PG_CONNECTION_STRING | No | When DQ_BACKEND=postgres (secret) | |
| GOOGLE_APPLICATION_CREDENTIALS | No | For BigQuery backend (ADC fallback supported) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| dbt-list-modelsB | List dbt models from manifest.json with filters (package, tag, materialized, schema, name search) |
| dbt-get-modelA | Get a single dbt model: refs, sources, columns (with catalog types if available), attached tests, raw/compiled SQL |
| dbt-list-testsB | List dbt tests (generic or singular) optionally filtered to a specific model |
| dbt-get-testA | Get a single dbt test: definition, parameters, attached models, latest run result |
| dbt-list-sourcesA | List dbt sources from manifest.json with optional source-group / name filters |
| dbt-get-sourceA | Get a single dbt source: freshness criteria, columns, latest freshness result from sources.json |
| dbt-list-exposuresA | List dbt exposures (downstream BI/ML/application consumers declared in YAML) |
| dbt-list-macrosB | List dbt macros from manifest.json with package / name filters |
| dbt-get-macroB | Get a dbt macro: signature, raw SQL, and reverse-lookup of nodes that call it |
| dbt-list-runsB | List recent dbt invocations from run_results.json files in target/ and DBT_RUN_HISTORY_DIR |
| dbt-get-run-resultsA | Get per-node results from a specific dbt invocation (or the latest run if invocationId omitted) |
| dbt-failed-testsA | Find tests that failed across the last N runs, grouped and ordered by chronic failure count |
| dbt-slow-modelsA | Top N slowest models in a dbt run by execution_time, with bytes_processed when available |
| dbt-coverageA | Per-column test coverage for a dbt model (which columns have tests, table-level tests, coverage %) |
| dbt-graphB | Walk dbt parent_map / child_map to return upstream and downstream nodes (model/source/test) up to a given depth |
| freshness-statusC | Cross-reference dbt source freshness criteria with sources.json results in a single 'is anything stale right now?' answer. |
| incident-contextA | Single asset deep-dive: dbt definition + recent test failures + DQ checks for the dataset. Designed to anchor an LLM-driven incident triage. |
| dq-list-checksB | List recent rows from DQ_RESULTS_TABLE filtered by dataset / status / type / time window |
| dq-get-check-historyB | Time-series of one check_name's status across the last N days |
| dq-failed-checks-by-datasetC | Group failing checks by dataset across a recent window with the latest 5 failures per dataset |
| dq-score-trendB | Time-series of the 4-axis DQ score (completeness / freshness / validity / anomaly_free) plus overall_score from DQ_SCORE_TABLE |
| dq-tier-statusA | Compare today's overall_score per scope against Tier SLA targets (Tier 1 99.5 / Tier 2 99.0 / Tier 3 95.0) and report meeting vs missing counts |
| failed-tests-summaryA | Aggregated 24h-ish view: dbt failed tests + DQ checks failures grouped by dataset + most recent failing rows. Replaces 3+ tool calls (dbt-failed-tests + dq-failed-checks-by-dataset + dq-list-checks). |
| dq-score-snapshotA | Aggregated 4-axis score trend + today's Tier compliance + most recent failing checks. Combines dq-score-trend + dq-tier-status + dq-list-checks(fail). |
| search-toolsA | Discover available dbt MCP tools by natural language query across dbt / quality / meta categories. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| investigate-failed-tests | Triage the latest dbt test failures + DQ check failures, group by dataset, infer likely root cause (upstream model error, source freshness, schema drift), and produce a prioritized action list. |
| freshness-degradation-triage | Identify sources/models violating freshness SLAs and rank by Tier impact. If @us-all/airflow-mcp is installed, the prompt also recommends cross-referencing with loading DAG runs. |
| dq-trend-report | Compile a trend report of the 4-axis DQ score over N days, flag regressions vs the prior week, and produce an executive summary. |
| incident-triage | Bundle dbt definition, recent test results, and DQ check results for a single asset into a triage page. If @us-all/airflow-mcp is installed, the prompt instructs the user to also pull DAG run history for full context. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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