Skip to main content
Glama

DBT Manifest MCP Server

DBT Manifest MCP Server

A FastMCP server for analyzing DBT manifests with automatic schema version detection and lineage tracking.

Author: David B Company: DABBLEFISH LLC License: MIT

Features

  • Automatic Schema Version Detection: Supports DBT manifest schema versions v0-v12
  • Version-Adaptive Parsing: Backward compatibility with legacy manifest formats
  • SQLite Database Storage: Efficient querying and data persistence
  • Lineage Analysis: Upstream and downstream dependency tracking
  • Model Information: Detailed model metadata and compiled code access
  • PEP-8 Compliant: Professional Python package structure

Installation

From PyPI (when published)

pip install dbt-manifest-mcp

From Source

git clone https://github.com/dabblefish/dbt-manifest-mcp.git cd dbt-manifest-mcp pip install -e .

Development Installation

git clone https://github.com/dabblefish/dbt-manifest-mcp.git cd dbt-manifest-mcp pip install -e ".[dev]"

Usage

Running the Server

# Using the installed command dbt-manifest-mcp # Or using Python module python -m dbt_manifest_mcp.server

Environment Variables

  • DBT_MANIFEST_PATH: Path to the DBT manifest.json file (required)
  • DBT_DB_PATH: Path to SQLite database file (optional, defaults to ./dbt_manifest.db)

Example

export DBT_MANIFEST_PATH="/path/to/your/manifest.json" export DBT_DB_PATH="./dbt_manifest.db" dbt-manifest-mcp

Available Tools

1. refresh_manifest

Refresh DBT manifest data by parsing and storing in SQLite database.

Parameters:

  • manifest_path (optional): Path to the DBT manifest.json file

Returns: Success message with statistics

2. get_upstream_lineage

Get upstream lineage for a DBT model.

Parameters:

  • model_id: Unique ID of the DBT model (e.g., 'model.my_project.my_model')

Returns: Dictionary with model_id, upstream_models list, and count

3. get_downstream_lineage

Get downstream lineage for a DBT model.

Parameters:

  • model_id: Unique ID of the DBT model (e.g., 'model.my_project.my_model')

Returns: Dictionary with model_id, downstream_models list, and count

4. get_model_info

Get detailed information about a DBT model including parent/child counts and compiled code.

Parameters:

  • model_id: Unique ID of the DBT model (e.g., 'model.my_project.my_model')

Returns: Dictionary with detailed model information

5. get_schema_info

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

Returns: Dictionary with version info, features, and statistics

Schema Version Support

The server automatically detects and adapts to different DBT manifest schema versions:

  • v0-v3: Legacy format with basic node structure
  • v4+: Modern format with parent_map and child_map
  • v12: Latest format with enhanced metadata

Version-Specific Features

VersionParent MapChild MapNode StructureMetadata Location
v0-v3❌ (built from dependencies)❌ (built from dependencies)LegacyRoot
v4-v11ModernMetadata
v12ModernMetadata

Database Schema

The server creates the following SQLite tables:

  • metadata: Schema version and manifest metadata
  • nodes: DBT models, tests, and other nodes
  • sources: DBT source definitions
  • macros: DBT macro definitions
  • parent_map: Parent-child relationships
  • child_map: Child-parent relationships

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()

Error Handling

The server includes comprehensive error handling for:

  • Missing or invalid manifest files
  • Unsupported schema versions
  • Database connection issues
  • Invalid model IDs

License

MIT License - see LICENSE file for details.

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Enables the analysis of DBT manifests with automatic schema version detection and lineage tracking, allowing users to query model dependencies, access compiled code, and get detailed model information.

  1. Features
    1. Installation
      1. From PyPI (when published)
      2. From Source
      3. Development Installation
    2. Usage
      1. Running the Server
      2. Environment Variables
      3. Example
    3. Available Tools
      1. 1. refresh_manifest
      2. 2. get_upstream_lineage
      3. 3. get_downstream_lineage
      4. 4. get_model_info
      5. 5. get_schema_info
    4. Schema Version Support
      1. Version-Specific Features
    5. Database Schema
      1. Example Usage
        1. Error Handling
          1. License

            Related MCP Servers

            • -
              security
              A
              license
              -
              quality
              A server that enables querying the dbt Semantic Layer through natural language conversations with Claude Desktop and other AI assistants, allowing users to discover metrics, create queries, analyze data, and visualize results.
              Last updated -
              10
              TypeScript
              MIT License
            • -
              security
              F
              license
              -
              quality
              Intelligent knowledge base management tool that enables searching, browsing, and analyzing documents across multiple datasets with smart document analysis capabilities.
              Last updated -
              14
              Python
              • Apple
              • Linux
            • A
              security
              A
              license
              A
              quality
              Provides tools for analyzing project structures, searching through codebases, managing dependencies, and performing file operations with advanced filtering capabilities.
              Last updated -
              6
              512
              1
              TypeScript
              MIT License
            • -
              security
              A
              license
              -
              quality
              A powerful tool designed to help, primarily LLMs, understand and navigate complex codebases. It functions both as a command-line application for on-demand analysis and as an MCP (Model Context Protocol) server, providing continuous repository mapping capabilities to other applications. By generating
              Last updated -
              20
              Apache 2.0

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/dabblefish-solutions/dabblefish__mcp__dbt-core-tools'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server