Skip to main content

Model Context Protocol (MCP) server for dbt docs

Project description

Verified on MseeP

Trust Score

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).
  • Inspect Nodes:
    • Retrieve detailed attributes for any given node unique ID (get_dbt_node_attributes).
  • Explore Lineage:
    • Find direct upstream dependencies (predecessors) of a node (get_dbt_predecessors).
    • Find direct downstream dependents (successors) of a node (get_dbt_successors).
  • 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).
  • 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

  1. Prerequisites: Ensure you have Python installed and uv
  2. Clone the repo:
    git clone <repository-url>
    cd dbt-docs-mcp
    
  3. Optional: parse dbt manifest for column-level lineage:
    • Setup the required Python environment, e.g.:
    uv sync
    
    • 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:
    python scripts/create_manifest_cl.py --manifest-path PATH_TO_YOUR_MANIFEST_FILE --catalog-path PATH_TO_YOUR_CATALOG_FILE --schema-mapping-path DESIRED_OUTPUT_PATH_FOR_SCHEMA_MAPPING --manifest-cl-path DESIRED_OUTPUT_PATH_FOR_MANIFEST_CL
    
    • Depending on your dbt project size, creating column-lineage can take a while (hours)
  4. Run the Server:
    • If your desired MCP client (Claude desktop, Cursor, etc.) supports mcp.json it would look as below:
    {
        "mcpServers": {
            "DBT Docs MCP": {
            "command": "uv",
            "args": [
                "run",
                "--with",
                "networkx,mcp[cli],rapidfuzz,dbt-core,python-decouple,sqlglot,tqdm",
                "mcp",
                "run",
                "/Users/mattijs/repos/dbt-docs-mcp/src/mcp_server.py"
            ],
            "env": {
                "MANIFEST_PATH": "/Users/mattijs/repos/dbt-docs-mcp/inputs/manifest.json",
                "SCHEMA_MAPPING_PATH": "/Users/mattijs/repos/dbt-docs-mcp/outputs/schema_mapping.json",
                "MANIFEST_CL_PATH": "/Users/mattijs/repos/dbt-docs-mcp/outputs/manifest_column_lineage.json"
            }
            }
        }
    }
    

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

iflow_mcp_mattijsdp_dbt_docs_mcp-0.0.2.tar.gz (92.4 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file iflow_mcp_mattijsdp_dbt_docs_mcp-0.0.2.tar.gz.

File metadata

  • Download URL: iflow_mcp_mattijsdp_dbt_docs_mcp-0.0.2.tar.gz
  • Upload date:
  • Size: 92.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_mattijsdp_dbt_docs_mcp-0.0.2.tar.gz
Algorithm Hash digest
SHA256 3d2e9bad4d506acccd7a6d26307afee73cf5f2163eb072dcdbfed2632a9fb537
MD5 a134ae9a2b55c985b060975e878c1fea
BLAKE2b-256 94a9227e0e4a092985a0cfa5678090c49603e729d44da73b80578dd3a4af45f3

See more details on using hashes here.

File details

Details for the file iflow_mcp_mattijsdp_dbt_docs_mcp-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_mattijsdp_dbt_docs_mcp-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_mattijsdp_dbt_docs_mcp-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f5c54069db60019b931bf1cb7fbf50282a8e4d962b53137e5cfa370f2fe30899
MD5 0358c19f229b0de4864515d354809a94
BLAKE2b-256 df7c3859438823ddbc242996a729c1542417f0b7a427c1bde642d6d57fb9f993

See more details on using hashes here.

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