← Back to directory
D

dbt MCP Server

Official
An MCP server for interacting with dbt.
Category
Dev Tools #50 of 438
Stars
★ 607 Very popular
Transport
stdio (local process)
Credentials
Optional API key
Language
Python
License
Apache-2.0
Last commit
Tools
61
65FMRS · C

The dbt MCP server is a feature-rich MCP server for integrating AI agents with dbt projects. It offers a wide array of tools covering SQL execution, Semantic Layer, Discovery API, Admin API, dbt CLI, and code generation. It is suitable for data teams and developers, but caution is needed regarding the potential risks of running dbt commands and SQL.

Strongest · Maintenance 16/20 Weakest · Reliability 9/20

Reliability
9/20
Security and permissions
12/20
Maintenance
16/20
Documentation
15/20
Setup experience
13/20
Why each score
Reliability 9/20
Only README evidence; tool list is clear but no test files or CI workflows are visible in source. Cannot confirm tools match real behavior. Given reputable maintainer, plausible happy path, but lack of verification caps score below 12.
Security and permissions 12/20
README explicitly warns that dbt CLI tools can modify data models and warehouse objects, and advises using only if client is trusted, indicating awareness of dangerous operations. Credential handling not detailed but likely via environment variables. No red flags found.
Maintenance 16/20
Repo is active with 595 stars and 35 open issues, not archived. README states dependencies are pinned and only security updates are automated, showing a maintenance policy. No explicit security response channel visible.
Documentation 15/20
README provides extensive tool list and links to official docs, but lacks installation steps, authentication configuration, parameter examples, and troubleshooting. No setup examples or error handling guidance. Good but with gaps.
Setup experience 13/20
README mentions connecting to agent products and an experimental MCPB bundle, but no concrete client configuration examples. Setup likely requires dbt environment, but no step-by-step guide is provided.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessUses the networkConnects to a database

Best for

  • Data teams using dbt Core, dbt Fusion, or dbt Platform.
  • Developers looking to integrate AI assistance into data workflows.
  • Analysts needing to quickly explore and understand dbt project structure and lineage.

Not for

  • Users without a dbt project or without plans to use dbt.
  • A general-purpose database MCP server for comprehensive database management.
  • Newcomers unaware of the risks of executing dbt commands like run or build.

Required permissions

  • Execute SQL queries (which may modify data).
  • Run dbt commands (e.g., run, build, test), which can modify data models, sources, and warehouse objects.
  • Access dbt Platform APIs such as Discovery API and Admin API.
  • Access local file system (e.g., manifest.json) for local tools.

Risks and side effects

  • Running dbt CLI commands can cause significant modifications to data models, sources, and warehouse objects, potentially leading to data loss or corruption.
  • Executing SQL queries may have unintended side effects, especially in production environments.
  • Access to sensitive data (e.g., job configurations, query results) requires proper authentication and authorization.

Setup

Clone or download the dbt MCP server from the GitHub repository. Follow the configuration and running instructions in the README. Alternatively, download the experimental MCP bundle from the latest release assets for MCPB-aware clients.

Check that it works

After connecting, tools such as get_mcp_server_version should appear in the client's tool list; calling get_mcp_server_version and getting a version back proves the server is connected.

Troubleshooting

  1. Ensure the MCP server is configured correctly, including necessary dbt project and platform credentials.
  2. Check network connectivity to ensure access to dbt Platform APIs and docs.getdbt.com.
  3. Verify that dependency versions are pinned and follow the configuration instructions in the README.

Things to try

Once connected, you can ask your AI assistant things like:

  • List all mart models in my dbt project with their descriptions
  • Generate SQL from natural language for the metric monthly_revenue and compile it for me
  • Trigger a production job run, then show me the error details of the latest run
  • Generate model YAML with columns for one of my models

Tools 61

