dbt MCP服务器

此MCP(模型上下文协议)服务器提供了各种与dbt交互的工具。您可以使用此MCP服务器在dbt-Core、dbt-Fusion和dbt-Platform中为AI代理提供项目的上下文。
阅读我们的文档 这里 了解更多。 这 这篇博客文章提供了dbtMCP服务器的更多细节。
实验性MCP束
我们发布了一个实验性的模型上下文协议包(dbt-mcp.mcpb)每次发布时,MCPB感知客户端都可以导入此服务器,而无需额外设置。从最新发布的资源中下载捆绑包,并遵循Anthropic的 mcpb 命令行界面 安装或检查它的文档。
反馈
如果您有任何意见或问题,请创建GitHub Issue或加入我们 社区Slack 在 #tools-dbt-mcp 频道。
建筑
dbt MCP服务器架构允许您的代理连接到各种工具。
工具
结构化查询语言
用于在dbt平台基础架构上执行和生成SQL的工具。
execute_sql:在dbt平台基础架构上执行SQL,并支持语义层。text_to_sql:使用项目上下文从自然语言生成SQL。
语义层
要了解有关dbt语义层的更多信息,请单击 这里.
get_dimensions:获取指定度量的维度。get_entities:获取指定指标的实体。get_metrics_compiled_sql:返回指标的编译SQL,而不执行查询。list_metrics:检索所有已定义的指标。list_saved_queries:检索所有已保存的查询。query_metrics:执行具有过滤和分组选项的度量查询。
发现
要了解有关dbt Discovery API的更多信息,请单击 这里.
get_all_macros:检索宏;选项按包筛选或仅返回包名。get_all_models:检索所有模型的名称和描述。get_all_sources:获取所有新鲜度状态的来源;按源名称筛选的选项。get_exposure_details:获取曝光详细信息,包括所有者、父母和新鲜度状态。get_exposures:获取所有风险敞口(下游仪表板、应用程序或分析)。get_lineage:获取具有类型和深度过滤的完整沿袭图(祖先和后代)。get_macro_details:获取特定宏的详细信息。get_mart_models:检索所有集市模型。get_model_children:获取模型的下游依赖项。get_model_details:获取模型详细信息,包括已编译的SQL、列和架构。get_model_health:获取运行状况信号:运行状态、测试结果和上游源新鲜度。get_model_parents:获取模型的上游依赖关系。get_model_performance:获取模型的执行历史记录;选项包括测试结果。get_related_models:使用语义搜索查找相似的模型。get_seed_details:获取特定种子的详细信息。get_semantic_model_details:获取特定语义模型的详细信息。get_snapshot_details:获取特定快照的详细信息。get_source_details:获取源详细信息,包括列和新鲜度。get_test_details:获取特定测试的详细信息。search:\[Alpha\]在dbt项目中搜索资源(通常不可用)。
dbt命令行界面
允许您的客户端通过MCP工具使用dbt命令可以修改您的数据模型、源和仓库对象。只有当你信任客户并了解潜在影响时,才能继续进行。
build:按DAG顺序执行模型、测试、快照和种子。clone:将选定节点从指定状态克隆到目标架构。compile:从模型/测试/分析生成可执行SQL;有助于验证Jinja逻辑。docs:为dbt项目生成文档。get_lineage_dev:通过类型和深度过滤从本地manifest.json中检索沿袭。get_node_details_dev:从本地manifest.json中检索节点详细信息(模型、种子、快照、源)。list:使用选择器支持按类型列出dbt项目中的资源。parse:分析和验证项目文件的语法正确性。run:执行模型以在数据库中具体化它们。show:对数据库执行SQL并返回结果。test:运行测试以验证数据和模型的完整性。
管理员API
若要了解有关dbt管理API的详细信息,请单击 这里.
cancel_job_run:取消正在运行的作业。get_job_details:获取作业配置,包括触发器、计划和dbt命令。get_job_run_details:获取运行详细信息,包括状态、时间、步骤和工件。get_job_run_error:获取作业运行的错误和/或警告详细信息;仅包含或显示警告的选项。list_job_run_artifacts:列出作业运行中的可用工件。list_jobs:列出dbt平台帐户中的作业;按项目或环境筛选的选项。list_jobs_runs:列出作业运行;按作业、状态或按字段排序进行筛选的选项。list_projects:列出dbt平台帐户中的所有项目。retry_job_run:重试失败的作业运行。trigger_job_run:触发作业运行;覆盖git分支、模式或其他设置的选项。
dbt编码器
这些工具有助于自动生成dbt项目文件的样板代码。
generate_model_yaml:生成带有列的模型YAML;继承上游描述的选项。generate_source:通过反思数据库模式生成源YAML;包含列的选项。generate_staging_model:从源表生成暂存模型SQL。
dbt LSP
一组利用Fusion引擎进行高级SQL编译和列级沿袭分析的工具。
fusion.compile_sql:通过dbt平台在项目上下文中编译SQL。fusion.get_column_lineage:通过dbt平台跟踪列级沿袭。get_column_lineage:在本地跟踪列级沿袭(需要通过dbt Labs VSCE进行dbt lsp)。
产品文档
用于从docs.getdbt.com的dbt官方文档中搜索和获取内容的工具。
get_product_doc_pages:通过路径或URL获取一个或多个docs.getdbt.com页面的完整Markdown内容。search_product_docs:在docs.getdbt.com中搜索与查询匹配的页面;返回按相关性排序的标题、URL和描述。使用get_product_doc_pages获取完整内容。
MCP服务器元数据
这些工具提供有关MCP服务器本身的信息。
get_mcp_server_branch:返回正在运行的dbt MCP服务器的当前git分支。get_mcp_server_version:返回dbt MCP服务器的当前版本。
示例
通常,您会将dbt MCP服务器连接到Claude或Cursor等代理产品。但是,如果您有兴趣创建自己的代理,请查看 示例目录 关于如何开始。
依赖项
依赖关系被固定到特定版本,不会自动更新。只有与安全相关的依赖关系更新才会通过自动拉取请求提交。
贡献
阅读 CONTRIBUTING.md 了解如何参与的说明!

