article
README
🚀 DBT CLI MCP 服务器
DBT CLI MCP 服务器是一款基于模型上下文协议(Model Context Protocol, MCP)的工具,它能够增强 dbt (Data Build Tool) 的功能。dbt 是一款流行的命令行工具,主要用于数据构建和测试。
🚀 快速开始
DBT CLI MCP 服务器可增强 dbt 的功能,支持多种 dbt 操作,还能对配置文件进行管理。以下是使用前的安装步骤和使用示例。
✨ 主要特性
- 支持的主要 dbt 操作:涵盖运行 (
run)、测试 (test) 和编译 (compile) 等操作。 - 配置文件管理:能够处理
dbt_project.yml和profiles.yml文件,确保项目配置准确无误。 - 环境变量设置:自动配置
DBT_PROFILES_DIR环境变量,指定 profiles 文件的位置。
📦 安装指南
依赖工具
- Git:用于克隆代码仓库和处理子模块。
- Python 3.8 或更高版本:确保兼容性。
- pip:用于安装 Python 包。
克隆仓库
git clone https://github.com/your-repository.git
cd your-repository
安装依赖
pip install -r requirements.txt
💻 使用示例
基础用法
命令行界面 (CLI)
- 运行 dbt 项目:
python src/dbt_mcp_server/cli.py run --project-dir /path/to/project
- 测试 dbt 项目:
python src/dbt_mcp_server/cli.py test --project-dir /path/to/project
参数选项
--project-dir:指定 dbt 项目的根目录,必须是绝对路径。--profile:指定要使用的 dbt 配置文件中的 profile 名称。
环境变量
export DBT_PROFILES_DIR="/path/to/dbt_project"
高级用法
与 MCP 客户端集成
在 profiles.yml 中定义配置:
jaffle_shop:
target: dev
outputs:
dev:
type: duckdb
path: 'jaffle_shop.duckdb'
threads: 24
📚 详细文档
注意事项
⚠️ 重要提示
project-dir必须是包含dbt_project.yml和profiles.yml的绝对路径。- 要确保
dbt_project.yml中指定的 profile 名称与profiles.yml中一致。若出现 "找不到配置文件" 错误,请检查路径是否正确。
开发信息
集成测试
- 运行所有集成测试:
python integration_tests/run_all.py
- 运行特定测试:
python integration_tests/test_dbt_run.py
子模块管理
- 更新子模块仓库:
git submodule update --remote dbt_integration_tests/jaffle_shop_duckdb
- 初始化子模块:
git submodule update --init
📄 许可证
本项目采用 MIT 许可证。
微信扫一扫