dbt-mcp-server
The dbt MCP Server is designed to streamline the process of running dbt models by providing a minimal, extensible server that operates with a unified JSON-based interface. It supports CLI, API, and AI-triggered operations, with integrated Slack notifications.
๐ ๏ธ dbt MCP Server
This is a minimal, extensible MCP (Model Control Protocol) server to run dbt models with a unified interface.
If you like this repo, leave a โญ๏ธ โ it means a lot!
Overview
A unified JSON-based workflow for triggering dbt models, tests, and other dbt operations, triggered via CLI, API, or an AI interface like Claude. Includes Slack notifications for task completions.
๐ Getting Started
โ Ready to plug into AI tools like Claude for prompt-driven automation!
Run Locally with UV
uvicorn mcp_dispatcher:app --reload --port 8000
Run with Docker
docker build -t dbt-mcp-server .
docker run -p 8000:8000 dbt-mcp-server
5. Trigger MCP from Claude (supported client)
python claude_client_example.py
๐ฃ Slack Alerts
Set your SLACK_WEBHOOK_URL
to get alerts on model success or failure.
๐ Usage
python mcp_dispatcher.py mcp_request.json
{
"mcpServers": {
"fetch": {
"command": "node",
"args": [
"{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
]
}
}
}
Features
- Run dbt models using a clean JSON spec
- Accept CLI or HTTP API calls
- Slack alerts for model status
- Compatible with Claude
๐ ๏ธ Contributing
If you're interested in contributing, feel free to open an issue to start a discussion or directly submit a pull request. Whether it's code, ideas, or feedbackโall contributions are welcome!
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.