Server profile

dbt MCP Server

dbt MCP Server gives agents project context and operations across dbt Core, Fusion, and Platform. It covers SQL, metrics, lineage, model health, CLI commands, job management, and documentation retrieval.

Server facts

dbt MCP Server

Project

Author
dbt-labs
License
Apache-2.0

Tech

Runtime / language
pythonPython
Transports
stdio
Remote available
No
Authentication
Not specified

Activity

GitHub stars
609
Last commit
Data as of

Tags

  • Analytics Engineering
  • Data Lineage
  • Dbt
  • Semantic Layer
  • Sql

Overview

dbt MCP Server connects AI agents to dbt project information and operational tools across dbt Core, dbt Fusion, and dbt Platform. Its SQL tools can generate queries from natural-language requests and execute SQL on Platform infrastructure. Semantic Layer operations expose metrics, dimensions, entities, saved queries, and compiled metric SQL. Discovery tools provide model descriptions, source freshness, macros, exposures, dependencies, and execution history. Together, these surfaces let an assistant inspect a project before proposing changes or interpreting analytical results. Model health combines run status, test results, and upstream freshness, while lineage tools cover both broader dependency graphs and column-level relationships.

The integration also reaches into development and administration. CLI tools can parse, compile, build, run, and test project resources, and code-generation tools create model YAML, source YAML, and staging SQL. Administrative operations inspect jobs and artifacts, trigger runs, retry failures, or cancel active work. Documentation tools search official dbt pages and retrieve their Markdown content. These capabilities are not all read-only: the README warns that CLI access can change models, sources, and warehouse objects. Search across project resources is marked alpha, and local column lineage requires dbt-lsp through the dbt Labs VSCE. An experimental MCP bundle is published with releases, but the supplied README does not provide a runnable server command or environment-variable setup.

Install & configure

No install command stated in the README — see repo.

Not stated in the README: a runnable command, launch arguments, or required environment variables. An experimental dbt-mcp.mcpb bundle is available in release assets for compatible clients; detailed setup is linked externally.

Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.

No install command stated in the README — see repo. Check the client documentation for a supported connection method.

Read the Claude Desktop setup guide

Config file · Project: .cursor/mcp.json

User: ~/.cursor/mcp.json

The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.

No install command stated in the README — see repo. Check the client documentation for a supported connection method.

Read the Cursor setup guide

Config file · Workspace: .vscode/mcp.json

For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.

No install command stated in the README — see repo. Check the client documentation for a supported connection method.

Read the VS Code setup guide

Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json

Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.

No install command stated in the README — see repo. Check the client documentation for a supported connection method.

Read the Windsurf setup guide

Config file · Project scope: .mcp.json at the repository root

The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.

No install command stated in the README — see repo. Check the client documentation for a supported connection method.

Read the Claude Code setup guide

Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.

Tools

Source: repository README. Tool descriptions are a documented snapshot, not a live capability check.

