dbt-mcp

Official
by dbt-labs
Apache 2.0
134
  • Linux
  • Apple

Integrations

  • Provides tools to interact with dbt, including executing dbt CLI commands (build, compile, run, test), accessing Semantic Layer for metric querying, and using Discovery API to explore models and their relationships in a dbt project.

dbt MCP 服务器

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

建筑学

安装

想要快速开始吗?

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/dbt-labs/dbt-mcp/refs/heads/main/install.sh)"

该安装程序还可用作更新程序,只需再次运行它,它就会检测您现有的 dbt-mcp 安装并提供更新。

配置

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 项目的路径
DBT_PATHdbt Core 或 dbt Cloud CLI 可执行文件的路径。您可以通过运行which dbt找到您的 dbt 可执行文件

与 MCP 客户端一起使用

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

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

如果您使用了安装脚本,则 mcp 服务器已安装在您的用户目录~/.dbt-mcp/中。

{ "mcpServers": { "dbt-mcp": { "command": "/Users/<YOUR USERNAME>/.dbt-mcp/.venv/bin/mcp", "args": [ "run", "/Users/<YOUR USERNAME>/.dbt-mcp/.venv/lib/python3.12/site-packages/dbt_mcp/main.py" ], "env": { // see config above // "DBT_HOST": "cloud.getdbt.com" // "DBT_TOKEN": "dbtu_...." } } } }

<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

  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 - 获取特定模型的父模型

贡献

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

You must be authenticated.

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. Architecture
    1. Installation
      1. Configuration
        1. Tool Groups
        2. Configuration for Discovery and Semantic Layer
        3. Configuration for Remote Tools
        4. Configuration for dbt CLI
      2. Using with MCP Clients
        1. Claude Desktop
          1. Cursor
            1. VS Code
              1. Tools
                1. dbt CLI
                2. Semantic Layer
                3. Discovery
              2. Contributing

                Related MCP Servers

                View all related MCP servers

                ID: 4g56yk3tar