DBX MCP Server
Lets an assistant inspect schemas and run SQL, MongoDB and Redis operations on databases set up in DBX.
dbt Labs' server for running dbt commands, querying metrics and reading project metadata
Official · dbt Labs Python Local · stdio Data and analyticsDatabasesDeveloper tools
81 popularity score ★ 617 ↓ 76k/mo
Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.
It needs DBT_HOST. Replace each <NAME> with your value.
claude mcp add dbt -e DBT_HOST=<DBT_HOST> -- uvx dbt-mcp{
"mcpServers": {
"dbt": {
"command": "uvx",
"args": [
"dbt-mcp"
],
"env": {
"DBT_HOST": "<DBT_HOST>"
}
}
}
}{
"mcpServers": {
"dbt": {
"command": "uvx",
"args": [
"dbt-mcp"
],
"env": {
"DBT_HOST": "<DBT_HOST>"
}
}
}
}{
"servers": {
"dbt": {
"type": "stdio",
"command": "uvx",
"args": [
"dbt-mcp"
],
"env": {
"DBT_HOST": "<DBT_HOST>"
}
}
}
}[mcp_servers.dbt]
command = "uvx"
args = ["dbt-mcp"]
[mcp_servers.dbt.env]
DBT_HOST = "<DBT_HOST>"gemini mcp add --scope user -e DBT_HOST=<DBT_HOST> dbt uvx -- dbt-mcpDBT_HOST |
Required: dbt platform access URL hostname (e.g. abc123.us1.dbt.com); turns on OAuth sign-in and the platform tools. For CLI-only use, set DBT_PROJECT_DIR and DBT_PATH instead. |
|---|---|
DBT_PROJECT_DIR |
Optional: Absolute path to the folder holding dbt_project.yml; needed for the CLI tools. |
DBT_PATH |
Optional: Absolute path to the dbt executable; defaults to dbt on the PATH. |
DBT_TOKEN |
Optional: Personal access or service token, instead of OAuth; execute_sql needs a personal token. |
DBT_PROD_ENV_ID |
Optional: Production environment ID, for Discovery and Semantic Layer tools with a token. |
DBT_ACCOUNT_ID |
Optional: Account ID, for Admin API tools and personal-token sign-in. |
DBT_DEV_ENV_ID |
Optional: Development environment ID, for execute_sql. |
DBT_USER_ID |
Optional: dbt platform user ID, for execute_sql. |
DBT_CLI_TIMEOUT |
Optional: Seconds before a dbt command times out; default 60. |
DISABLE_DBT_CODEGEN |
Optional: Set to false to enable the Codegen tools, off by default. |
DISABLE_TOOLS |
Optional: Comma-separated tool names to hide. |
DISABLE_DBT_CLI |
Optional: Set to true to turn off the dbt CLI tools. |
dbt Labs publishes this server so an MCP client can work with a dbt project. Run locally with uvx, it can call the dbt executable on your machine (build, run, test, compile, show and others) against a project folder, and, when connected to a dbt platform account, read project metadata through the Discovery API, query metrics through the Semantic Layer, run or generate SQL, and list, start, retry or cancel jobs through the Administrative API. It also searches and fetches pages from docs.getdbt.com.
Toolsets switch themselves off when their settings are missing rather than failing: with only DBT_PROJECT_DIR and DBT_PATH it offers the CLI tools; with DBT_HOST it signs in to dbt platform by OAuth and adds the platform tools. Each toolset can also be turned off with a DISABLE_* setting, or single tools with DISABLE_TOOLS.
The settings file at v2.7.0 shows defaults the README does not list: the Codegen tools (DISABLE_DBT_CODEGEN) and the server-metadata tools (DISABLE_MCP_SERVER_METADATA) are off unless enabled, DBT_PATH falls back to plain "dbt" on the PATH, CLI commands time out after 60 seconds (DBT_CLI_TIMEOUT), and Semantic Layer responses are cut at 16,000 characters (DBT_MCP_SL_MAX_RESPONSE_CHARS). By default it also loads interactive result views from a dbt-owned CDN, which DISABLE_MCP_APPS turns off.
dbt also runs a hosted version on dbt platform for reading metrics, metadata and lineage without installing anything; it lacks the CLI and Codegen tools.
| Runtime | Python |
|---|
uv (the launch command is uvx). For the CLI tools: a local dbt project and a dbt executable (dbt v1, dbt v2/Fusion or the dbt platform CLI). For Semantic Layer, Discovery, Admin API and SQL tools: a dbt platform account; OAuth needs a Starter, Enterprise or Enterprise+ account with a static subdomain, otherwise a token. Local column lineage needs the dbt VS Code extension.
Platform tools need a dbt platform account, and which ones work depends on the plan's API access. execute_sql works only with a personal access token, not a service token. text_to_sql uses dbt Copilot actions and stops when the allotment runs out. CLI commands time out after 60 seconds by default. The hosted server has no CLI or Codegen tools. search is alpha and not generally available; eleven Discovery tools are deprecated in favour of get_node_details and get_lineage. The MCP bundle (dbt-mcp.mcpb) is marked experimental.
Suits analytics engineers who already use dbt and want an assistant to build, test and inspect their project, and teams on dbt platform who want metrics, lineage and job status in chat. It runs dbt commands that change warehouse objects, so it suits people who trust their client with that; for read-only metric and metadata questions without a local install, dbt's hosted server is the narrower choice. Not for people without a dbt project: it works on nothing else.
execute_sqltext_to_sqlget_dimension_valuesget_dimensionsget_entitiesget_metrics_compiled_sqllist_metricslist_saved_queriesquery_metricsget_all_macrosget_all_modelsget_all_sourcesget_exposuresget_lineageget_mart_modelsget_model_healthget_model_performanceget_node_detailsget_related_modelssearchget_model_detailsget_model_parentsget_model_childrenget_source_detailsget_exposure_detailsget_macro_detailsget_seed_detailsget_semantic_model_detailsget_snapshot_detailsget_test_detailsbuildclonecompiledocsget_lineage_devget_node_details_devlistparserunshowtestcancel_job_runget_job_detailsget_job_run_artifactsget_job_run_detailsget_job_run_errorlist_job_run_artifactslist_jobslist_jobs_runslist_projectsretry_job_runtrigger_job_rungenerate_model_yamlgenerate_sourcegenerate_staging_modelfusion.compile_sqlfusion.get_column_lineageget_column_lineagesearch_product_docsget_product_doc_pages