# dbt-mcp

> A MCP (Model Context Protocol) server for interacting with dbt.

- **URL**: https://www.freshcrate.ai/projects/dbt-mcp
- **Author**: dbt-labs
- **Category**: MCP Servers
- **Latest version**: `v1.20.0` (2026-06-03)
- **License**: Apache-2.0
- **Source**: https://github.com/dbt-labs/dbt-mcp
- **Language**: Python
- **GitHub**: 542 stars, 115 forks
- **Registry**: github
- **Tags**: `data-analytics`, `data-engineering`, `dbt`, `llm`, `mcp`, `mcp-server`, `model-context-protocol`, `python`

## Description

A MCP (Model Context Protocol) server for interacting with dbt.

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `v1.20.0` | 2026-06-03 | High | ## v1.20.0 - 2026-06-03 ### Enhancement or New Feature * Add dbt version awareness to product_docs tools * Add get_dimension_values tool to Semantic Layer toolset to retrieve distinct values for a dimension ### Under the Hood * Remove unused endpoint from OAuth helper server and add host validation middleware ### Bug Fix * Fix get_dimension_values: stringify dimension values to maintain list[str] type, omit nulls, add error handling, add limit >= 1 validation * Semantic layer query_metrics now l |
| `v1.19.2` | 2026-05-22 | High | ## v1.19.2 - 2026-05-22 ### Under the Hood * Bump dbt-sl-sdk==0.13.3 ### Bug Fix * Fix unstructured tool errors being masked as 'outputSchema defined but no structured output returned' |
| `v1.19.1` | 2026-05-14 | High | ## v1.19.1 - 2026-05-14 ### Under the Hood * Silence asyncio DeprecationWarning in LSP connection unit tests by binding a fresh event loop and using loop.create_future() instead of bare asyncio.Future(). * Make ToolDefinition.structured_output default to True and require title in generic_dbt_mcp_tool. Decorator now keyword-only. * Remove dbt-artifacts-parser from 7 day exclusion * Fix test_local_mcp_list_metrics_returns_valid_response integration test |
| `v1.18.0` | 2026-05-08 | High | ## v1.18.0 - 2026-05-08 ### Enhancement or New Feature * Move Admin API parameter docs into MCP tool schemas with shared descriptions * Share multi-project project_id description for Discovery and Semantic layer * Add JSON Schema parameter descriptions for Semantic Layer MCP tools * Add Discovery tool parameter descriptions for MCP schemas * Add MCP server instructions ### Bug Fix * Add helpful hint for SSL errors during OAuth, suggesting that multi-cell users set DBT_HOST to the full hostname ( |
| `v1.17.1` | 2026-05-05 | High | ## v1.17.1 - 2026-05-05 ### Bug Fix * Improve input validation for dbt CLI tool parameters and reduce verbosity of argument logging. * Fix server crash for CLI-only users introduced in v1.17.0: register_proxied_tools now filters enabled tools before calling get_config(), preventing an AssertionError when DBT_HOST is unset; replace bare assert with MissingHostError; improve lifespan error logging to include full traceback |
| `v1.16.0` | 2026-04-27 | High | ## v1.16.0 - 2026-04-27 ### Enhancement or New Feature * Support parsing of fusion logs for warnings * Support dbt Fusion LSP via `dbt lsp` subcommand; prefer Fusion over legacy standalone binary, with `DBT_LSP_PATH` and editor storage paths as fallbacks ### Bug Fix * Fix get_job_run_error returning empty failed_steps when artifact 404s raise NotFoundError |
| `v1.15.1` | 2026-04-22 | High | ## v1.15.1 - 2026-04-22 ### Enhancement or New Feature * Reduce list_metrics response size by switching from JSON to CSV format, cutting response size by ~67% and reducing agent cost by up to 33% per query ### Under the Hood * Move lazy imports in `get_credentials` to module level in `credentials.py` |
| `v1.15.0` | 2026-04-21 | High | ## v1.15.0 - 2026-04-20 ### Enhancement or New Feature * ToolDispatcher routes between single-project and multi-project MCP * Add clone command to CLI tools * Remove get_job_run_artifact tool ### Under the Hood * Add DBT_HOST_PREFIX support to remote session initialization * Update deprecated streamablehttp_client function to streamable_http_client ### Bug Fix * Resolve symbolic links for mcp.lock file path before creating FileLock, preventing OSError when ~/.dbt/mcp.lock is a multi-level symbol |
| `v1.14.0` | 2026-04-14 | High | ## v1.14.0 - 2026-04-14 ### Enhancement or New Feature * Populate dbt_cloud_account_identifier in telemetry events * Auto-fetch DBT_HOST_PREFIX from dbt Platform for SL and Discovery API URL construction * list_metrics now returns dimensions and entities in the same response when the metric count is at or below a configurable threshold (default: 10, via DBT_MCP_SL_FULL_CONFIG_THRESHOLD), reducing LLM round trips from 3 tool calls to 1 for small-to-medium environments ### Under the Hood * Remove |
| `v1.13.0` | 2026-04-07 | High | ## v1.13.0 - 2026-04-07 ### Enhancement or New Feature * Add YML selectors support for CLI tools * Reduce get_product_doc_pages page limit from 10 to 5 and add optional query parameter for section-level content extraction, significantly reducing response payload size to prevent IDE freezing * Add search and key navigation for OAuth project selection ### Under the Hood * Using Admin API Client for dynamic multi-project server config * Remove get_project_details tool * Use admin api client for mul |

## Citation

- HTML: https://www.freshcrate.ai/projects/dbt-mcp
- Markdown: https://www.freshcrate.ai/projects/dbt-mcp.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/dbt-mcp/deps

_Generated by freshcrate.ai. Indexes github releases for AI-agent ecosystem packages._
