← Solutions

Build dashboards with Claude Code over MCP

You can build dashboards with Claude Code directly from its terminal session, once it’s connected to the dvt MCP server: no separate app, no copy-pasting JSON into a browser tab. Install one plugin, describe the dashboard you want in plain language, and the agent writes a versioned JSON spec, validates it, previews the render, and applies it to your workspace.

Install the plugin

dvt ships a Claude Code plugin that wires up the MCP connection for you:

/plugin marketplace add getdvt/dvt-plugin
/plugin install dvt@dvt-plugin

That’s the whole setup. The plugin adds the dvt MCP server to your Claude Code session, and every tool call from that point forward (listing dashboards, validating a spec, applying a change, reading a comment thread) runs against your dvt workspace.

How to build dashboards with Claude Code

Once the plugin is installed, describe what you want in a normal prompt. For example:

Build me a revenue dashboard from the orders table: monthly trend, top 10 customers by revenue, and average order value by region.

Claude reads your warehouse schema, writes the SQL for each panel, and constructs a dvt spec: the JSON document describing the queries, the chart types, and the layout. It calls dvt’s validate tool to confirm the spec is well-formed against the schema, runs a preview so you see the rendered result before anything is saved, and only then applies it. Schema introspection, authoring, validation, and preview happen in one session, without you ever opening a dashboard editor.

This is different from asking a general AI chat tool to draw you a chart. A chart image is a dead end: change one number and you’re back to describing the whole thing again. A dvt spec is a live artifact Claude can reopen, read, and edit line by line the next time you ask for something different, which is the gap this closes.

What happens after you type a prompt

The result is a live dashboard, not a static export. Every time someone opens it, dvt runs the SQL against your warehouse again, so the numbers are current, not frozen at generation time. The spec itself is stored with a full revision history: every save, whether Claude made it or a person edited the same dashboard by hand, becomes an attributed version.

Ask for a change next week and Claude edits the one panel that needs it, validates the updated spec, previews it, and applies it. The rest of the dashboard is untouched, and the diff between versions shows exactly what moved.

Review, revise, repeat

Because the dashboard is a document, review works the way code review does. Leave a comment pinned to a specific panel, and in your next Claude Code session ask the agent to check open threads on that dashboard. It reads them over MCP, makes the requested edit, replies, and resolves the thread. Every version records whether a human, Claude, or the system made the change, and which API key Claude acted through, so nothing an agent does is anonymous.

Connecting to your data

Claude Code reaches your warehouse the same way it reaches any other tool on your machine: through a CLI you already have installed and authenticated, such as snowsql, bq, or psql. dvt itself connects to Snowflake, Postgres, BigQuery, and Google Sheets as dashboard sources, and pushes the SQL to whichever one your spec points at, at view time. For the full four-prompt walkthrough from a clean workspace to a live dashboard, see the quickstart.

Try the spec format yourself in the free Builder. No signup required. Ready to connect Claude Code to your own warehouse? Get early access.

Follow the build

dvt is in founding research. Leave your email and we'll reach out when there's something to see — no newsletters, no noise.

No spam. We use this to reach out directly, nothing else.