dvt: the MCP dashboard tool for agent-built dashboards
dvt is an MCP dashboard tool: connect an MCP-capable client (Claude Code, Claude Desktop, Cursor, VS Code, or Codex CLI) to the dvt MCP server, and it gets a full, typed tool surface for building, checking, and maintaining dashboards, more than 80 tools in total. None of them operate a hidden GUI on the agent’s behalf. Every tool reads or writes the same versioned JSON spec a person edits by hand in the browser.
What dvt’s MCP dashboard tool actually does
Rather than list all 80-plus tools, it’s more useful to group them by what an agent is actually trying to do.
Discover
Before writing anything, an agent lists what’s already in a workspace: folders, existing dashboards, the org’s skills, and reference catalogs for the panel types dvt supports. It can fetch a specific dashboard’s current spec to read and modify, rather than starting from a blank page, and pull the catalog of available chart, page, block, and interaction types before choosing one.
Validate and apply
Before anything is saved, an agent checks a draft spec against the schema and catches a malformed chart type or a missing field before it ever touches a real dashboard. Applying a change supports a preview mode: the agent sees the rendered result first, and only a second call actually persists it. Creating a new dashboard and updating an existing one both go through the same validate-then-preview-then-apply path.
Here’s the shape of what gets checked and applied, a minimal bar chart panel:
{ "id": "revenue-by-month", "title": "Revenue by month", "type": "chart:bar",
"data": { "rows": [{ "month": "Jan", "revenue": 120 }, { "month": "Feb", "revenue": 150 },
{ "month": "Mar", "revenue": 178 }, { "month": "Apr", "revenue": 168 }] },
"spec": { "series": [{ "type": "bar", "barMaxWidth": 48 }] } }
Render and diff
An agent can request a rendered view of a dashboard or a single panel, compare two versions of a spec, and pull the full revision history for a dashboard, a page, or one element. That’s what makes an agent’s edit checkable: it can show a diff instead of asking you to trust that the change was correct.
Comment and share
Threaded comments are pinned to a specific panel, and an agent can list open threads, reply to one, and resolve it once it has made the requested edit. Sharing tools manage who else can see or edit a dashboard, so an agent can hand off access as part of finishing a request rather than building in isolation.
Organize and export
Dashboards live in folders an agent can create, move dashboards into, and list. Export tools produce scheduled or on-demand PDF and PNG output, and sheet tools let an agent query and append rows to dvt’s linked sheets. Every one of these is the same tool surface a human uses through the dvt interface, exposed as a callable MCP tool instead of a button.
Why the grouping matters more than the count
A tool count is a vanity number. What matters is that every one of these tools operates on the same object: the spec. An agent that validates a spec, previews it, and applies it is working with the identical document a reviewer sees in the version history, comments on, and can roll back. There is no separate “AI dashboard” format that only the agent understands, and no translation layer between what the agent wrote and what renders on screen.
Connecting an agent
The dvt MCP server works with Claude Code, Claude Desktop, Cursor, VS Code, and Codex CLI. See the Claude Code walkthrough for connecting the server and the first prompts to try, from exploring a workspace to shipping a live dashboard, and the spec reference for the full document format every one of these tools reads and writes.
Try the tool surface in action by opening the free Builder. No signup required. Want an agent working against your own warehouse? Get early access.