Sandbox
@dbt-labs/dbt-mcp

MCP server for dbt project tools

This server gives an agent access to dbt metadata, semantic layer queries, dbt CLI actions, docs search, and admin API tools. It is built as a Model Context Protocol server so builders can plug it into clients like Claude or Cursor and let the agent reason over dbt projects.

603 stars130 forksPythonUpdated 7d ago
Who it's for

Builders who want their agent to inspect, run, and explain dbt projects.

What it delivers

You can let your agent work with dbt context, lineage, and commands instead of switching into dbt tools by hand.

What it does

SQL tools

Runs SQL on dbt Platform infrastructure and generates SQL from natural language using project context.

Semantic layer tools

Lists metrics, dimensions, entities, saved queries, and can query metrics or return compiled metric SQL.

Discovery tools

Fetches models, sources, exposures, macros, lineage, node details, model health, and model performance.

dbt CLI tools

Exposes build, clone, compile, docs, list, parse, run, show, and test through the MCP interface.

Admin API tools

Lists jobs and projects, inspects runs and artifacts, triggers runs, retries runs, and cancels running jobs.

Codegen tools

Generates model YAML, source YAML, and staging model SQL from dbt metadata.

dbt LSP tools

Compiles SQL and traces column lineage with dbt Platform or local Fusion-powered tooling.

Product docs tools

Searches docs.getdbt.com and fetches full markdown pages for dbt documentation.

README

dbt MCP Server

OpenSSF Best Practices

This MCP (Model Context Protocol) server provides various tools to interact with dbt. You can use this MCP server to provide AI agents with context of your project in dbt Core, dbt Fusion, and dbt Platform.

Read our documentation here to learn more. This blog post provides more details for what is possible with the dbt MCP server.

Experimental MCP Bundle

We publish an experimental Model Context Protocol Bundle (dbt-mcp.mcpb) with each release so that MCPB-aware clients can import this server without additional setup. Download the bundle from the latest release assets and follow Anthropic's mcpb CLI docs to install or inspect it.

Feedback

If you have comments or questions, create a GitHub Issue or join us in the community Slack in the #tools-dbt-mcp channel.

Architecture

The dbt MCP server architecture allows for your agent to connect to a variety of tools.

architecture diagram of the dbt MCP server

Tools

SQL

Tools for executing and generating SQL on dbt Platform infrastructure.

  • execute_sql: Executes SQL on dbt Platform infrastructure with Semantic Layer support.
  • text_to_sql: Generates SQL from natural language using project context.

Semantic Layer

To learn more about the dbt Semantic Layer, click here.

  • get_dimension_values: Gets distinct values for a dimension; option to scope to specific metrics.
  • get_dimensions: Gets dimensions for specified metrics.
  • get_entities: Gets entities for specified metrics.
  • get_metrics_compiled_sql: Returns compiled SQL for metrics without executing the query.
  • list_metrics: Retrieves all defined metrics.
  • list_saved_queries: Retrieves all saved queries.
  • query_metrics: Executes metric queries with filtering and grouping options.

Discovery

To learn more about the dbt Discovery API, click here.

  • get_all_macros: Retrieves macros; option to filter by package or return package names only.
  • get_all_models: Retrieves name and description of all models.
  • get_all_sources: Gets all sources with freshness status; option to filter by source name.
  • get_exposure_details: (deprecated — use get_node_details instead)
  • get_exposures: Gets all exposures (downstream dashboards, apps, or analyses).
  • get_lineage: Gets full lineage graph (ancestors and descendants) with type and depth filtering.
  • get_macro_details: (deprecated — use get_node_details instead)
  • get_mart_models: Retrieves all mart models.
  • get_model_children: (deprecated — use get_lineage instead)
  • get_model_details: (deprecated — use get_node_details instead)
  • get_model_health: Gets health signals: run status, test results, and upstream source freshness.
  • get_model_parents: (deprecated — use get_lineage instead)
  • get_model_performance: Gets execution history for a model; option to include test results.
  • get_node_details: Gets full details for any dbt resource type (model, source, exposure, test, seed, snapshot, macro, semantic_model).
  • get_related_models: Finds similar models using semantic search.
  • get_seed_details: (deprecated — use get_node_details instead)
  • get_semantic_model_details: (deprecated — use get_node_details instead)
  • get_snapshot_details: (deprecated — use get_node_details instead)
  • get_source_details: (deprecated — use get_node_details instead)
  • get_test_details: (deprecated — use get_node_details instead)
  • search: [Alpha] Searches for resources across the dbt project (not generally available).