execute_sql writes
Executes SQL on dbt Platform infrastructure with Semantic Layer support.
text_to_sql read-only
Generates SQL from natural language using project context.
get_dimension_values read-only
Gets distinct values for a dimension; option to scope to specific metrics.
get_dimensions read-only
Gets dimensions for specified metrics.
get_entities read-only
Gets entities for specified metrics.
get_metrics_compiled_sql read-only
Returns compiled SQL for metrics without executing the query.
list_metrics read-only
Retrieves all defined metrics.
list_saved_queries read-only
Retrieves all saved queries.
Show 53 more tools
query_metrics read-only
Executes metric queries with filtering and grouping options.
get_all_macros read-only
Retrieves macros; option to filter by package or return package names only.
get_all_models read-only
Retrieves name and description of all models.
get_all_sources read-only
Gets all sources with freshness status; option to filter by source name.
get_exposure_details read-only
(deprecated — use get_node_details instead)
get_exposures read-only
Gets all exposures (downstream dashboards, apps, or analyses).
get_lineage read-only
Gets full lineage graph (ancestors and descendants) with type and depth filtering.
get_macro_details read-only
(deprecated — use get_node_details instead)
get_mart_models read-only
Retrieves all mart models.
get_model_children read-only
(deprecated — use get_lineage instead)
get_model_details read-only
(deprecated — use get_node_details instead)
get_model_health read-only
Gets health signals: run status, test results, and upstream source freshness.
get_model_parents read-only
(deprecated — use get_lineage instead)
get_model_performance read-only
Gets execution history for a model; option to include test results.
get_node_details read-only
Gets full details for any dbt resource type (model, source, exposure, test, seed, snapshot, macro, semantic_model).
get_related_models read-only
Finds similar models using semantic search.
get_seed_details read-only
(deprecated — use get_node_details instead)
get_semantic_model_details read-only
(deprecated — use get_node_details instead)
get_snapshot_details read-only
(deprecated — use get_node_details instead)
get_source_details read-only
(deprecated — use get_node_details instead)
get_test_details read-only
(deprecated — use get_node_details instead)
search read-only
[Alpha] Searches for resources across the dbt project (not generally available).
build writes
Executes models, tests, snapshots, and seeds in DAG order.
clone writes
Clones selected nodes from the specified state to the target schema(s).
compile read-only
Generates executable SQL from models/tests/analyses; useful for validating Jinja logic.
docs writes
Generates documentation for the dbt project.
get_lineage_dev read-only
Retrieves lineage from local manifest.json with type and depth filtering.
get_node_details_dev read-only
Retrieves node details from local manifest.json (models, seeds, snapshots, sources).
list read-only
Lists resources in the dbt project by type with selector support.
parse read-only
Parses and validates project files for syntax correctness.
run writes
Executes models to materialize them in the database.
show read-only
Executes SQL against the database and returns results.
test writes
Runs tests to validate data and model integrity.
cancel_job_run writes
Cancels a running job.
get_job_details read-only
Gets job configuration including triggers, schedule, and dbt commands.
get_job_run_details read-only
Gets run details including status, timing, steps, and artifacts.
get_job_run_error read-only
Gets error and/or warning details for a job run; option to include or show warnings only.
list_job_run_artifacts read-only
Lists available artifacts from a job run.
list_jobs read-only
Lists jobs in a dbt Platform account; option to filter by project or environment.
list_jobs_runs read-only
Lists job runs; option to filter by job, status, or order by field.
list_projects read-only
Lists all projects in the dbt Platform account.
retry_job_run writes
Retries a failed job run.
trigger_job_run writes
Triggers a job run; option to override git branch, schema, or other settings.
generate_model_yaml writes
Generates model YAML with columns; option to inherit upstream descriptions.
generate_source writes
Generates source YAML by introspecting database schemas; option to include columns.
generate_staging_model writes
Generates staging model SQL from a source table.
fusion.compile_sql read-only
Compiles SQL in project context via dbt Platform.
fusion.get_column_lineage read-only
Traces column-level lineage via dbt Platform.
get_column_lineage read-only
Traces column-level lineage locally (requires dbt-lsp via dbt Labs VSCE).
get_product_doc_pages read-only
Fetches the full Markdown content of one or more docs.getdbt.com pages by path or URL.
search_product_docs read-only
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 read-only
Returns the current git branch of the running dbt MCP server.
get_mcp_server_version read-only
Returns the current version of the dbt MCP server.

Use cases

Provide AI agents with context of your dbt project for data-related questions.
Generate and execute SQL from natural language to accelerate data analysis.
Monitor and manage dbt jobs, such as triggering, retrying, and canceling runs.
Generate dbt project files like model YAML, source YAML, and staging models.

Supported clients

Claude
Cursor

Listed from the project's documentation, not tested by this site.

Overview

The dbt MCP 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.

Similar servers

Context7 80 · B

Upstash's official server providing up-to-date third-party library docs for AI coding assistants

★ 62.9k · Tools 2 Compare with this →

Source revision 305d01618c1d Data synced 2026-10-11 Read the FMRS scoring method