内容
MseeP](httpsep.ai/badge.svg)](https://mseep.ai/app/ad4aaf73-63ce-42e0-b27c-8541ae1fbab8)
[](https://archestra.ai/mcp-catalog/mattijsdp__dbt-docs-mcp)
# dbt-docs-mcp
dbt 项目元数据模型上下文协议(MCP)服务器,包括 dbt 文档工件(`manifest.json`,`catalog.json`)。该服务器公开 dbt 图形信息,并允许查询节点详细信息、模型/列血缘和相关元数据。
## 主要功能
该服务器提供以下工具:
* **搜索 dbt 节点:**
* 按名称查找节点(模型、源、测试等)(`search_dbt_node_names`)。
* 根据列名定位节点(`search_dbt_column_names`)。
* 在节点的编译 SQL 代码中搜索(`search_dbt_sql_code`)。
* **检查节点:**
* 检索给定节点的详细属性的唯一 ID(`get_dbt_node_attributes`)。
* **探索血缘:**
* 查找节点的直接上游依赖项(前驱)(`get_dbt_predecessors`)。
* 查找节点的直接下游依赖项(后继)(`get_dbt_successors`)。
* **列级血缘:**
* 跟踪模型中特定列的所有上游源(`get_column_ancestors`)。
* 跟踪模型中特定列的所有下游依赖项(`get_column_descendants`)。
* **建议的扩展:**
* 允许执行 SQL。
* 直接检索表/视图/列元数据的工具。
* 搜索知识库的工具。
## 快速入门
1. **前提 确保已安装 Pythonuv](https://docs./uv/)
2.克隆仓库:**
``` git clone <仓库网址>
cd dbt-docs-mcp ```
3. **可选列级血缘解析 db:**
- 设置 环境,例如:
```bash uv sync
```
提供的脚本 `scripts/create.py`,只需提供 db单、dbt 目录和列血缘文件输出 ```bash
python_manifest_cl.py --manifest-path 您的清单文件路径 --catalog-path目录文件路径 --schema-mapping望的架构映射输出路径-cl-path 期望的清单列血缘输出路径
```
根据您的 dbt 项目大小列血缘可能需要一段时间)
4. **:**
- 如果您 MCP 客户端(Claude desktop、Cursor 等)支持 m,其内容如下所示:
```json
{
"mcpServers": {
"DBT Docs MCP": {
"command": "uv",
"args": [
"run",
with",
"networkx,mcp[cli],rapidfuzz,dbt-core,python-decouple,sqlgldm",
"mcp",
"run",
Users/mattijsbt-docs-mcp/src/m.py"
],
"env": {
IFEST_PATH": "/Users/mattijs/repos/dbt-docs-mcp/inputs/m",
"SCHAPPING_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"
}
}
}
}
```