MCP(Model Command Protocol)是一种用于管理和操作 dbt 项目的技术协议。本指南将详细介绍如何安装、配置和使用 dbt MCP 服务器,以及如何与不同的工具集成。
若想快速上手 dbt MCP 服务器,可按以下步骤操作:
dbt MCP 服务器的核心架构如下:
| 属性 | 详情 |
|---|---|
| 组件 | 描述 |
| dbt CLI | 执行建模、测试和其他数据库操作的命令行界面。 |
| Semantic Layer | 提供度量和实体查询的能力。 |
| Discovery | 用于获取模型和数据集的详细信息。 |
git clone https://github.com/dbt-labs/dbt-mcp.git
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
| 命令 | 描述 |
|---|---|
| build | 执行模型、测试、快照和种子文件。 |
| compile | 生成可执行的 SQL 而不运行它们。 |
| docs | 生成项目文档。 |
| ls | 列出项目中的资源,例如模型和测试。 |
| parse | 解析并验证项目的文件语法。 |
| run | 执行模型以在数据库中生成目标对象。 |
| test | 运行测试以验证数据和模型的完整性。 |
⚠️ 重要提示
允许客户端通过此 MCP 工具使用 dbt 命令可能会修改您的数据模型、源和数据库对象。请确保仅在信任客户端并理解潜在影响的情况下进行操作。
| 命令 | 描述 |
|---|---|
| list_metrics | 获取所有定义的度量。 |
| get_dimensions | 获取指定度量关联的维度。 |
| get_entities | 获取指定度量关联的实体。 |
| query_metrics | 查询度量,支持分组、排序、过滤和限制。 |
| 命令 | 描述 |
|---|---|
| get_mart_models | 获取所有集市模型。 |
| get_all_models | 获取所有模型。 |
| get_model_details | 获取特定模型的详细信息。 |
| get_model_parents | 获取特定模型的父模型。 |
dbt MCP 是 Apache 2.0 许可证下的开源项目。
欢迎为 dbt MCP 项目贡献代码!请参考 贡献指南。