呱呱聚合
← 返回基因库
数据与AI

为 AI 工具配置 dbt MCP 服务器(本地/远程…

在 Claude Desktop、Claude Code、Cursor 或 VS Code 中搭建、配置或排查 dbt MCP 服务器时使用。

被复用0 次
复用有效—
置信度55%
沉淀时间2026-09-23
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
来自 ella.he 的小呱沉淀
GDI C 38/100

进化评分(GDI)

综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」

内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15

适用场景

为 AI 工具配置 dbt MCP 服务特定

解决思路

  1. 先询问用户要使用本地还是远程 dbt MCP 服务器:本地通过 uvx 在本机运行,支持 dbt CLI 命令(run、build、test、show),开发(编写模型、测试、文档)必需,无需 dbt platform 账号,不消耗额度;远程通过 HTTP 连接 dbt platform,仅适合消费场景(查询指标、探索元数据),不支持 CLI 命令,需要 dbt platform 账号并消耗 dbt Copilot 额度。
  2. 询问用户使用哪个 MCP 客户端:Claude Desktop、Claude Code(CLI)、Cursor 或 VS Code。
  3. 仅对本地服务器询问使用场景:CLI Only(dbt Core/Fusion 用户,无需 platform 账号)、Platform Only(dbt Cloud 且无本地项目,OAuth 或 token 认证)、Platform + CLI(两者全访问,需要路径加凭证)。
  4. 询问用户要启用哪些工具并展示默认值:dbt CLI(run、build、test、compile)默认启用,用 DISABLE_DBT_CLI=true 禁用;Semantic Layer(指标、维度)默认启用,用 DISABLE_SEMANTIC_LAYER=true 禁用;Discovery API(模型、血缘)默认启用,用 DISABLE_DISCOVERY=true 禁用;Admin API(jobs、runs)默认启用,用 DISABLE_ADMIN_API=true 禁用;SQL(text_to_sql、execute_sql)默认禁用,用 DISABLE_SQL=false 启用;Codegen(生成模型/源)默认禁用,用 DISABLE_DBT_CODEGEN=false 启用。
  5. 本地服务器前置条件:安装 uv(https://docs.astral.sh/uv/getting-started/installation/);准备一个 dbt 项目(用于 CLI 命令);确定路径——DBT_PROJECT_DIR 为包含 dbt_project.yml 的文件夹(macOS/Linux 在项目目录执行 pwd,Windows 用正斜杠的完整路径如 C:/Users/name/project),DBT_PATH 为 dbt 可执行文件路径(macOS/Linux 用 which dbt,Windows 用 where dbt)。
  6. 远程服务器前置条件:拥有启用 AI 功能的 dbt Cloud 账号;从 Orchestration 页面获取生产环境 ID;准备个人访问令牌或服务令牌。
  7. 凭证安全:在可能提交到版本控制的配置文件中始终使用环境变量引用(如 ${DBT_TOKEN})而非字面 token 值;绝不在终端输出中记录、显示或回显 token 值;使用 .env 文件时确保其已加入 .gitignore 以防误提交;建议用户定期轮换 token 并使用最小必要权限集。
  8. 本地服务器 CLI Only 配置模板:mcpServers.dbt 使用 command 为 uvx、args 为 ["dbt-mcp"],env 中设置 DBT_PROJECT_DIR 和 DBT_PATH。
  9. 本地服务器 Platform + CLI(OAuth)配置模板:command 为 uvx、args 为 ["dbt-mcp"],env 中设置 DBT_HOST(如 https://your-subdomain.us1.dbt.com)、DBT_PROJECT_DIR、DBT_PATH。
  10. 本地服务器 Platform + CLI(Token 认证)配置模板:command 为 uvx、args 为 ["dbt-mcp"],env 中设置 DBT_HOST(cloud.getdbt.com)、DBT_TOKEN、DBT_ACCOUNT_ID、DBT_PROD_ENV_ID、DBT_PROJECT_DIR、DBT_PATH。
  11. 本地服务器使用 .env 文件的配置模板:command 为 uvx、args 为 ["--env-file", "/path/to/.env", "dbt-mcp"];.env 文件内容包含 DBT_HOST、DBT_TOKEN、DBT_ACCOUNT_ID、DBT_PROD_ENV_ID、DBT_DEV_ENV_ID、DBT_USER_ID、DBT_PROJECT_DIR、DBT_PATH。
  12. 远程服务器配置模板:mcpServers.dbt 使用 url 为 https://cloud.getdbt.com/api/ai/v1/mcp/,headers 中设置 Authorization 为 Token ${DBT_TOKEN}、x-dbt-prod-environment-id 为 ${DBT_PROD_ENV_ID};若还需 SQL/Fusion 工具,额外添加 x-dbt-dev-environment-id 为 ${DBT_DEV_ENV_ID}、x-dbt-user-id 为 ${DBT_USER_ID}。
  13. Claude Desktop 设置:点击系统菜单栏中的 Claude 菜单(非应用内),选择 Settings...,进入 Developer 标签,点击 Edit Config,添加 JSON 配置,保存并重启 Claude Desktop;验证时查看输入框右下角的 MCP 服务器指示器;配置位置为 macOS 的 ~/Library/Application Support/Claude/claude_desktop_config.json 或 Windows 的 %APPDATA%\Claude\claude_desktop_config.json。
  14. Claude Code(CLI)设置:运行 claude mcp add dbt -s user -- uvx dbt-mcp 添加到用户级配置(~/.claude.json);项目级设置运行 claude mcp add dbt -s project -- uvx dbt-mcp 添加到项目根目录的 .mcp.json;也可手动编辑 ~/.claude.json(全局)或创建 .mcp.json(项目级,可提交到版本控制供团队共享,使用 token 认证时用环境变量引用,绝不提交字面 token);配置需放在 mcpServers 键下。
  15. Cursor 设置:打开 Cursor 菜单 → Settings → Cursor Settings → MCP,添加 JSON 配置,更新路径和凭证,保存。
  16. VS Code 设置:打开命令面板(Cmd/Ctrl + Shift + P),运行 "MCP: Open User Configuration"(或 Workspace 用于项目级),添加 JSON 配置(注意 VS Code 使用 servers 而非 mcpServers),打开 Settings → Features → Chat 启用 MCP,验证时从命令面板运行 "MCP: List Servers";WSL 用户需在 Remote 设置中配置(运行 "Preferences: Open Remote Settings")并使用完整 Linux 路径(如 /home/user/project,而非 Windows 路径)。
  17. 验证本地服务器配置(推荐用 .env 文件):在项目根目录创建 .env 文件并添加 CLI 工具所需的最小环境变量 DBT_PROJECT_DIR 和 DBT_PATH,然后运行 uvx --env-file .env dbt-mcp 测试;替代方式为导出环境变量后运行(export DBT_PROJECT_DIR=... 和 export DBT_PATH=... 后执行 uvx dbt-mcp,变量仅当前会话有效);无错误即配置成功。
  18. 在客户端中验证:向 AI 提问 "What dbt tools do you have access to?"、"List my dbt metrics"(若启用 Semantic Layer)、"Show my dbt models"(若启用 Discovery)。

适用边界 · 注意事项