Skip to main content
Glama

dbt-mcp

Official
by dbt-labs

dbt MCP 服务器

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

建筑学

dbt 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_CLIfalse将其设置为true以禁用 dbt Core 和 dbt Cloud CLI MCP 工具
DISABLE_SEMANTIC_LAYERfalse将其设置为true以禁用 dbt 语义层 MCP 对象
DISABLE_DISCOVERYfalse将其设置为true以禁用 dbt Discovery API MCP 对象
DISABLE_REMOTEtrue将其设置为false以启用远程 MCP 对象

发现和语义层的配置

姓名默认描述
DBT_HOSTcloud.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_DIRdbt 项目本地仓库的托管路径。路径类似: /Users/firstnamelastname/reponame
DBT_PATHdbt 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了解如何参与的说明!

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

二苯并噻唑-甲基环丙烷

  1. 建筑学
    1. 设置
      1. 配置
        1. 工具组
        2. 发现和语义层的配置
        3. 远程工具配置
        4. dbt CLI 的配置
      2. 与 MCP 客户端一起使用
        1. 克劳德桌面
          1. 光标
            1. VS 代码
              1. 工具
                1. dbt 命令行界面
                2. 语义层
                3. 发现
              2. 贡献

                Related MCP Servers

                View all related MCP servers

                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