dbt-labs/dbt-charts
Declarative YAML around SQL for dbt-native dashboards: easy for agents to write, easy for humans to audit.
What it solves
It addresses the problem of "vibe coded" dashboards, which often create a messy trail of artifacts, frameworks, and data transformations that are difficult to audit. It provides a structured, declarative way to define dashboards that is easy for humans to audit and for AI agents to generate.
How it works
Users define their dashboards using a declarative YAML syntax that wraps SQL. The process follows these steps:
- Compile: The YAML is validated and the theme and layout are resolved.
- Execute: SQL queries are run against a data warehouse using dbt adapters.
- Render: The results are converted into Vega-Lite specifications and rendered as interactive HTML, or static formats like PDF, PNG, and SVG.
Who it’s for
It is designed for data engineers and analysts who want a version-controllable way to build dashboards, as well as AI agents that need a standardized tool to query datasets and create visual reports.
Highlights
- Declarative Syntax: Uses YAML to define how data should be seen, while SQL defines what data to retrieve.
- Agent-Ready: Includes bundled skills and a local MCP (Model Context Protocol) server to allow AI agents to write, render, and serve dashboards.
- dbt Integration: Can be used standalone or within a dbt project to leverage
ref()andsource()functions and share connection profiles. - Extensive Visuals: Supports 16 core chart types (e.g., bar, line, KPI, maps) and 13 semantic composed shapes (e.g., lollipop, funnel, streamgraph).
- Multi-format Output: Supports live previews via a server and static exports to HTML, PDF, PNG, and SVG.
Related
- Dispatch
- Project
- Project
- Project
- Project