Provides access to dbt project metadata through manifest.json and catalog.json artifacts, enabling search of models, sources, and tests, inspection of node attributes, exploration of model dependencies, and tracing of column-level lineage within dbt projects.
Used for progress visualization when processing potentially large dbt manifests, particularly during column-level lineage creation which can take hours for larger projects.
dbt-docs-mcp
Model Context Protocol (MCP) server for interacting with dbt project metadata, including dbt Docs artifacts (manifest.json
, catalog.json
). This server exposes dbt graph information and allows querying node details, model/column lineage, and related metadata.
Key Functionality
This server provides tools to:
- Search dbt Nodes:
- Find nodes (models, sources, tests, etc.) by name (
search_dbt_node_names
). - Locate nodes based on column names (
search_dbt_column_names
). - Search within the compiled SQL code of nodes (
search_dbt_sql_code
).
- Find nodes (models, sources, tests, etc.) by name (
- Inspect Nodes:
- Retrieve detailed attributes for any given node unique ID (
get_dbt_node_attributes
).
- Retrieve detailed attributes for any given node unique ID (
- Explore Lineage:
- Find direct upstream dependencies (predecessors) of a node (
get_dbt_predecessors
). - Find direct downstream dependents (successors) of a node (
get_dbt_successors
).
- Find direct upstream dependencies (predecessors) of a node (
- Column-Level Lineage:
- Trace all upstream sources for a specific column in a model (
get_column_ancestors
). - Trace all downstream dependents of a specific column in a model (
get_column_descendants
).
- Trace all upstream sources for a specific column in a model (
- Suggested extensions:
- Tool that allows executing SQL queries.
- Tool that retrieves table/view/column metadata directly from the database.
- Tool to search knowledge-base.
Getting Started
- Prerequisites: Ensure you have Python installed and uv
- Clone the repo:
- Optional: parse dbt manifest for column-level lineage:
- Setup the required Python environment, e.g.:
- Use the provided script
scripts/create_manifest_cl.py
and simply provide the path to your dbt manifest, dbt catalog and the desired output paths for your schema and column lineage file:
- Depending on your dbt project size, creating column-lineage can take a while (hours)
- Run the Server:
- If your desired MCP client (Claude desktop, Cursor, etc.) supports mcp.json it would like as below:
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
dbt-docs-mcp
Related MCP Servers
- PythonMIT License
- Apache 2.0
- JavaScriptMIT License
- PythonApache 2.0