ToolWhat it does
execute_sqlRun SQL on dbt Platform with Semantic Layer support.
text_to_sqlGenerate SQL from a natural-language request and project context.
get_dimension_valuesRetrieve distinct dimension values, optionally limited to selected metrics.
get_dimensionsInspect dimensions associated with chosen metrics.
get_entitiesInspect entities associated with chosen metrics.
get_metrics_compiled_sqlCompile a metric query without running it.
list_metricsList metrics defined in the Semantic Layer.
list_saved_queriesList available saved queries.
query_metricsRun metric queries with grouping and filters.
get_all_macrosList macros with optional package filtering.
get_all_modelsList model names and descriptions.
get_all_sourcesList sources and freshness, optionally narrowing by source name.
get_exposure_detailsInspect an exposure, its owner, dependencies, and freshness.
get_exposuresList downstream exposures such as dashboards and applications.
get_lineageInspect ancestors and descendants with depth and resource-type controls.
get_macro_detailsInspect one macro.
get_mart_modelsList mart models.
get_model_childrenFind downstream resources depending on a model.
get_model_detailsInspect model columns, schema, and compiled SQL.
get_model_healthReview run status, tests, and upstream source freshness.
get_model_parentsFind resources a model depends on.
get_model_performanceInspect model execution history, optionally including tests.
Find models through semantic similarity.
get_seed_detailsInspect a seed resource.
get_semantic_model_detailsInspect one semantic model.
get_snapshot_detailsInspect a snapshot resource.
get_source_detailsInspect source columns and freshness.
get_test_detailsInspect a test resource.
searchSearch project resources; this capability is alpha.
buildMaterialize selected resources and run tests in dependency order.
cloneClone selected state nodes into target schemas.
compileCompile project SQL and validate Jinja expressions.
docsGenerate project documentation.
get_lineage_devRead dependency relationships from a local manifest.
get_node_details_devInspect local manifest entries for project resources.
listEnumerate project resources with type and selector filters.
parseCheck project parsing and syntax.
runExecute models to create their database materializations.
showExecute SQL and return database results.
testRun model and data validation tests.
cancel_job_runStop an active job run.
get_job_detailsInspect job schedules, triggers, and dbt commands.
get_job_run_detailsInspect run status, timing, steps, and artifacts.
get_job_run_errorRetrieve errors and optional warnings from a run.
list_job_run_artifactsList artifacts produced by a job run.
list_jobsList account jobs with optional project or environment filters.
list_jobs_runsList job runs with job, status, and ordering controls.
list_projectsList projects in a dbt Platform account.
retry_job_runRetry a failed run.
trigger_job_runStart a job run with optional setting overrides.
generate_model_yamlGenerate model YAML, optionally reusing upstream column descriptions.
generate_sourceGenerate source YAML by inspecting database schemas.
generate_staging_modelGenerate staging SQL for a source table.
fusion.compile_sqlCompile SQL using Platform project context and Fusion.
fusion.get_column_lineageTrace column relationships through dbt Platform.
get_column_lineageTrace local column relationships using dbt-lsp.
get_product_doc_pagesFetch Markdown for selected official dbt documentation pages.
search_product_docsFind relevant official documentation pages and ranked references.
get_mcp_server_branchReport the running server checkout branch.
get_mcp_server_versionReport the running server version.

Names, permissions, and defaults can change. Check the current upstream documentation before granting access.

Use cases

  • Inspect model lineage, freshness, and test health
  • Query defined metrics through the Semantic Layer
  • Generate staging SQL and model documentation YAML
  • Inspect, trigger, retry, or cancel Platform job runs
  • Search official dbt product documentation

Strengths

  • Combines project metadata with development and operational tools
  • Includes Semantic Layer and column-lineage capabilities
  • Provides official documentation search and retrieval

Limitations

  • CLI tools can modify models and warehouse objects
  • Project-wide search is alpha and not generally available
  • Runnable server setup is not stated in the README

Frequently asked questions

The README names dbt Core, Fusion, and Platform.

No. CLI commands can alter models, sources, and warehouse objects; job tools can also change run state.

No. It links setup documentation and describes an experimental release bundle, but supplies no runnable command.

No. The search tool is labeled alpha and not generally available.

Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.

Related MCP servers

Excel MCP Server

Data & Analytics

Excel MCP Server lets AI agents create and modify workbooks without an installed copy of Microsoft Excel. It covers worksheet management, formulas, formatting, charts, and pivot tables through local or remote MCP connections.

MCP Server Chart

Data & Analytics

Generate charts, diagrams, maps, and tabular views from an AI assistant using AntV. The TypeScript MCP server supports desktop clients, network transports, and an optional private rendering service.

Grafana MCP Server

Data & Analytics

Connect MCP assistants to Grafana dashboards, datasources, alerts, and incident workflows. It serves observability teams that want to investigate metrics, logs, and traces and manage Grafana resources from an assistant.

MCP Google Sheets

Data & Analytics

MCP Google Sheets lets AI clients work with spreadsheets through Google Sheets and Drive APIs. It supports reading, writing, tab management, sharing, and batch operations, with tool filtering to reduce context usage.

Jupyter MCP Server

Data & Analytics

Jupyter MCP Server lets AI assistants inspect, edit, and execute notebooks with live output feedback. It supports multiple notebooks, multimodal results, JupyterLab commands, and optional execution tracing.

Google Search Console MCP Server

Data & Analytics

This server connects MCP assistants to Google Search Console data and management actions. SEOs can investigate search performance, inspect indexing, compare periods, and work with sitemaps.