- Home
- MCP servers
- DBT Manifest
DBT Manifest
- 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.