Back to MCP directory
publicPublicdnsLocal runtime

dbt-mcp

dbt MCP服务器是一个提供与dbt交互工具的服务,支持dbt CLI、语义层、发现API等功能,可通过配置与多种客户端集成使用。

article

README

🚀 dbt MCP 服务器指南

MCP(Model Command Protocol)是一种用于管理和操作 dbt 项目的技术协议。本指南将详细介绍如何安装、配置和使用 dbt MCP 服务器,以及如何与不同的工具集成。

🚀 快速开始

若想快速上手 dbt MCP 服务器,可按以下步骤操作:

  1. 完成安装步骤,包括下载 Python、克隆仓库和安装依赖项。
  2. 进行基本配置和高级配置,设置必要的环境变量。
  3. 了解常用工具的命令,如 dbt CLI、Semantic Layer 和 Discovery。
  4. 选择合适的工具进行集成,如 Claude Desktop、Cursor 或 VS Code。

✨ 主要特性

  • 独立运行:dbt MCP 服务器是一个独立的程序,可与 dbt CLI 和其他工具一起运行。
  • 多组件支持:涵盖 dbt CLI、Semantic Layer 和 Discovery 等核心组件。
  • 丰富命令:提供多种命令,可执行建模、测试、查询等操作。
  • 工具集成:支持与 Claude Desktop、Cursor 和 VS Code 等工具集成。

📦 安装指南

架构

dbt MCP 服务器的核心架构如下: | 属性 | 详情 | |------|------| | 组件 | 描述 | | dbt CLI | 执行建模、测试和其他数据库操作的命令行界面。 | | Semantic Layer | 提供度量和实体查询的能力。 | | Discovery | 用于获取模型和数据集的详细信息。 |

安装步骤

  1. 下载并安装 Python。
  2. 使用以下命令克隆 dbt MCP 仓库:
git clone https://github.com/dbt-labs/dbt-mcp.git
  1. 安装依赖项:
pip install -r requirements.txt

🔧 配置

基本配置

dbt_mcp/config.yml 文件中添加以下内容:

server:
  host: localhost
  port: 8000

高级配置

环境变量

设置以下环境变量:

  • DBT_PROFILE:指定 dbt 配置文件。
  • DBT_PROJECT_DIR:指定 dbt 项目目录。

💻 使用示例

基础用法

以下是使用 dbt CLI 命令的示例:

# 执行模型、测试、快照和种子文件
dbt build

# 生成可执行的 SQL 而不运行它们
dbt compile

# 生成项目文档
dbt docs

高级用法

以下是使用 Semantic Layer 命令的示例:

# 获取所有定义的度量
dbt semantic-layer list_metrics

# 查询度量,支持分组、排序、过滤和限制
dbt semantic-layer query_metrics --metrics revenue --group-by date --sort revenue desc

📚 详细文档

工具

dbt CLI

| 命令 | 描述 | |------|------| | build | 执行模型、测试、快照和种子文件。 | | compile | 生成可执行的 SQL 而不运行它们。 | | docs | 生成项目文档。 | | ls | 列出项目中的资源,例如模型和测试。 | | parse | 解析并验证项目的文件语法。 | | run | 执行模型以在数据库中生成目标对象。 | | test | 运行测试以验证数据和模型的完整性。 |

⚠️ 重要提示

允许客户端通过此 MCP 工具使用 dbt 命令可能会修改您的数据模型、源和数据库对象。请确保仅在信任客户端并理解潜在影响的情况下进行操作。

Semantic Layer

| 命令 | 描述 | |------|------| | list_metrics | 获取所有定义的度量。 | | get_dimensions | 获取指定度量关联的维度。 | | get_entities | 获取指定度量关联的实体。 | | query_metrics | 查询度量,支持分组、排序、过滤和限制。 |

Discovery

| 命令 | 描述 | |------|------| | get_mart_models | 获取所有集市模型。 | | get_all_models | 获取所有模型。 | | get_model_details | 获取特定模型的详细信息。 | | get_model_parents | 获取特定模型的父模型。 |

集成

Claude Desktop

  1. 打开设置菜单(Command + Comma)并选择正确的选项卡。
  2. 选择“功能” → “聊天”。
  3. 确保“MCP”已启用。

Claude 设置

Cursor

  1. 打开设置菜单(Command + Comma)并选择正确的选项卡。
  2. 选择“功能” → “聊天”。
  3. 确保“MCP”已启用。

Cursor 设置

VS Code

  1. 打开设置菜单(Command + Comma)并选择正确的选项卡。
  2. 选择“功能” → “聊天”。
  3. 确保“MCP”已启用。

VS Code 设置

📄 许可证

dbt MCP 是 Apache 2.0 许可证下的开源项目。

贡献

欢迎为 dbt MCP 项目贡献代码!请参考 贡献指南

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client