Dbt logo

Dbt

Read-only MCP access to dbt artifacts, run history, lineage, freshness, test coverage, and optional BigQuery/Postgres DQ tables.

Install Dbt

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "dbt": {
      "command": "npx",
      "args": [
        "-y",
        "@us-all/dbt-mcp"
      ],
      "env": {
        "DBT_PROJECT_DIR": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y @us-all/dbt-mcp

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 16d ago.

Overview

The dbt MCP server reads dbt project artifacts and optional data-quality result tables through one MCP interface. It parses manifest, run-results, sources, and catalog files for model, test, source, macro, exposure, run, lineage, freshness, and coverage analysis. Quality tools query BigQuery or Postgres tables for check history, score trends, failed checks, and tier status. Use it for investigation and reporting when agents need read-only dbt context; it does not trigger dbt runs.

Use cases

  • Inspect dbt models, tests, sources, and lineage
  • Investigate failed tests and stale sources
  • Review historical dbt runs and slow models
  • Track data-quality scores and tier status
  • Generate incident and DQ trend reports

Key features

  • Parses dbt manifest, run-results, sources, and catalog artifacts
  • Provides read-only model, test, source, lineage, and freshness analysis
  • Queries DQ result tables in BigQuery or Postgres
  • Includes aggregation tools and triage prompts
  • Supports configurable DQ schemas and column mappings
  • Runs over stdio or optional streamable HTTP

Tools26

What Dbt lets your agent do. Expand a tool for its parameters.

Self-reported~101 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

4/4 checks healthy over the last 46d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 8d ago via OSV.dev · @us-all/dbt-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

npm downloads180Package downloads in the last 30 days.
Last commit3mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Tools exposed26Callable tools this server registers over MCP.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

How Dbt works

What dbt MCP server does

The dbt MCP server provides read-only access to the information produced by a dbt project. It reads manifest.json, run_results.json, sources.json, and catalog.json from the project’s target directory, then exposes structured inspection tools through MCP. The available data supports model and test discovery, model and test details, source and exposure inspection, macro listing, run-history review, failed-test analysis, slow-model analysis, test coverage, graph traversal, source freshness, incident context, and SLA checks.

A separate quality category can query custom data-quality result tables in BigQuery or Postgres. Those tools cover check history, failed checks by dataset, score trends, tier status, and per-source tier results. The server also includes four prompts for failed-test investigation, freshness triage, DQ trend reporting, and incident triage.

How it works

The server runs over MCP stdio by default. An MCP client starts the process with the dbt project directory supplied through the environment, and the server reads the local artifact files. DBT_TARGET_DIR can select a target directory other than the default under the project root. Archived run-results directories can also be supplied for historical analysis.

Quality queries use BigQuery by default or Postgres when DQ_BACKEND=postgres. The relevant result and score table names are provided through environment variables. Two schema presets are available: generic and us-all; individual column mappings can be adjusted with DQ_COL_* variables. Optional YAML configuration supplies dbt test and freshness thresholds plus tier targets.

The server includes aggregation tools that combine common multi-step lookups, and high-volume reads support response projection through extractFields. Tool categories can be enabled with DBT_TOOLS or disabled with DBT_DISABLE. Streamable HTTP is available by setting MCP_TRANSPORT=http; that mode includes Bearer authentication and a /health endpoint.

Setup and configuration

Install the dbt MCP server as a development dependency with pnpm add -D @us-all/dbt-mcp, then run it with npx @us-all/dbt-mcp. Set DBT_PROJECT_DIR to the directory containing dbt_project.yml. Install @google-cloud/bigquery or pg only when using the corresponding custom DQ backend.

For BigQuery, authentication can use GOOGLE_APPLICATION_CREDENTIALS, with ADC fallback supported, and BQ_PROJECT_ID can explicitly select a project. Postgres uses PG_CONNECTION_STRING. DQ_RESULTS_TABLE is needed for checks-based quality tools, while DQ_SCORE_TABLE is needed for score-only tools. DBT_ALLOW_WRITE is reserved for future write tools; current tools remain read-only.

Tools and capabilities

The dbt category contains artifact and analysis tools such as model, test, source, exposure, macro, and run access, along with failed-test, slow-model, coverage, graph, freshness, incident, and SLA analysis. The quality category reads DQ checks and score tables. The always-on meta category provides search-tools for natural-language tool discovery.

For DAG triggering, run orchestration, or log tails, use the companion Airflow MCP server instead. This server does not invoke dbt run and does not provide write operations.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Dbt

dbt is an MCP server that connects AI clients to dbt project artifacts and optional BigQuery or Postgres data-quality tables. Its main tools inspect models, tests, sources, runs, lineage, freshness, coverage, failed checks, score trends, and tier status. It is read-only and does not trigger dbt runs.

Install it with `pnpm add -D @us-all/dbt-mcp`, then run `npx @us-all/dbt-mcp`. Set `DBT_PROJECT_DIR` to the dbt project root containing `dbt_project.yml`. Add the BigQuery or Postgres package only if you query custom DQ result tables.

Yes, it works with Cursor through MCP stdio configuration. The README also names Claude Desktop and says the server can be wired into any MCP client. Streamable HTTP is available instead by setting `MCP_TRANSPORT=http`.

No, it cannot trigger `dbt run` and currently provides read-only tools. Use the companion Airflow MCP server for DAG triggering, run history, and log tails.

Set `DQ_BACKEND` to `bigquery` or `postgres`, then configure the matching table and authentication variables. BigQuery is the default; Postgres uses `PG_CONNECTION_STRING`. `DQ_RESULTS_TABLE` and `DQ_SCORE_TABLE` are supplied as needed by the quality tools.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewDbt AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/dbt?style=directory)](https://allmcps.com/mcp/dbt)
HTML Embed
<a href="https://allmcps.com/mcp/dbt"><img src="https://allmcps.com/api/badge/dbt?style=directory" alt="Dbt on AllMCPs" /></a>