关于 dbt-docs-mcp
dbt-docs-mcp 是一个用于查询 dbt 项目元数据的 MCP 服务,基于 manifest.json 和 catalog.json 等 dbt Docs 产物。它面向需要理解 dbt 模型依赖与字段血缘的数据团队。
主要功能
- 01按名称、字段名或编译后 SQL 搜索节点
- 02查看节点的详细属性
- 03查询节点的直接上游与下游依赖
- 04追踪字段的上游来源与下游影响范围
适用场景
- 01查找某个模型或字段在 dbt 项目中的位置
- 02评估修改某个模型对下游的影响
- 03追踪报表字段的数据来源
MCP 相关
该项目是 MCP 服务端,将 dbt 图结构、节点详情和血缘查询以工具形式暴露给 MCP 客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
dbt-docs-mcp
用于与 dbt 项目元数据交互的模型上下文协议(MCP)服务,包括 dbt Docs 工件(manifest.json、catalog.json)。此服务公开 dbt 图信息,并允许查询节点详情、模型/列血缘关系以及相关元数据。
主要功能
此服务提供以下工具:
- 搜索 dbt 节点:
- 按名称查找节点(模型、源、测试等)(
search_dbt_node_names)。 - 根据列名定位节点(
search_dbt_column_names)。 - 在节点的编译后 SQL 代码中搜索(
search_dbt_sql_code)。
- 按名称查找节点(模型、源、测试等)(
- 检查节点:
- 检索任意给定节点唯一 ID 的详细属性(
get_dbt_node_attributes)。
- 检索任意给定节点唯一 ID 的详细属性(
- 探索血缘关系:
- 查找节点的直接上游依赖项(前置节点)(
get_dbt_predecessors)。 - 查找节点的直接下游依赖项(后续节点)(
get_dbt_successors)。
- 查找节点的直接上游依赖项(前置节点)(
- 列级血缘关系:
- 追溯模型中特定列的所有上游来源(
get_column_ancestors)。 - 追溯模型中特定列的所有下游依赖项(
get_column_descendants)。
- 追溯模型中特定列的所有上游来源(
- 建议的扩展:
- 允许执行 SQL 查询的工具。
- 直接从数据库检索表/视图/列元数据的工具。
- 搜索知识库的工具。
开始使用
- **前置条件:**确保已安装 Python 和 uv
- 克隆仓库:
git clone <repository-url> cd dbt-docs-mcp - 可选:解析 dbt manifest 以获取列级血缘关系:
- 设置所需的 Python 环境,例如:
uv sync- 使用提供的脚本
scripts/create_manifest_cl.py,并提供 dbt manifest、dbt catalog 的路径,以及 schema 和列血缘关系文件所需的输出路径:
python scripts/create_manifest_cl.py --manifest-path PATH_TO_YOUR_MANIFEST_FILE --catalog-path PATH_TO_YOUR_CATALOG_FILE --schema-mapping-path DESIRED_OUTPUT_PATH_FOR_SCHEMA_MAPPING --manifest-cl-path DESIRED_OUTPUT_PATH_FOR_MANIFEST_CL- 根据 dbt 项目的规模,生成列级血缘关系可能需要较长时间(数小时)
- 运行服务:
- 如果你使用的 MCP 客户端(Claude 桌面版、Cursor 等)支持 mcp.json,配置示例如下:
{ "mcpServers": { "DBT Docs MCP": { "command": "uv", "args": [ "run", "--with", "networkx,mcp[cli],rapidfuzz,dbt-core,python-decouple,sqlglot,tqdm", "mcp", "run", "/Users/mattijs/repos/dbt-docs-mcp/src/mcp_server.py" ], "env": { "MANIFEST_PATH": "/Users/mattijs/repos/dbt-docs-mcp/inputs/manifest.json", "SCHEMA_MAPPING_PATH": "/Users/mattijs/repos/dbt-docs-mcp/outputs/schema_mapping.json", "MANIFEST_CL_PATH": "/Users/mattijs/repos/dbt-docs-mcp/outputs/manifest_column_lineage.json" } } } }
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。