# dbt-labs/dbt-mcp [Verified] [Health: Active]

**Category:** 📊 Data Platforms  
**Repository:** https://github.com/dbt-labs/dbt-mcp  
**GitHub Stars:** 603  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/dbt-labs-dbt-mcp

## Description
Official MCP server for dbt (data build tool) providing integration with dbt Core/Cloud CLI, project metadata discovery, model information, and semantic layer querying capabilities.

## Tools
Capabilities this server exposes over MCP:

- **execute_sql** — Executes SQL on dbt Platform infrastructure with Semantic Layer support.
- **text_to_sql** — Generates SQL from natural language using project context.
- **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.
- **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).
- **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.
- **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.
- **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.
- **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).
- **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.
- **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.

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "dbt-mcp": {
    "command": "npx",
    "args": ["-y","dbt-labs-dbt-mcp"]
  }
}
```

## Documentation

## What dbt-labs/dbt-mcp MCP server does

The dbt-labs/dbt-mcp MCP server gives MCP-compatible agents access to dbt project context and operational tools across dbt Core, dbt Fusion, and dbt Platform. It covers two broad use cases: understanding a project and taking supported actions against it. Agents can inspect models, sources, exposures, macros, semantic models, tests, seeds, snapshots, and lineage, then use that context to answer questions or generate work.

For analytics use cases, the server exposes dbt Semantic Layer operations. Agents can list metrics and saved queries, inspect dimensions and entities, retrieve compiled metric SQL, query metrics with filters and grouping, retrieve dimension values, and execute SQL on dbt Platform infrastructure. Natural-language requests can also be converted to SQL using project context.

## How it works

The dbt-labs/dbt-mcp MCP server exposes the listed capabilities as MCP tools for clients such as Claude and Cursor. Discovery tools read project and account metadata, while local development tools use project files such as `manifest.json` for selected lineage and node-detail operations. Other tools connect to dbt Platform services for Semantic Layer queries, administrative operations, Fusion compilation, and platform-based lineage.

The dbt CLI tool group allows an MCP client to invoke operations including parsing, compiling, building, running, testing, showing SQL results, generating docs, cloning nodes, and listing project resources. Administrative tools can list projects and jobs, inspect runs and artifacts, retrieve errors, trigger or retry runs, cancel active runs, and override selected job settings.

## Setup and configuration

The repository publishes an experimental `dbt-mcp.mcpb` bundle with each release. MCPB-aware clients can import the bundle after downloading it from the release assets; installation or inspection uses the Anthropic `mcpb` CLI documentation. The supplied material does not specify a standalone package-manager command, required environment variables, or credential names.

The README points to dbt documentation for MCP setup and describes examples for connecting the server to Claude or Cursor. It also links to examples for developers building their own agent. The exact authentication and account configuration depend on the dbt capabilities being used and are not defined in the provided material.

## Tools and capabilities

Key capability groups include:

- Semantic Layer querying, metric discovery, dimension and entity inspection, and compiled SQL retrieval.
- Project discovery for models, sources, exposures, macros, tests, seeds, snapshots, and semantic models.
- Full lineage, related-model search, model health signals, and model execution history.
- dbt CLI actions for validation, compilation, execution, testing, documentation, and resource listing.
- dbt Platform administration for projects, jobs, runs, artifacts, errors, retries, cancellations, and triggers.
- Code generation for model YAML, source YAML, and staging model SQL.
- Fusion and local column-level lineage, product documentation search, and MCP server version or branch metadata.

Several resource-specific detail and parent/child tools are marked deprecated. The supported replacements are `get_node_details` for resource details and `get_lineage` for model relationships.

## Limitations and notes

The dbt-labs/dbt-mcp MCP server includes an alpha `search` tool that is not generally available. The README warns that dbt CLI operations may modify data models, sources, or warehouse objects. Job administration tools can also change run state by triggering, retrying, or canceling runs, so clients should only receive access when those effects are understood.

The server includes both platform-backed and local-development functionality, and the available results depend on the relevant dbt project files or Platform services. Product documentation tools are limited to searching and fetching content from `docs.getdbt.com`. Deprecated tools remain listed but should be replaced with their newer general-purpose equivalents.

_Full upstream README: https://allmcps.com/mcp/dbt-labs-dbt-mcp/readme_

