Dbt MCP Server

dbt MCP — manifest/run_results/sources/catalog parsing + DQ result tables (BigQuery/Postgres)

Local serverstdio

What is the Dbt MCP Server?

Dbt is an MCP integration. Dbt MCP — manifest/run_results/sources/catalog parsing + DQ result tables (BigQuery/Postgres).

Packages and local setup

The published npm package is @us-all/dbt-mcp, version 1.0.7. Its declared MCP transport is stdio.

The package declares DBT_PROJECT_DIR (required): Path to dbt project root (where dbt_project.yml lives).; DBT_TARGET_DIR: dbt target dir for manifest.json/run_results.json (default: $DBT_PROJECT_DIR/target).; DBT_RUN_HISTORY_DIR: Optional dir for archived run_results.json history (glob-scanned).; DQ_BACKEND: DQ result table backend: 'bigquery' (default) or 'postgres'.; DQ_RESULTS_TABLE: Fully qualified DQ checks table, e.g. 'project.data_ops.quality_checks'.; DQ_SCORE_TABLE: Fully qualified DQ score-daily table, e.g. 'project.data_ops.quality_score_daily'.; GOOGLE_APPLICATION_CREDENTIALS: Service account key path for BigQuery (ADC fallback supported).; BQ_PROJECT_ID: Explicit BigQuery project ID for DQ queries.; PG_CONNECTION_STRING: Postgres connection string when DQ_BACKEND=postgres.; DBT_ALLOW_WRITE: Reserved for future write tools. Default read-only.; DQ_SCHEMA: DQ result-table schema preset: 'generic' (default) or 'us-all'. Use DQ_COL_ env vars to override individual columns on top of the preset.; DQ_COL_RUN_AT: Override for the timestamp/date column on the DQ checks table. Default depends on DQ_SCHEMA preset.; DQ_COL_CHECK_TYPE: Override for the check-type column on the DQ checks table. Default 'check_type'.; DQ_COL_STATUS: Override for the status column on the DQ checks table. Default 'status'.; DQ_COL_DATASET: Override for the dataset/source column on the DQ checks table. Default depends on preset.; DQ_COL_TABLE_NAME: Override for the table/target-name column on the DQ checks table. Default depends on preset.; DQ_COL_SEVERITY: Override for the severity/dimension column on the DQ checks table. Default depends on preset.; DQ_COL_FAILURE_COUNT: Override for the numeric failure-count column on the DQ checks table. Default depends on preset.; DQ_COL_MESSAGE: Override for the message column on the DQ checks table. Default depends on preset.; DQ_COL_CHECK_NAME: Override for the check_name column on the DQ checks table. Set to 'none'/'null'/'-' to synthesize check_name from check_type and table_name.; DQ_COL_SCORE_DATE: Override for the date column on the DQ score-daily table. Default depends on preset.; DQ_COL_SCOPE: Override for the scope column on the DQ score-daily table. Set to 'none'/'null'/'-' if the table has no per-scope rollup.; DQ_COL_TIER: Override for the tier column on the DQ score-daily table. Set to 'none'/'null'/'-' if the table has no tier dimension.; DQ_TIER1_TARGET_PCT: When no tier column is configured (us-all preset or DQ_COL_TIER=none), the overall_score threshold dq-tier-status compares against (default 99.5). Superseded by DBT_SLA_CONFIG_PATH tier_sla.1 if both are set.; DBT_SLA_CONFIG_PATH: Optional path to a YAML file that defines tier_sla (per-tier overall_score targets) and dbt_sla (test/freshness pass rates). When set, dq-tier-status and dq-tier-by-source read tier targets from this file, and dbt-sla-status compares run_results / sources pass rates against dbt_sla.test_pass_pct / freshness_pass_pct. Mtime cached.; DBT_TOOLS: Comma-separated category allowlist (dbt,quality,meta).; DBT_DISABLE: Comma-separated category disablelist..

Before connecting

