使用说明

项目简介

dbt CLI MCP Server 旨在桥接 dbt (data build tool) 命令行工具和 MCP (Model Context Protocol) 客户端,例如 Claude for Desktop 等。它作为一个 MCP 服务器运行,对外提供一系列工具,允许 AI 智能体通过调用这些工具来执行 dbt 命令,从而实现对 dbt 项目的自动化操作,例如数据模型的编译、运行、测试、资源清单查询等。

主要功能点

  • dbt 命令工具化: 将常用的 dbt CLI 命令(如 'run', 'test', 'ls', 'compile', 'debug', 'deps', 'seed', 'show', 'build')封装成独立的 MCP 工具,方便 AI 智能体调用。
  • 灵活的项目配置: 支持通过命令行参数、环境变量和 '.env' 文件配置 dbt 可执行文件路径、项目目录、profiles 目录等,适应不同的 dbt 项目环境。
  • JSON 输出支持: 部分工具(如 'dbt_ls')支持 JSON 格式输出,方便 AI 智能体解析和处理结构化数据。
  • 集成测试: 包含完善的集成测试,确保服务器功能的稳定性和可靠性。

安装步骤

  1. 环境准备:

    • 确保已安装 Python 3.10 或更高版本
    • 安装 uv 工具 (Python 包和虚拟环境管理器,参考 https://github.com/astral-sh/uv)。
    • 确保已安装 dbt CLI 工具并配置好 dbt 项目环境。
  2. 克隆仓库: 使用以下命令克隆 dbt CLI MCP Server 仓库,并包含子模块:

    git clone --recurse-submodules https://github.com/MammothGrowth/dbt-cli-mcp.git
    cd dbt-cli-mcp
  3. 创建并激活虚拟环境:

    uv venv
    source .venv/bin/activate   # Linux / macOS
    .venv\Scripts\activate  # Windows
  4. 安装依赖:

    uv pip install -e .

服务器配置

要将 dbt CLI MCP Server 添加到 MCP 客户端(例如 Claude for Desktop),您需要配置服务器的启动命令和参数。以下是一个典型的配置示例(JSON 格式):

{
  "mcpServers": {
    "dbt": {
      "command": "uv",
      "args": ["--directory", "/path/to/dbt-cli-mcp", "run", "src/server.py"],
      "env": {
        "DBT_PATH": "/absolute/path/to/dbt",
        "ENV_FILE": ".env"
        // 您还可以选择在此处设置 DBT_PROFILES_DIR 作为服务器级别的默认配置
      }
    }
  }
}
  • 'server name': '"dbt"' (可以自定义,用于在客户端中标识该服务器)
  • 'command': '"uv"' (使用 uv 工具来运行 Python 脚本)
  • 'args': 启动服务器的参数列表
    • '"--directory"': '"/path/to/dbt-cli-mcp"' 请替换为 dbt-cli-mcp 仓库在您本地文件系统中的绝对路径。
    • '"run"': uv 工具的 'run' 命令,用于执行 Python 模块或脚本。
    • '"src/server.py"': 指定要运行的服务器脚本。
  • 'env': 服务器运行时的环境变量
    • '"DBT_PATH"': '"/absolute/path/to/dbt"' 请替换为您 dbt 可执行文件的绝对路径。 如果 dbt 已添加到系统 PATH 环境变量,则可以直接使用 '"dbt"'。
    • '"ENV_FILE"': '".env"' 指定环境变量文件的路径,默认为仓库根目录下的 '.env' 文件。
    • '"DBT_PROFILES_DIR"' (可选): 服务器级别的默认 'profiles.yml' 文件目录。

基本使用方法

配置完成后,您的 MCP 客户端将能够连接到 dbt CLI MCP Server。您可以使用客户端提供的界面或指令来调用服务器提供的工具,例如:

  • 使用 'dbt_run' 工具运行 dbt 模型。
  • 使用 'dbt_test' 工具执行 dbt 测试。
  • 使用 'dbt_ls' 工具查询 dbt 项目中的资源信息。
  • 更多工具及其参数请参考仓库 README 文档中 "Available Tools" 章节。

注意: 使用 dbt 工具时,请确保您的 dbt 项目配置正确,'dbt_project.yml' 和 'profiles.yml' 文件配置正确,并且项目目录结构符合 dbt 的要求。

信息

分类

开发者工具