dbt CLI

Allowing your client to utilize dbt commands through the MCP tooling could modify your data models, sources, and warehouse objects. Proceed only if you trust the client and understand the potential impact.

  • build: Executes models, tests, snapshots, and seeds in DAG order.
  • clone: Clones selected nodes from the specified state to the target schema(s).
  • compile: Generates executable SQL from models/tests/analyses; useful for validating Jinja logic.
  • docs: Generates documentation for the dbt project.
  • get_lineage_dev: Retrieves lineage from local manifest.json with type and depth filtering.
  • get_node_details_dev: Retrieves node details from local manifest.json (models, seeds, snapshots, sources).
  • list: Lists resources in the dbt project by type with selector support.
  • parse: Parses and validates project files for syntax correctness.
  • run: Executes models to materialize them in the database.
  • show: Executes SQL against the database and returns results.
  • test: Runs tests to validate data and model integrity.

Admin API

To learn more about the dbt Administrative API, click here.

  • cancel_job_run: Cancels a running job.
  • get_job_details: Gets job configuration including triggers, schedule, and dbt commands.
  • get_job_run_artifacts: Downloads a specific artifact from a job run; large artifacts return a guidance message to retry with a jq_filter; supports jq filtering for targeted extraction.
  • get_job_run_details: Gets run details including status, timing, steps, and artifacts.
  • get_job_run_error: Gets error and/or warning details for a job run; option to include or show warnings only.
  • list_job_run_artifacts: Lists available artifacts from a job run.
  • list_jobs: Lists jobs in a dbt Platform account; option to filter by project or environment.
  • list_jobs_runs: Lists job runs; option to filter by job, status, or order by field.
  • list_projects: Lists all projects in the dbt Platform account.
  • retry_job_run: Retries a failed job run.
  • trigger_job_run: Triggers a job run; option to override git branch, schema, or other settings.

dbt Codegen

These tools help automate boilerplate code generation for dbt project files.

  • generate_model_yaml: Generates model YAML with columns; option to inherit upstream descriptions.
  • generate_source: Generates source YAML by introspecting database schemas; option to include columns.
  • generate_staging_model: Generates staging model SQL from a source table.

dbt LSP

A set of tools that leverage the Fusion engine for advanced SQL compilation and column-level lineage analysis.

  • fusion.compile_sql: Compiles SQL in project context via dbt Platform.
  • fusion.get_column_lineage: Traces column-level lineage via dbt Platform.
  • get_column_lineage: Traces column-level lineage locally (requires dbt-lsp via dbt Labs VSCE).

Product Docs

Tools for searching and fetching content from the official dbt documentation at docs.getdbt.com.

  • get_product_doc_pages: Fetches the full Markdown content of one or more docs.getdbt.com pages by path or URL.
  • search_product_docs: Searches docs.getdbt.com for pages matching a query; returns titles, URLs, and descriptions ranked by relevance. Use get_product_doc_pages to fetch full content.

MCP Server Metadata

These tools provide information about the MCP server itself.

  • get_mcp_server_branch: Returns the current git branch of the running dbt MCP server.
  • get_mcp_server_version: Returns the current version of the dbt MCP server.

Examples

Commonly, you will connect the dbt MCP server to an agent product like Claude or Cursor. However, if you are interested in creating your own agent, check out the examples directory for how to get started.

Dependencies

Dependencies are pinned to specific versions and are not updated automatically. Only security-related dependency updates are submitted via automated pull requests.

Contributing

Read CONTRIBUTING.md for instructions on how to get involved!

Files in the repo

Repository payload30 top-level entries
  • .changes
  • .claude
  • .github
  • .task
  • .vscode
  • docs
  • evals
  • examples
  • scripts
  • src
  • tests
  • ui
  • .changie.yaml
  • .dockerignore
  • .env.example
  • .gitignore
  • .mcpbignore
  • .pre-commit-config.yaml
  • .tool-versions
  • AGENTS.md
  • CHANGELOG.md
  • CLAUDE.md
  • CONTRIBUTING.md
  • Dockerfile
  • LICENSE
  • manifest.json
  • pyproject.toml
  • README.md
  • Taskfile.yml
  • uv.lock

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface

86k

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
tirth8205/
code-review-graph

Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

31k
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k