LLMs to turn Ad Hoc Questions into Real-Time AnswersRegister

Skip to main content

Creating Visualizations with Dives

Public Preview

Dives are currently in public preview and functionality is subject to change.

Dives are interactive visualizations you create with natural language, directly on top of your data in MotherDuck. Ask a question to your AI agent, and MotherDuck generates a persistent, interactive component that lives in your workspace alongside your SQL.

Think of Dives as a bridge between one-off questions and always-up-to-date dashboards. Instead of building a full dashboard or writing complex queries, you can ask a question and save the answer as a Dive that stays current with your data.

How Dives work

When you create a Dive with the MotherDuck MCP through an AI agent:

  1. You ask a question in natural language (e.g., "Show me monthly revenue trends by product category")
  2. The AI agent queries your MotherDuck database via the MCP Server to understand the data
  3. The agent creates an interactive visualization, with the necessary SQL to query the data
  4. MotherDuck saves the Dive to your workspace

Dives use MotherDuck's hypertenancy architecture to serve sub-second queries. Every user gets dedicated compute, so there's no slowdown when your whole team explores data at once.

Prerequisites

To create Dives, you need:

Dives are available on Business plans at no additional charge.

Creating a Dive

Connect your AI assistant to the MotherDuck MCP Server, then ask it to create a visualization. The key is to ask for a "Dive" specifically as this tells the agent to persist the visualization in your MotherDuck workspace.

Example prompts:

  • "Create a Dive showing monthly revenue trends for the last 12 months"
  • "Make a Dive that breaks down customer sign-ups by region"
  • "Build a Dive with a chart of our top 10 products by sales volume. Use MotherDuck's brand colors"

The AI agent handles the SQL, chart configuration, styling and saving. You just describe what you want to see.

Iterating on a Dive

Once you have a Dive, you can refine it through conversation:

  • "Add a filter for the US region only"
  • "Change the chart to a stacked bar chart"
  • "Add a trend line to show the overall direction"

Each update modifies the Dive in place, keeping your visualization current.

Finding your Dives

Dives appear in two places in the MotherDuck UI:

Object Explorer

Your recent Dives appear in the left sidebar, above your Notebooks. Click any Dive to load it in the main view. The list shows your most recently viewed Dives first.

A screenshot of a dives dashboard in the MotherDuck UI

Settings page

For a complete list of all Dives in your organization, go to SettingsDives. This view makes it easier to find Dives created by others in your team.

A screenshot of the dives settings and overview in the MotherDuck UI

Sharing Dives with your team

When you save a Dive, the AI agent checks whether the databases it queries are shared with your organization. If not, it will suggest sharing them so your team can view the Dive. You can also explicitly ask:

"Share the data for my revenue Dive with my team"

This creates org-scoped shares for any private databases referenced in the Dive's queries and updates the Dive to use the shared references. See share_dive_data for details.

Version history

Every time you update a Dive, MotherDuck saves a new version. You can retrieve any previous version by number (1-indexed). Use list_dives to see the current_version for each Dive, and read_dive with the version parameter to inspect a specific version.

What makes Dives different

Unlike traditional dashboards:

  • Natural language creation: Describe what you want in plain English instead of clicking through a UI or writing visualization code
  • Always current: Dives query live data—no manual refreshes or stale snapshots
  • Workspace-native: Dives live alongside your SQL in MotherDuck, not in a separate tool
  • Instant exploration: Filter, drill down, and explore without waiting for queries to run

Unlike one-off AI-generated charts:

  • Persistent: Dives save to your workspace so you can return to them anytime
  • Shareable: Team members can view and interact with Dives you create—share the underlying data to give them access
  • Interactive: Filter and explore the data, not just view a static image

Example workflow

Here's a typical workflow combining MCP queries and Dives:

  1. Explore your data with the MCP Server:

    "What tables do I have in my analytics database?"

  2. Ask analytical questions:

    "What's the trend in daily active users over the past 90 days?"

  3. Create a Dive when you find something worth keeping:

    "Create a Dive showing this DAU trend with a 7-day moving average"

  4. Refine the visualization:

    "Add a comparison line showing the same period last year"

  5. Share with your team: The Dive now lives in your workspace where colleagues can view and interact with it.

Tips for better Dives

Be specific about the visualization

Include details about chart type, time ranges, and groupings:

Less effectiveMore effective
"Show me sales data""Create a Dive with a line chart of weekly sales for 2024, broken down by product category"
"Make a customer chart""Build a Dive showing customer count by signup month as a bar chart"

Use your schema knowledge

If you know your table and column names, include them:

"Create a Dive from the orders table showing total_amount by order_date, grouped by month"

Start simple, then iterate

Begin with a basic visualization, then add complexity:

  1. "Create a Dive showing revenue by month"
  2. "Add a breakdown by region"
  3. "Filter to show only the top 5 regions"

Troubleshooting

IssueSolution
AI creates a chart but doesn't save it as a DiveExplicitly ask to "create a Dive" or "save this as a Dive in MotherDuck"
Dive shows unexpected dataAsk the AI to explain the query it used, then refine your request
Can't find a DiveCheck SettingsDives for the complete list
Dive is slow to loadThe underlying query may be scanning a lot of data—ask the AI to add filters or optimize