dbt-insight-mcp-server 翻译为中文是:“dbt-insight MCP 服务器”
这是用于通过Claude管理并执行dbt Cloud作业和项目的模型上下文协议(MCP)服务器。可以执行作业搜索、查看执行历史记录、触发作业等操作。
使用API: dbt Cloud API v2(用于作业运行操作)\ 注: API v3用于管理操作,执行操作则使用v2
安全功能
- 护栏危险操作必须确认
- 逐步确认:
run呀test操作在未进行明确确认的情况下不会执行 - 优先读取搜索和预览均为安全的只读操作
- 操作可视化预先显示将要执行的操作详情
功能
只读操作(无需确认)
- 项目搜索寻找工作或项目
- 职位一览显示dbt作业列表
- 执行历史确认最近的工作执行记录
- 项目一览显示可用项目
执行操作(必须确认)
- 执行作业dbt Cloud作业的触发条件(数据变更或成本产生的可能性)
可用工具
1. search_in_project
搜索项目中的任务。
参数:
query搜索查询(作业名称或说明)project_id项目ID
2. get_recent_runs
获取最近的作业执行记录。
参数:
project_id项目IDlimit获取数量(1-50,默认:10)
3. list_projects
显示可用的dbt项目列表。
4. list_jobs
显示dbt作业列表。
参数:
project_id要过滤的项目ID
5. trigger_job_with_confirmation
注意执行dbt Cloud作业(可能导致数据变更和产生费用)
参数:
job_id要执行的作业IDcause执行理由(默认:“通过MCP触发”)confirm_execution: 请务必设置为true并确认
安装
- 克隆此存储库:
git clone https://github.com/yourusername/dbt-insight-mcp-server.git
cd dbt-insight-mcp-server- 设置环境变量:
cp .env.example .env
# .envファイルを編集してdbt Cloudの接続情報を入力- 执行安装脚本:
./setup.sh设定
环境变量
.env文件需要以下设置:
# dbt Cloud API Token (必須)
DBT_API_TOKEN=your-dbt-api-token-here
# dbt Cloud Account ID (必須)
DBT_ACCOUNT_ID=your-account-id-here
# dbt Cloud Base URL (オプション)
DBT_BASE_URL=https://cloud.getdbt.comClaude Desktop设置
请在Claude Desktop的配置文件中添加以下内容:
{
"mcpServers": {
"dbt-insight": {
"command": "/path/to/dbt-insight-mcp-server/venv/bin/python",
"args": ["/path/to/dbt-insight-mcp-server/server.py"]
}
}
}获取dbt Cloud API令牌
- 登录dbt Cloud
- 账户设置 → API 访问
- 点击“生成新令牌”
- 设置适当的权限(账户管理员权限或项目权限)
- 复制代币
.env设置文件
按地区设定
日本实例
DBT_BASE_URL=https://your-instance.jp1.dbt.com
DBT_ACCOUNT_ID=your-account-id
DBT_API_TOKEN=dbtc_your-token美国实例
DBT_BASE_URL=https://cloud.getdbt.com
DBT_ACCOUNT_ID=your-account-id
DBT_API_TOKEN=dbtc_your-token关于安全的重要注意事项
该MCP服务器提供以下安全功能:
- 确认必须操作:
run呀test未经明确确认则不会执行 - 操作透明度执行前会显示操作详情
- 读取优先搜索和预览均为安全的只读操作
- 护栏阻止危险操作,并要求确认
重要: confirm_execution=true在进行设置之前,请务必了解操作的影响。
使用示例
基本操作
# ジョブの一覧を表示
"プロジェクトのジョブ一覧を見せて"
# 特定のジョブを検索
"buildというジョブを検索して"
# 最近の実行履歴を確認
"最近のジョブ実行履歴を教えて"
# プロジェクト一覧を表示
"利用可能なプロジェクトを教えて"执行作业(危险操作)
# 確認が必要な操作
"sample_jobを実行して(ジョブID: 123456)"
→ 最初は確認なしでブロックされます
# 確認付きで実行
"sample_jobを実行して(confirm_execution: true)"
→ 実際にジョブが実行されます必要条件
- Python 3.10及以上版本
- dbt Cloud账户
- 有效的dbt Cloud API令牌
- Claude Desktop(可译为“Claude桌面版”或根据具体语境简化为“Claude桌面”)
许可证
麻省理工学院许可证(MIT License)
