← 返回目录
D

dbt MCP Server

官方
用于交互 dbt 的 MCP 服务器
分类
开发工具 第 50 / 438
Stars
★ 608 非常热门
传输方式
stdio(本地进程)
凭据
可选 API Key
开发语言
Python
许可证
Apache-2.0
最近提交
工具数
61
65FMRS · C

dbt MCP 服务器是一款功能丰富的 MCP 服务器,用于将 AI 代理与 dbt 项目集成。它提供了大量工具,涵盖 SQL 执行、语义层、Discovery API、Admin API、dbt CLI 和代码生成。它适用于数据团队和开发者,但需要注意运行 dbt 命令和 SQL 的潜在风险。

最强项 · 维护活跃度 16/20 最弱项 · 可靠性 9/20

可靠性
9/20
安全与权限
12/20
维护活跃度
16/20
文档质量
15/20
安装易用性
13/20
查看各项评分依据
可靠性 9/20
仅根据README描述,工具列表清晰,但缺乏可验证的测试和CI证据。信源中未显示测试文件或CI配置,因此无法确认工具是否真实匹配行为。考虑到知名维护者,推测其可能正常工作,但保守评分,不高于12。
安全与权限 12/20
README明确警告dbt CLI工具可能修改数据模型和仓库对象,并提示仅在信任客户端时使用,这符合高风险操作的确认要求。密钥处理方式未在文档中详述,但可能依赖环境变量。未发现恶意行为或凭证泄露的迹象。
维护活跃度 16/20
仓库活跃,有595星和35个未解决的问题,未归档。README提到依赖版本固定且仅自动更新安全相关依赖,显示有维护策略。但未见安全响应渠道或明确的治理文档。
文档质量 15/20
README提供了详细的工具列表和链接到官方文档,但缺少安装步骤、认证配置、参数示例和故障排除。没有配置示例或错误处理说明。文档质量良好但存在差距。
安装易用性 13/20
README描述了如何连接dbt MCP服务器,并提到实验性MCPB捆绑包,但没有提供具体的客户端配置示例。安装步骤可能依赖dbt环境,但未见逐步指南。

静态评测 · 未实际运行收录于 2026-08-07

查看 FMRS 评分方法 →

选型与风险

能访问什么访问网络连接数据库

适合谁

  • 使用 dbt Core、dbt Fusion 或 dbt Platform 的数据团队。
  • 希望将 AI 辅助功能集成到数据工作流中的开发者。
  • 需要快速探索和理解 dbt 项目结构和血缘的分析师。

不适合谁

  • 没有 dbt 项目或不打算使用 dbt 的用户。
  • 需要全面数据库管理的通用数据库 MCP 服务器。
  • 对执行 dbt 命令(如 run 或 build)的风险缺乏了解的新手。

所需权限

  • 执行 SQL 查询(可能修改数据)。
  • 运行 dbt 命令(如 run、build、test),这可能修改数据模型、源和仓库对象。
  • 访问 dbt Platform API,如 Discovery API 和 Admin API。
  • 访问本地文件系统(如 manifest.json)以进行本地工具。

风险与副作用

  • 运行 dbt CLI 命令可能对数据模型、源和仓库对象造成重大修改,可能导致数据丢失或损坏。
  • 执行 SQL 查询可能产生意外副作用,尤其是在生产环境。
  • 访问敏感数据(如作业配置、查询结果)时需要适当身份验证和授权。

安装接入

从 GitHub 仓库克隆或下载 dbt MCP 服务器。按照 README 中的文档配置和运行服务器。对于 MCPB 感知的客户端,也可以从最新发布资产下载实验性 MCP 包。

验证是否装好

连接后在客户端工具列表中应能看到 get_mcp_server_version 等工具;调用 get_mcp_server_version 返回版本号即证明服务器已连通。

常见排障

  1. 确保 MCP 服务器配置正确,包括必要的 dbt 项目和平台凭据。
  2. 检查网络连接,确保能够访问 dbt Platform API 和 docs.getdbt.com。
  3. 验证依赖版本已固定,并遵循 README 中的配置说明。

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 列出我 dbt 项目中的所有 mart 模型并附上描述
  • 用自然语言生成一个查询指标 monthly_revenue 的 SQL 并编译给我看
  • 触发一次生产作业运行,然后告诉我最新一次运行的错误详情
  • 为我的某个模型生成包含列的 model YAML 文件

工具能力 61

