# dvt > dvt is an AI-native BI tool. Every dashboard is a versioned JSON spec that humans and AI agents author against one schema, through a REST API or an MCP server. It ships as hosted dvt (Snowflake, Postgres, Redshift, BigQuery, Google Sheets, uploaded files) and as a native app that runs inside your Snowflake account, listed on the Snowflake Marketplace. If you are an agent authoring a dvt dashboard, start with the spec-authoring skill: it is the complete authoring reference. Blog, solutions, and glossary pages have markdown twins; append `.md` to the page path. ## Docs - [dvt spec-authoring skill](https://dvt.dev/dvt-spec-authoring-skill.md): How to author a dvt dashboard spec: method, schema, chart catalog, and MCP tool usage. - [Spec-authoring skill, full bundle](https://dvt.dev/dvt-spec-authoring-skill.full.md): The skill plus all of its reference files in one document. - [Quickstart](https://dvt.dev/quickstart/): Connect an AI agent to dvt and your warehouse, then build a live dashboard in four prompts. - [The JSON dashboard spec](https://dvt.dev/spec/): What a dvt spec is and how it is stored, versioned, and edited. - [Chart reference](https://dvt.dev/reference/charts/): The 44 dvt chart types, with when-to-use guidance. - [dvt for Snowflake](https://dvt.dev/snowflake/): The Snowflake Marketplace native app. ## Blog - [Cheap dashboards make sprawl the real problem](https://dvt.dev/blog/dashboard-sprawl.md): When an agent can build a dashboard from a sentence, building stops being the hard part. Keeping track of hundreds of dashboards takes over. Only a tool that records why each dashboard exists as it's built, and lets agents read that back, can keep up. - [Dashboards aren't dead. Anthropic just built one.](https://dvt.dev/blog/dashboards-arent-dead.md): Chat was supposed to replace the dashboard. Then the people building the chat pointed it at company data and shipped dashboards. What that tells us about where BI is going, and what a dashboard has to be made of now. - [dvt as a Snowflake Native App: the security review that runs out of questions](https://dvt.dev/blog/snowflake-native-app.md): dvt runs as a Snowflake Native App on Snowpark Container Services, so the usual SaaS BI vendor questionnaire collapses to answers your admin can verify. - [You could build this yourself. Here's the rest of it.](https://dvt.dev/blog/you-could-build-this-yourself.md): An honest build vs buy breakdown: what an afternoon with an agent buys you, and what months of work, dozens of architecture decisions, and more than a thousand merged pull requests bought after that. - [Skills, subagents, and dvt: make the agent work like your team](https://dvt.dev/blog/skills-subagents-and-dvt.md): Claude Code and Codex can already build dvt dashboards over MCP. Skills and subagents teach them to build *your* dashboards — and dvt's org skills give those conventions a distribution channel. - [You don't need a semantic layer to build dashboards with dvt](https://dvt.dev/blog/you-dont-need-a-semantic-layer.md): Raw tables, dbt models, or governed semantic views — dvt works on top of whatever you have. There's no modeling prerequisite, because dvt is the visualization layer and nothing else. - [Housekeeping is a read problem](https://dvt.dev/blog/housekeeping-is-a-read-problem.md): “Read all the dashboards and come up with folders to organize them into.” One sentence, and an agent reorganized our entire internal org. The interesting part isn't that dvt can write dashboards — it's that an MCP server can read every one of them at once. - [The code-first dashboard landscape for analytics engineers](https://dvt.dev/blog/open-source-dashboard-landscape.md): A buyer's guide to code-first BI: Lightdash, Evidence, Metabase (open-source), plus dvt, a spec-first hosted alternative. - [Build dashboards with an AI agent: how dvt's MCP integration works](https://dvt.dev/blog/talk-to-your-warehouse.md): Why most AI dashboards dead-end as screenshots — and how dvt's MCP surface lets an agent author a live, versioned dashboard spec instead. - [Dashboards as code: version control, review, and rollback for your BI layer](https://dvt.dev/blog/dashboards-as-code.md): What 'dashboards as code' actually means, what it buys you, and how dvt implements it — versioned JSON specs that live in git alongside your dbt models. - [The static HTML trap: how we recognized the need for dvt](https://dvt.dev/blog/the-static-html-trap.md): AI made everyone a dashboard author overnight. The output was a pile of static HTML files — stale on arrival, impossible to reproduce, and scattered across everyone's downloads folder. That gap is why dvt exists. - [The two things dvt actually promises](https://dvt.dev/blog/two-promises.md): Faster dashboard dev cycles, and always knowing what's published. What dashboards-as-code buys you after the authoring is done. - [Where dvt fits — and the skills that should ride alongside it](https://dvt.dev/blog/where-dvt-fits.md): dvt is the visualization layer of the data stack, and nothing more. Here's why that narrowness is the point, and the companion skills AI-native data teams should build around it. ## Solutions - [AI-native BI tool for agentic dashboards](https://dvt.dev/solutions/ai-bi.md): dvt is an AI-native BI tool: dashboards are versioned JSON specs that humans and agents author the same way, the object model agentic BI needs. - [Build dashboards with Claude Code](https://dvt.dev/solutions/claude-code-dashboards.md): Install the dvt Claude Code plugin and build dashboards with Claude Code over MCP: the agent validates, previews, and applies a live JSON spec. - [MCP dashboard tool for AI agents](https://dvt.dev/solutions/mcp-dashboards.md): dvt is an MCP dashboard tool: agents validate, apply with preview, render, diff, comment, and export dashboards through one MCP server, no GUI required. - [AI dashboards for Snowflake](https://dvt.dev/solutions/snowflake-ai-dashboards.md): dvt builds AI dashboards for Snowflake: agents query your tables over MCP, author a versioned spec, and can run entirely inside your account as a Native App. - [Dashboards as code: the dvt implementation](https://dvt.dev/solutions/dashboards-as-code.md): Dashboards as code means a dashboard is a versioned, schema-validated JSON document you can diff and roll back, not GUI state. dvt implements it natively. - [AI dashboards for Postgres](https://dvt.dev/solutions/postgres-ai-dashboards.md): dvt builds AI dashboards for Postgres: an agent writes SQL against your database, authors a versioned JSON spec, and dvt runs every query on your server. - [AI dashboards for BigQuery](https://dvt.dev/solutions/bigquery-ai-dashboards.md): dvt builds AI dashboards for BigQuery: an agent writes SQL against your datasets, authors a versioned JSON spec, and every query runs in your own project. - [Dashboards from Google Sheets](https://dvt.dev/solutions/google-sheets-dashboards.md): dvt builds live dashboards from Google Sheets: an agent authors a versioned JSON spec over your spreadsheet, and dvt reads the sheet itself, never a copy. ## Glossary - [Dashboards as code](https://dvt.dev/glossary/dashboards-as-code.md): Dashboards as code means a dashboard is a versioned, schema-validated document you can read, diff, review, and roll back, instead of state saved inside a GUI. - [Dashboards as data](https://dvt.dev/glossary/dashboards-as-data.md): Dashboards as data means a dashboard is a structured document stored as a record and managed through an API, so the same spec always renders the same output. - [BI as code](https://dvt.dev/glossary/bi-as-code.md): BI as code is the practice of defining business intelligence assets, such as dashboards, charts, and data connections, as versioned text instead of GUI state. - [Dashboard spec](https://dvt.dev/glossary/dashboard-spec.md): A dashboard spec is the complete JSON document that describes a dashboard: its theme, pages, layout, and every panel's data binding and visual configuration. - [Panel (dashboard element)](https://dvt.dev/glossary/dashboard-panel.md): A dashboard panel is a single element of a dashboard, such as a chart, table, filter, or metric, placed on the page grid with its own data binding and settings. - [Connection as code](https://dvt.dev/glossary/connection-as-code.md): Connection as code means a dashboard's data sources are named, declarative objects that specs reference by name, with credentials held apart from the specs. - [Agent-built dashboard](https://dvt.dev/glossary/agent-built-dashboard.md): An agent-built dashboard is one an AI agent authors through an API or MCP server, producing the same versioned, reviewable document a person would write. - [MCP (Model Context Protocol)](https://dvt.dev/glossary/mcp-model-context-protocol.md): MCP (Model Context Protocol) is an open protocol that lets AI agents call external tools; an MCP dashboard server exposes dashboard operations as typed tools. - [SQL pushdown](https://dvt.dev/glossary/sql-pushdown.md): SQL pushdown means a dashboard sends its queries to run inside your database or warehouse and receives only the result rows, rather than copying your data. - [Semantic layer and skills](https://dvt.dev/glossary/semantic-layer.md): A semantic layer maps business terms like revenue or active user to the data and logic behind them; dvt skills give agents those definitions first. - [Dashboard version history (revision)](https://dvt.dev/glossary/dashboard-version-history.md): Dashboard version history is the append-only record of every saved version of a dashboard, with who made each change and the ability to restore any version. - [Preview (dry run)](https://dvt.dev/glossary/dashboard-preview.md): A dashboard preview, or dry run, validates a proposed change and returns the result it would produce without saving anything, so the author can check it first. - [Design tokens and themes](https://dvt.dev/glossary/design-tokens.md): A design token is a named variable for a visual value such as a color, size, or font; a theme is a set of tokens that styles a whole dashboard at once. - [Spec validation](https://dvt.dev/glossary/spec-validation.md): Spec validation checks a dashboard spec against a schema before it is saved, so malformed panels, unknown properties, and off-list values are rejected early. ## Comparisons - [dvt vs Sigma: a versioned spec, not a workbook](https://dvt.dev/vs/sigma/): Compare dvt and Sigma on Snowflake: pricing, dashboards as code, AI authoring over MCP, chart types, and native app deployment inside your own account. - [dvt vs Power BI: a versioned spec, not a report page](https://dvt.dev/vs/power-bi/): Compare dvt and Power BI on Snowflake: pricing, dashboards as code, Copilot AI authoring, the Authoring MCP server, chart types, and native app deployment. - [dvt vs Tableau: a versioned spec, not workbook XML](https://dvt.dev/vs/tableau/): Compare dvt and Tableau on Snowflake: pricing, dashboards as code, Tableau Agent AI authoring, the tableau-mcp server, chart extensibility, and deployment. ## Optional - [Snowflake Marketplace listing](https://app.snowflake.com/marketplace/listing/GZU6Z9H7JYE/dvt-dvt-%E2%80%94-ai-authored-dashboards-inside-your-snowflake-account): Install the dvt native app. - [Product](https://dvt.dev/product/): Product overview. - [Vision](https://dvt.dev/vision/): Why dashboards should be data. - [Trust](https://dvt.dev/trust/): Security and compliance posture.