DBT Manifest

MCP Server: DBT Core Tools
  • python

1

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "dabblefish-solutions-dabblefish__mcp__dbt-core-tools": {
      "command": "dbt-manifest-mcp",
      "args": [],
      "env": {
        "DBT_DB_PATH": "./dbt_manifest.db",
        "DBT_MANIFEST_PATH": "YOUR_PATH_TO_manifest.json"
      }
    }
  }
}

You can run and query the DBT Manifest MCP Server to analyze DBT manifests, track lineage, and store results locally for fast querying. It automatically handles multiple manifest schema versions, keeps metadata about models, and lets you explore upstream and downstream dependencies with a SQLite backing store for persistence.

How to use

Connect to the MCP server from your MCP client and call its functions to refresh data, inspect model lineage, and fetch detailed model information. Use these tools to build dashboards, verify dependencies, and understand how changes in one model propagate through your DBT project.

How to install

Prerequisites: you need Python and pip available on your system.

pip install dbt-manifest-mcp
# Or install from source
git clone https://github.com/dabblefish/dbt-manifest-mcp.git
cd dbt-manifest-mcp
pip install -e .
# For development
git clone https://github.com/dabblefish/dbt-manifest-mcp.git
cd dbt-manifest-mcp
pip install -e ".[dev]"

Configuration and usage notes

Set the path to your DBT manifest file and, optionally, the SQLite database location before starting the server.

Environment variables to configure before running the server:

Example usage

# After starting the server, you can use the tools via MCP client

# Refresh manifest data
refresh_manifest("/path/to/manifest.json")

# Get upstream dependencies
upstream = get_upstream_lineage("model.my_project.customer_orders")

# Get downstream dependencies
downstream = get_downstream_lineage("model.my_project.raw_customers")

# Get detailed model information
model_info = get_model_info("model.my_project.customer_summary")

# Get schema version information
schema_info = get_schema_info()

Available tools

refresh_manifest

Refresh DBT manifest data by parsing and storing it in the SQLite database. Returns a success status with statistics.

get_upstream_lineage

Retrieve upstream dependencies for a given model_id, returning the model_id, a list of upstream models, and a count.

get_downstream_lineage

Retrieve downstream dependencies for a given model_id, returning the model_id, a list of downstream models, and a count.

get_model_info

Get detailed information about a specific DBT model, including parent/child counts and the compiled code when available.

get_schema_info

Return information about the loaded manifest schema version, supported features, and database statistics.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational