dbt-mcp
An MCP server that exposes a dbt project's run state as tools, enabling AI assistants to answer questions like 'is the warehouse healthy?' or 'what broke and why?' via plain English, using read-only access to dbt artifacts and warehouse data.
README
dbt-mcp
Ask your dbt project what's wrong, in plain English. An MCP server that exposes a dbt project's run state as tools, so an AI assistant can compose its own answers to questions like "is the warehouse healthy?" or "what broke and why?" — no orchestration written by hand.
Built on dbt-sentinel, which does the artifact parsing and row sampling.

Tools
| Tool | Answers |
|---|---|
run_summary |
What failed in the last dbt run, at a glance |
list_failing_tests |
Each failure: what it guards, how many rows, which test type |
sample_failing_rows |
The actual offending rows, capped |
health |
Is the server configured correctly and can it reach its inputs |
Quickstart
uv sync
export DBT_TARGET_DIR=/path/to/dbt/target
export DBT_DUCKDB_PATH=/path/to/warehouse.duckdb # or BQ_PROJECT=my-project
uv run dbt-mcp
Inspect it interactively:
npx @modelcontextprotocol/inspector \
-e DBT_TARGET_DIR=$DBT_TARGET_DIR \
-e DBT_DUCKDB_PATH=$DBT_DUCKDB_PATH \
uv run dbt-mcp
Configuration
| Variable | Purpose |
|---|---|
DBT_TARGET_DIR |
dbt target/ directory (required) |
DBT_DUCKDB_PATH |
DuckDB warehouse file |
BQ_PROJECT / BQ_LOCATION |
BigQuery alternative |
Design decisions
Why MCP rather than a CLI. A CLI answers the question you anticipated. MCP tools let an agent compose answers to questions you didn't — it decides which tools to call and in what order.
Thin tools, not one god-tool. Each tool does one legible thing so the model can reason about when to use it. The docstrings are the interface: they become the tool descriptions the model reads.
Read-only by contract. The warehouse is opened read-only; this inspects, never mutates.
Errors are messages, not stack traces. A missing config returns "DBT_TARGET_DIR is not set; point it at a dbt target/ directory" — something an agent can act on.
Status
M1 complete: server, four tools, verified against a real dbt project via MCP Inspector.
Next: explain_failure (grounded root-cause analysis), model_lineage, test_history.
Development
uv sync --group dev
uv run ruff check .
uv run pytest -v
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.