execute_sql 写入
在 dbt Platform 基础设施上执行 SQL,支持 Semantic Layer。
text_to_sql 只读
利用项目上下文从自然语言生成 SQL。
get_dimension_values 只读
获取维度的不同值;可选择限定具体指标。
get_dimensions 只读
获取指定指标的维度。
get_entities 只读
获取指定指标的实体。
get_metrics_compiled_sql 只读
返回编译后的指标 SQL,不执行查询。
list_metrics 只读
检索所有已定义的指标。
list_saved_queries 只读
检索所有已保存的查询。
展开其余 53 个工具
query_metrics 只读
执行指标查询,支持过滤和分组选项。
get_all_macros 只读
检索宏;可按包过滤或仅返回包名称。
get_all_models 只读
检索所有模型的名称和描述。
get_all_sources 只读
获取所有源及新鲜度状态;可按源名称过滤。
get_exposure_details 只读
已弃用——请改用 get_node_details。
get_exposures 只读
获取所有曝光(下游仪表板、应用或分析)。
get_lineage 只读
获取完整血缘图(祖先和后代),支持类型和深度过滤。
get_macro_details 只读
已弃用——请改用 get_node_details。
get_mart_models 只读
检索所有 mart 模型。
get_model_children 只读
已弃用——请改用 get_lineage。
get_model_details 只读
已弃用——请改用 get_node_details。
get_model_health 只读
获取健康信号:运行状态、测试结果和上游源新鲜度。
get_model_parents 只读
已弃用——请改用 get_lineage。
get_model_performance 只读
获取模型的执行历史;可选择包含测试结果。
get_node_details 只读
获取任何 dbt 资源类型(模型、源、曝光、测试、种子、快照、宏、语义模型)的完整详细信息。
get_related_models 只读
使用语义搜索查找类似模型。
get_seed_details 只读
已弃用——请改用 get_node_details。
get_semantic_model_details 只读
已弃用——请改用 get_node_details。
get_snapshot_details 只读
已弃用——请改用 get_node_details。
get_source_details 只读
已弃用——请改用 get_node_details。
get_test_details 只读
已弃用——请改用 get_node_details。
search 只读
[Alpha] 在 dbt 项目中搜索资源(尚未普遍可用)。
build 写入
按 DAG 顺序执行模型、测试、快照和种子。
clone 写入
从指定状态克隆所选节点到目标 schema。
compile 只读
从模型/测试/分析生成可执行 SQL;用于验证 Jinja 逻辑。
docs 写入
为 dbt 项目生成文档。
get_lineage_dev 只读
从本地 manifest.json 检索血缘,支持类型和深度过滤。
get_node_details_dev 只读
从本地 manifest.json 检索节点详细信息(模型、种子、快照、源)。
list 只读
按类型列出 dbt 项目中的资源,支持选择器。
parse 只读
解析并验证项目文件的语法正确性。
run 写入
执行模型以在数据库中物化。
show 只读
对数据库执行 SQL 并返回结果。
test 写入
运行测试以验证数据和模型完整性。
cancel_job_run 写入
取消正在运行的作业。
get_job_details 只读
获取作业配置,包括触发器、计划和 dbt 命令。
get_job_run_details 只读
获取运行详细信息,包括状态、时间、步骤和产物。
get_job_run_error 只读
获取作业运行的错误和/或警告详细信息;可选择仅包含或仅显示警告。
list_job_run_artifacts 只读
列出作业运行中可用的产物。
list_jobs 只读
列出 dbt Platform 账户中的作业;可按项目或环境过滤。
list_jobs_runs 只读
列出作业运行;可按作业、状态或排序字段过滤。
list_projects 只读
列出 dbt Platform 账户中的所有项目。
retry_job_run 写入
重试失败的作业运行。
trigger_job_run 写入
触发作业运行;可选择覆盖 git 分支、schema 或其他设置。
generate_model_yaml 写入
生成包含列的模型 YAML;可选择继承上游描述。
generate_source 写入
通过内省数据库 schema 生成源 YAML;可选择包含列。
generate_staging_model 写入
从源表生成暂存模型 SQL。
fusion.compile_sql 只读
通过 dbt Platform 在项目上下文中编译 SQL。
fusion.get_column_lineage 只读
通过 dbt Platform 追踪列级血缘。
get_column_lineage 只读
在本地追踪列级血缘(需要 dbt-lsp,由 dbt Labs VSCE 提供)。
get_product_doc_pages 只读
通过路径或 URL 获取一个或多个 docs.getdbt.com 页面的完整 Markdown 内容。
search_product_docs 只读
在 docs.getdbt.com 上搜索与查询匹配的页面;返回按相关性排序的标题、URL 和描述。使用 get_product_doc_pages 获取完整内容。
get_mcp_server_branch 只读
返回正在运行的 dbt MCP 服务器的当前 git 分支。
get_mcp_server_version 只读
返回当前 dbt MCP 服务器的版本。

使用场景

让 AI 代理访问 dbt 项目和元数据,以便回答数据相关问题。
通过自然语言生成 SQL 并执行查询,加速数据分析。
监控和管理 dbt 作业,如触发、重试和取消。
生成 dbt 项目文件,如模型 YAML、源 YAML 和暂存模型。

支持客户端

Claude
Cursor

依据项目文档列出,未经本站实测。

详细介绍

dbt MCP 服务器提供多种工具,使 AI 代理能够理解并操作 dbt 项目。它支持 dbt Core、dbt Fusion 和 dbt Platform,并集成 Semantic Layer、Discovery API、Admin API 和 dbt CLI 等功能。

同类可选方案

Context7 80 · B

Upstash 官方维护,为 AI 编码助手提供实时更新的第三方库文档

★ 62.9k · 工具数 2 与当前对比 →

源版本 305d01618c1d 数据同步于 2026-10-12 查看 FMRS 评分方法