Dbt MCP Server
by us-allio.github.us-all/dbtv1.0.7
dbt MCP — manifest/run_results/sources/catalog parsing + DQ result tables (BigQuery/Postgres)
context tax
queued
security
queued
cold start
queued
freshness
Slowing3mo ago
Install Dbt MCP server
Install in Claude Code
claude mcp add dbt-us-all -e DBT_PROJECT_DIR='<dbt-project-dir>' -e PG_CONNECTION_STRING='<pg-connection-string>' -- npx -y @us-all/dbt-mcpInstall in Cursor
{
"mcpServers": {
"dbt-us-all": {
"command": "npx",
"args": [
"-y",
"@us-all/dbt-mcp"
],
"env": {
"DBT_PROJECT_DIR": "<dbt-project-dir>",
"PG_CONNECTION_STRING": "<pg-connection-string>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"dbt-us-all": {
"command": "npx",
"args": [
"-y",
"@us-all/dbt-mcp"
],
"env": {
"DBT_PROJECT_DIR": "<dbt-project-dir>",
"PG_CONNECTION_STRING": "<pg-connection-string>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"dbt-us-all": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@us-all/dbt-mcp"
],
"env": {
"DBT_PROJECT_DIR": "<dbt-project-dir>",
"PG_CONNECTION_STRING": "<pg-connection-string>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"dbt-us-all": {
"command": "npx",
"args": [
"-y",
"@us-all/dbt-mcp"
],
"env": {
"DBT_PROJECT_DIR": "<dbt-project-dir>",
"PG_CONNECTION_STRING": "<pg-connection-string>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| DBT_PROJECT_DIR | yes | — | 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 | — | yes | 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. |
Freshness
Slowing — last maintenance signal 3mo ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-07-10 · 3mo ago · GitHub
Latest release
2026-06-19 · 4mo ago · GitHub · v1.0.7
Package published
no data · npm/PyPI
Registry entry updated
2026-06-19 · 4mo ago · official registry · v1.0.7
FAQ
›How do I install the Dbt MCP server in Claude Code?
Run: claude mcp add dbt-us-all -e DBT_PROJECT_DIR='<dbt-project-dir>' -e PG_CONNECTION_STRING='<pg-connection-string>' -- npx -y @us-all/dbt-mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Dbt require an API key?
Yes. It expects DBT_PROJECT_DIR, PG_CONNECTION_STRING, of which 1 is a secret.
›Can I use Dbt as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Dbt in the official MCP registry?
Yes, as io.github.us-all/dbt.
Alternatives to Dbt
Other database MCP servers.