Skip to main content

MCP server that exposes a dbt project's manifest.json to claude: lineage, docs coverage, and test failures in plain english.

Project description

dbt-mcp-server

mcp server that lets claude answer questions about your dbt project. model lineage, missing docs, test failures straight from manifest.json

stateless by design: every tool call re-reads target/manifest.json, so answers always reflect your latest dbt parse. core logic is stdlib only, with a single dependency on the official mcp SDK. talks over stdio.

requirements

  • python 3.10+
  • a dbt project with a generated target/manifest.json (any dbt command creates it)

installing

pip install dbt-mcp-server

configuration

env var required description
DBT_MANIFEST_PATH no path to manifest.json (default: ./target/manifest.json). run_results.json is expected next to it
ANTHROPIC_API_KEY no reserved for the planned suggest_doc_blocks tool, not needed yet

hooking it up

claude desktop: add to claude_desktop_config.json (settings → developer → edit config):

{
  "mcpServers": {
    "dbt": {
      "command": "dbt-mcp-server",
      "env": {
        "DBT_MANIFEST_PATH": "/path/to/your/dbt_project/target/manifest.json"
      }
    }
  }
}

claude code:

claude mcp add dbt --env DBT_MANIFEST_PATH=/path/to/your/dbt_project/target/manifest.json -- dbt-mcp-server

tools

tool what you get
get_model_lineage(model_name) upstream and downstream dependency graph, direct and transitive
find_orphan_sources() sources that no model references
find_undocumented_models() models missing model-level or column-level descriptions
summarize_test_failures(since) test failures from run_results.json at or after an ISO date, grouped by model
trace_column_lineage(column, model) where a column likely originates, walking the graph upstream and matching declared column names
suggest_doc_blocks(model_name) (planned) YAML doc block drafts from compiled SQL via the claude API

then just ask things like:

"what feeds into fct_orders, and what breaks downstream if i change it?"

"which models are missing docs? list the undocumented columns."

"summarize test failures since 2026-07-01."

note: the manifest has no true column-level lineage, so trace_column_lineage won't match renamed or derived columns; it flags upstream nodes without declared columns so you know where the trail could continue.

development

git clone https://github.com/vladrosant/dbt-mcp-server
cd dbt-mcp-server
pip install -e ".[dev]"
pytest

license

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dbt_mcp_server-0.1.1.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dbt_mcp_server-0.1.1-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file dbt_mcp_server-0.1.1.tar.gz.

File metadata

  • Download URL: dbt_mcp_server-0.1.1.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dbt_mcp_server-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b59f5569ac4e2d20ca7698df47f81af201ae3c3fbdf0552edde52476b5daa4fb
MD5 f5601b0ae6493f8f95b61626deade79a
BLAKE2b-256 958372def0adca7e95be9a61b03d21a5bdd9626a4527804534a565270e7cac1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for dbt_mcp_server-0.1.1.tar.gz:

Publisher: publish.yml on vladrosant/dbt-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dbt_mcp_server-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: dbt_mcp_server-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dbt_mcp_server-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 03945bad7db8980d31450c7c6687e7864556a4e8c362e865442678dcd2667e83
MD5 67f86360078e29ebbe69e0980af1d267
BLAKE2b-256 8f6235ea6a9647532b8110888686f1d1d1ac489c370b96357ad129c5dfa9a8c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for dbt_mcp_server-0.1.1-py3-none-any.whl:

Publisher: publish.yml on vladrosant/dbt-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page