Check the maintainer’s instructions for account access, authentication and the supported client configuration. Once connected, inspect the tools your client receives and try a small task that matches the server’s stated purpose. The registry description does not include a verified, complete tool list.

Project and source

View the publisher’s registry entry · Project repository. This profile uses version 1.0.7 from the registry. Registration identifies the publisher namespace; it does not establish that this is a first-party integration for every service it connects.

Browse related developer tools MCP servers for tools that cover the same kind of work.

Configuration

VariableDescriptionRequired
DBT_PROJECT_DIRPath to dbt project root (where dbt_project.yml lives).Yes
DBT_TARGET_DIRdbt target dir for manifest.json/run_results.json (default: $DBT_PROJECT_DIR/target).Optional
DBT_RUN_HISTORY_DIROptional dir for archived run_results.json history (glob-scanned).Optional
DQ_BACKENDDQ result table backend: 'bigquery' (default) or 'postgres'.Optional
DQ_RESULTS_TABLEFully qualified DQ checks table, e.g. 'project.data_ops.quality_checks'.Optional
DQ_SCORE_TABLEFully qualified DQ score-daily table, e.g. 'project.data_ops.quality_score_daily'.Optional
GOOGLE_APPLICATION_CREDENTIALSService account key path for BigQuery (ADC fallback supported).Optional
BQ_PROJECT_IDExplicit BigQuery project ID for DQ queries.Optional
PG_CONNECTION_STRINGPostgres connection string when DQ_BACKEND=postgres.Optional
DBT_ALLOW_WRITEReserved for future write tools. Default read-only.Optional
DQ_SCHEMADQ result-table schema preset: 'generic' (default) or 'us-all'. Use DQ_COL_ env vars to override individual columns on top of the preset.Optional
DQ_COL_RUN_ATOverride for the timestamp/date column on the DQ checks table. Default depends on DQ_SCHEMA preset.Optional
DQ_COL_CHECK_TYPEOverride for the check-type column on the DQ checks table. Default 'check_type'.Optional
DQ_COL_STATUSOverride for the status column on the DQ checks table. Default 'status'.Optional
DQ_COL_DATASETOverride for the dataset/source column on the DQ checks table. Default depends on preset.Optional
DQ_COL_TABLE_NAMEOverride for the table/target-name column on the DQ checks table. Default depends on preset.Optional
DQ_COL_SEVERITYOverride for the severity/dimension column on the DQ checks table. Default depends on preset.Optional
DQ_COL_FAILURE_COUNTOverride for the numeric failure-count column on the DQ checks table. Default depends on preset.Optional
DQ_COL_MESSAGEOverride for the message column on the DQ checks table. Default depends on preset.Optional
DQ_COL_CHECK_NAMEOverride for the check_name column on the DQ checks table. Set to 'none'/'null'/'-' to synthesize check_name from check_type and table_name.Optional
DQ_COL_SCORE_DATEOverride for the date column on the DQ score-daily table. Default depends on preset.Optional
DQ_COL_SCOPEOverride for the scope column on the DQ score-daily table. Set to 'none'/'null'/'-' if the table has no per-scope rollup.Optional
DQ_COL_TIEROverride for the tier column on the DQ score-daily table. Set to 'none'/'null'/'-' if the table has no tier dimension.Optional
DQ_TIER1_TARGET_PCTWhen no tier column is configured (us-all preset or DQ_COL_TIER=none), the overall_score threshold dq-tier-status compares against (default 99.5). Superseded by DBT_SLA_CONFIG_PATH tier_sla.1 if both are set.Optional
DBT_SLA_CONFIG_PATHOptional path to a YAML file that defines tier_sla (per-tier overall_score targets) and dbt_sla (test/freshness pass rates). When set, dq-tier-status and dq-tier-by-source read tier targets from this file, and dbt-sla-status compares run_results / sources pass rates against dbt_sla.test_pass_pct / freshness_pass_pct. Mtime cached.Optional
DBT_TOOLSComma-separated category allowlist (dbt,quality,meta).Optional
DBT_DISABLEComma-separated category disablelist.Optional