Skip to main content
Glama

dbt MCP 服务器

此 MCP(模型上下文协议)服务器提供与 dbt 交互的工具。阅读博客了解更多信息。

建筑学

dbt MCP 服务器架构图

Related MCP server: dart-mcp

设置

  1. 克隆存储库:

git clone https://github.com/dbt-labs/dbt-mcp.git cd dbt-mcp
  1. 安装 uv

  2. 安装任务

  3. 运行task install

  4. 配置环境变量:

cp .env.example .env

然后使用您的特定环境变量编辑.env (请参阅README.mdConfiguration部分)。

配置

MCP 服务器采用以下配置:

工具组

姓名

默认

描述

DISABLE_DBT_CLI

false

将其设置为true以禁用 dbt Core 和 dbt Cloud CLI MCP 工具

DISABLE_SEMANTIC_LAYER

false

将其设置为true以禁用 dbt 语义层 MCP 对象

DISABLE_DISCOVERY

false

将其设置为true以禁用 dbt Discovery API MCP 对象

DISABLE_REMOTE

true

将其设置为false以启用远程 MCP 对象

发现和语义层的配置

姓名

默认

描述

DBT_HOST

cloud.getdbt.com

您的 dbt Cloud 实例主机名。它看起来像是此处Access URL 。如果您使用的是多单元,请不要在此处添加ACCOUNT_PREFIX

MULTICELL_ACCOUNT_PREFIX

-

如果您使用的是多单元部署,请将其设置为您的ACCOUNT_PREFIX 。如果您不使用多单元部署,请勿设置此环境变量。您可以点击此处了解更多信息。

DBT_TOKEN

-

您的个人访问令牌或服务令牌。**注意:**使用语义层时需要服务令牌

DBT_PROD_ENV_ID

-

您的 dbt Cloud 生产环境 ID

远程工具配置

姓名

描述

DBT_DEV_ENV_ID

您的 dbt Cloud 开发环境 ID

DBT_USER_ID

您的 dbt Cloud 用户 ID

dbt CLI 的配置

姓名

描述

DBT_PROJECT_DIR

dbt 项目本地仓库的托管路径。路径类似: /Users/firstnamelastname/reponame

DBT_PATH

dbt Core 或 dbt Cloud CLI 可执行文件的路径。您可以通过运行which dbt找到您的 dbt 可执行文件

与 MCP 客户端一起使用

安装完成后,您可以使用带有 MCP 客户端的服务器。

此配置将添加到相应客户端的配置文件中。请务必替换<>内的部分:

{ "mcpServers": { "dbt-mcp": { "command": "<path-to-mcp-executable>", "args": [ "run", "<path-to-this-directory>/src/dbt_mcp/main.py" ] } } }

<path-to-mcp-executable>取决于您的操作系统:

  • Linux 和 Mac: <path-to-this-directory>/.venv/bin/mcp

  • PC: <path-to-this-directory>/.venv/Scripts/mcp

克劳德桌面

按照这些说明创建claude_desktop_config.json文件并连接。

在 Mac 上,您可以在~/Library/Logs/Claude找到 Claude Desktop 日志。

光标

  1. 打开光标菜单并选择设置 → 光标设置 → MCP

  2. 点击“添加新的全局 MCP 服务器”

  3. 将上面的配置添加到提供的mcp.json文件中

  4. 在 MCP 选项卡中验证您的连接是否处于活动状态

Cursor MCP 文档可在此处参考

VS 代码

  1. 打开“设置”菜单(Command + 逗号),然后在页面顶部选择适合您用例的正确选项卡

    • Workspace - 在工作区环境中配置服务器

    • User - 在您的用户上下文中配置服务器

    • WSL 用户须知:如果您将 VS Code 与 WSL 结合使用,则需要配置 WSL 专属设置。请从命令面板 (F1) 运行**“首选项:打开远程设置”**命令,或在“设置”编辑器中选择“远程”选项卡。本地用户设置在 WSL 中可重复使用,但可以使用 WSL 专属设置覆盖。在本地用户设置中配置 MCP 服务器在 WSL 环境中将无法正常工作。

  2. 选择功能 → 聊天

  3. 确保“Mcp”已Enabled

mcp-vscode-设置

  1. 点击“Mcp > 发现”下的“在 settings.json 中编辑”

  2. 将您的服务器配置( dbt )作为服务器之一添加到提供的settings.json文件中:

{ "mcp": { "inputs": [], "servers": { "dbt": { "command": "<path-to-mcp-executable>", "args": ["run", "<path-to-this-directory>/src/dbt_mcp/main.py"] } } } }

<path-to-mcp-executable>取决于您的操作系统:

  • Linux 和 Mac: <path-to-this-directory>/.venv/bin/mcp

  • PC: <path-to-this-directory>/.venv/Scripts/mcp

  1. 您可以通过以下方式启动、停止和配置 MCP 服务器:

  • 从命令面板 (Control + Command + P) 运行MCP: List Servers命令并选择服务器

  • settings.json文件中使用内联关键字

直属管理

VS Code MCP 文档可供参考

工具

dbt 命令行界面

  • build - 按依赖顺序执行模型、测试、快照和种子

  • compile - 从模型、测试和分析生成可执行 SQL,无需运行它们

  • docs - 为 dbt 项目生成文档

  • ls (列表)-列出 dbt 项目中的资源,例如模型和测试

  • parse - 解析并验证项目文件的语法正确性

  • run ——执行模型以在数据库中实现它们

  • test ——运行测试来验证数据和模型的完整性

  • show - 对数据仓库运行查询

允许您的客户通过此 MCP 工具使用 dbt 命令可能会修改您的数据模型、数据源和仓库对象。请仅在您信任客户并了解潜在影响的情况下才继续操作。

语义层

  • list_metrics - 检索所有定义的指标

  • get_dimensions - 获取与指定指标相关的维度

  • get_entities - 获取与指定指标关联的实体

  • query_metrics - 使用可选的分组、排序、过滤和限制来查询指标

发现

  • get_mart_models - 获取所有市场模型

  • get_all_models - 获取所有模型

  • get_model_details - 获取特定模型的详细信息

  • get_model_parents - 获取特定模型的父节点

  • get_model_children - 获取特定模型的子模式

贡献

阅读CONTRIBUTING.md了解如何参与的说明!

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dbt-labs/dbt-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server