返回 MCP 目录
public公开dns本地运行

dbt-mcp-server

一个基于JSON的统一接口dbt模型控制协议(MCP)服务器,支持通过CLI、API或AI工具触发dbt模型运行和测试,并提供Slack通知功能。

article

README

🚀 🛠️ dbt 模型控制协议(MCP)服务器

这是一个最小化、可扩展的 MCP(模型控制协议)服务器,可通过统一接口运行 dbt 模型,为你的 dbt 操作提供便捷、高效的解决方案。

如果你喜欢这个仓库,请点个 ⭐️,你的支持对我们很重要!

🚀 快速开始

✅ 本项目已经准备好与 AI 工具(如 Claude)集成!

在本地运行(使用 UV)

uvicorn mcp_dispatcher:app --reload --port 8000

使用 Docker 运行

docker build -t dbt-mcp-server .
docker run -p 8000:8000 dbt-mcp-server

使用 Claude 触发 MCP(支持的客户端)

python claude_client_example.py

✨ 主要特性

  • 使用干净的 JSON 规范运行 dbt 模型,让操作更加简洁明了。
  • 支持 CLI 或 HTTP API 调用,满足不同场景的使用需求。
  • 提供模型状态的 Slack 警告,及时掌握模型运行情况。
  • 兼容 Claude 等 AI 工具,便于与先进技术集成。

📦 安装指南

本项目提供了多种运行方式,你可以根据自己的需求选择合适的方式进行安装:

  • 本地运行(使用 UV):执行 uvicorn mcp_dispatcher:app --reload --port 8000 命令。
  • 使用 Docker 运行:先执行 docker build -t dbt-mcp-server . 构建镜像,再执行 docker run -p 8000:8000 dbt-mcp-server 运行容器。

💻 使用示例

基础用法

通过以下命令使用:

python mcp_dispatcher.py mcp_request.json

配置示例

{
  "mcpServers": {
    "fetch": {
      "command": "node",
      "args": [
        "{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
      ]
    }
  }
}

📣 Slack 警告

⚠️ 重要提示

设置 SLACK_WEBHOOK_URL,以在模型成功或失败时接收警告。

🛠️ 贡献指南

如果你有兴趣贡献代码或想法,欢迎打开问题页面发起讨论或直接提交拉取请求。无论是代码、建议还是反馈,所有贡献都受到欢迎!

📄 许可证

此 MCP 服务器根据 MIT 许可证分发。这意味着你可以自由地使用、修改和分发软件,但需遵守 MIT 许可证的条款和条件。更多详细信息,请参阅项目仓库中的 LICENSE 文件。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端