dbt MCP 服务器
此 MCP(模型上下文协议)服务器提供与 dbt 交互的工具。阅读此博客了解更多信息。
建筑学
设置
- 克隆存储库:
然后使用您的特定环境变量编辑.env
(请参阅README.md
的Configuration
部分)。
配置
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 客户端的服务器。
此配置将添加到相应客户端的配置文件中。请务必替换<>
内的部分:
<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 日志。
光标
- 打开光标菜单并选择设置 → 光标设置 → MCP
- 点击“添加新的全局 MCP 服务器”
- 将上面的配置添加到提供的
mcp.json
文件中 - 在 MCP 选项卡中验证您的连接是否处于活动状态
Cursor MCP 文档可在此处参考
VS 代码
- 打开“设置”菜单(Command + 逗号),然后在页面顶部选择适合您用例的正确选项卡
Workspace
- 在工作区环境中配置服务器User
- 在您的用户上下文中配置服务器- WSL 用户须知:如果您将 VS Code 与 WSL 结合使用,则需要配置 WSL 专属设置。请从命令面板 (F1) 运行**“首选项:打开远程设置”**命令,或在“设置”编辑器中选择“远程”选项卡。本地用户设置在 WSL 中可重复使用,但可以使用 WSL 专属设置覆盖。在本地用户设置中配置 MCP 服务器在 WSL 环境中将无法正常工作。
- 选择功能 → 聊天
- 确保“Mcp”已
Enabled
- 点击“Mcp > 发现”下的“在 settings.json 中编辑”
- 将您的服务器配置(
dbt
)作为服务器之一添加到提供的settings.json
文件中:
<path-to-mcp-executable>
取决于您的操作系统:
- Linux 和 Mac:
<path-to-this-directory>/.venv/bin/mcp
- PC:
<path-to-this-directory>/.venv/Scripts/mcp
- 您可以通过以下方式启动、停止和配置 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
了解如何参与的说明!
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
二苯并噻唑-甲基环丙烷
Related MCP Servers
- JavaScriptMIT License
- Python
- PythonMIT License
- JavaScriptMIT License