项目简介
dbt Semantic Layer MCP Server 是一个 Model Context Protocol (MCP) 服务器,旨在连接 AI 助手(如 Claude Desktop)和 dbt Semantic Layer。它允许用户通过自然语言与 dbt Semantic Layer 交互,查询和分析在 dbt 项目中定义的业务指标。
主要功能点
- 指标发现: 允许 AI 助手浏览和搜索 dbt Semantic Layer 中可用的业务指标及其定义。
- 自然语言查询: 支持用户使用自然语言生成和执行针对 dbt Semantic Layer 的语义查询。
- 数据分析: 提供过滤、分组和排序指标的功能,以进行深入的数据洞察。
- 结果可视化: 查询结果可以以易于理解的格式在 AI 助手界面中展示。
- 文档支持: 提供 'get_documentation' 工具,方便用户理解如何使用该 MCP 服务器及其提供的工具。
安装步骤
推荐使用 Smithery 平台进行安装:
- 确保已安装 Node.js (v14 或更高版本)。
- 打开终端,运行以下命令:
按照提示完成安装过程。npx -y @smithery/cli install @TommyBez/dbt-semantic-layer-mcp --client claude
服务器配置
MCP 客户端(如 Claude Desktop)需要以下配置信息才能连接到 dbt Semantic Layer MCP Server。请将以下 JSON 配置添加到 MCP 客户端的服务器配置中。
{ "serverName": "dbt-semantic-layer-mcp", // MCP 服务器名称,需要与仓库中 LiteMCP 构造函数中定义的名称一致 "command": "node", // 启动服务器的命令,这里使用 node 运行 JavaScript 代码 "args": ["./src/index.js"], // 启动命令的参数,指向服务器入口文件 (假设已经build到js,或者使用ts-node运行ts文件) "env": { // 环境变量配置,MCP 服务器运行时需要以下环境变量 "SEMANTIC_LAYER_API_KEY": "<your_dbt_semantic_layer_api_key>", // 你的 dbt Semantic Layer API 密钥 "SEMANTIC_LAYER_URL": "<your_dbt_semantic_layer_url>", // 你的 dbt Semantic Layer GraphQL API URL "SEMANTIC_LAYER_ENVIRONMENT_ID": "<your_dbt_environment_id>" // 你的 dbt 环境 ID } }
请注意:
- 请将 '<your_dbt_semantic_layer_api_key>'、'<your_dbt_semantic_layer_url>' 和 '<your_dbt_environment_id>' 替换为你在 dbt Cloud 中获取的真实 API 密钥、API URL 和环境 ID。
- 'args' 参数假设你已经将 TypeScript 代码编译为 JavaScript 文件,并将入口文件放置在 './src/index.js'。如果直接运行 TypeScript 代码,可能需要调整 'args' 参数,例如使用 'ts-node src/index.ts'。但更推荐先进行 build 打包。
- 确保你的 dbt Cloud 账户已启用 Semantic Layer 功能,并且你配置的 API 密钥具有访问 Semantic Layer 的权限。
基本使用方法
- 启动 MCP 服务器: 通过 Smithery 平台或手动运行配置的启动命令来启动 dbt Semantic Layer MCP Server。
- 在 AI 助手中使用: 在 Claude Desktop 或其他兼容的 AI 助手客户端中,配置并连接到该 MCP 服务器。
- 查询指标: 在 AI 助手中,你可以使用自然语言提问,例如:
- "What metrics are available in my dbt Semantic Layer?" (我的 dbt Semantic Layer 中有哪些可用指标?)
- "Show me monthly revenue for the last quarter grouped by product category" (展示上个季度按产品类别分组的月收入)
- "What's the week-over-week growth in user signups?" (用户注册量的周环比增长是多少?)
- 利用 'get_documentation' 工具: 如果遇到使用问题,可以调用 'get_documentation' 工具获取详细的使用指南和工具说明。 例如,在 Claude 中输入 'get_documentation' 并执行。
通过以上步骤,你就可以在 AI 助手中利用 dbt Semantic Layer MCP Server 方便地查询和分析 dbt Semantic Layer 中的数据了。
信息
分类
AI与计算