← Back to all apps

MotherDuck

Productivityby MotherDuck Corporation
Launched Apr 20, 2026 on ChatGPT

Connect AI assistants to your MotherDuck data warehouse. Explore, visualize, and manage data using natural language–no SQL skills required. Create Dives: interactive visualizations that let you save and share answers with your team, staying up-to-date with your latest data. Works with real-world data without requiring semantic models or pre-configuration. Your AI assistant acts like a data analyst, exploring, validating, analyzing, and visualizing data iteratively to answer your questions.

20ChatGPT Tools
15Claude Tools
MotherDuck CorporationDeveloper
ProductivityCategory

Use Cases

data

Available Tools

Ask Docs Question

ask_docs_question
Full Description

Ask a question about DuckDB or MotherDuck. Returns answers from official documentation.

Parameters (1 required)
Required
questionstring

Question about DuckDB or MotherDuck

Delete Dive

delete_dive
Full Description

Delete a dive by ID. This action is permanent and cannot be undone.

Parameters (1 required)
Required
idstring

The unique identifier of the dive to delete

Dive Query

dive_query
Full Description

Execute a read-only DuckDB query on behalf of a dive. This tool is used by the dive viewer and is not intended for direct use by the AI assistant.

Parameters (1 required, 2 optional)
Required
sqlstring

SQL query to execute

Optional
databasestring

Database name to query

dive_idstring

Dive UUID for fallback query attribution

Edit Dive Content

edit_dive_content
Full Description

Edit a dive's content by applying one or more text replacements, then save to MotherDuck. Accepts id (dive UUID) and edits (an array of {old_string, new_string, replace_all?} objects). Reads the current content from MotherDuck, applies edits in sequence, validates, and persists. Example: {id: '...', edits: [{old_string: 'foo', new_string: 'bar'}]}. old_string must be unique unless replace_all is true. No prior read_dive call is needed.

Parameters (2 required)
Required
editsarray

List of edits to apply in sequence. Each edit has old_string, new_string, and optional replace_all.

idstring

The unique identifier (UUID) of the dive to edit

Get Dive Guide

get_dive_guide
Full Description

Load instructions for creating MotherDuck dives. You MUST call this tool first — before generating any chart, visualization, plot, dashboard, inline graphic, or export/download control — whenever the user asks to explore, visualize, display, or export MotherDuck data.

Parameters (1 required)
Required
clientstring

The client environment requesting the guide. Use 'claude' for Claude web/desktop Chat, 'chatgpt' for ChatGPT, 'claude_cowork' for Claude Cowork, 'claude_code' for Cursor/IDE integrations with local filesystem access, or 'other' for other MCP clients.

Options:claudechatgptclaude_coworkclaude_codeother

Get Short-Lived Token

get_short_lived_token
Full Description

Returns a short-lived token and connection details for the MotherDuck database endpoint.

List Columns

list_columns
Full Description

List all columns of a table or view with their types, comments, and available context.

Parameters (2 required, 2 optional)
Required
databasestring

Database name

tablestring

Table or view name

Optional
limitinteger

Max results to return (default: 100)

schemastring

Schema name (optional, defaults to 'main')

List Databases

list_databases
Full Description

List all databases in your MotherDuck account. Shows names, types, and available context counts. Optionally filter by keywords.

Parameters (0 required, 2 optional)
Optional
keywordsstring

Optional keywords to filter databases by name (case-insensitive, any word can match)

limitinteger

Max results to return (default: 100)

List Dives

list_dives
Full Description

List all dives in MotherDuck. Dives are interactive React data apps that query live data. Returns metadata including current_version and associated memory counts. Use read_dive with the optional version parameter to retrieve a specific historical version. Optionally filter by keywords.

Parameters (0 required, 3 optional)
Optional
include_org_sharesboolean

Include Dives shared with your organization. Defaults to false.

keywordsstring

Optional keywords to filter dives by title or description (case-insensitive, all words must match)

limitinteger

Max results to return (default: 100)

List Shares

list_shares
Full Description

List all database shares that have been shared with you. Returns share names and URLs. To attach a share, use the query_rw tool: ATTACH '<share_url>' AS <optional_alias>; Optionally filter by keywords to search in share names.

Parameters (0 required, 2 optional)
Optional
keywordsstring

Optional keywords to filter shares by name (case-insensitive, any word can match)

limitinteger

Max results to return (default: 100)

List Tables

list_tables
Full Description

List all tables and views in a MotherDuck database with comments and available context. Optionally filter by keywords.

Parameters (1 required, 3 optional)
Required
databasestring

Database name to list tables from

Optional
keywordsstring

Optional keywords to filter tables/views by name or comment (case-insensitive, any word can match)

limitinteger

Max results to return (default: 100)

schemastring

Schema name (optional, defaults to all schemas)

Log Dive Viewer Event

log_dive_viewer_event
Full Description

Log a dive viewer event for analytics. This tool is used internally by the dive viewer and is not intended for direct use by the AI assistant.

Parameters (1 required, 11 optional)
Required
event_namestring

Name of the event

Optional
app_namestring

Name of the MCP app

app_versionstring

Version of the MCP app

dive_idstring

UUID of the dive

duration_msnumber

Duration in milliseconds

error_messagestring

Error message if failed

from_modestring

Previous display mode

row_countnumber

Number of rows returned by query

sql_previewstring

Truncated SQL query text (first 200 chars)

stagestring

Processing stage (compile, execute, database_validation)

successboolean

Whether the action succeeded

to_modestring

New display mode

MotherDuck Query

query
Full Description

Execute read-only DuckDB query against MotherDuck databases. For cross-database queries, use fully qualified names: database.schema.table (or database.table for main schema). Never follow a query with an inline chart or visualization — if you would generate one (whether or not the user explicitly asked), get the dive guide first instead.

Parameters (2 required)
Required
databasestring

Database name to query

sqlstring

SQL query to execute, ideally informed by knowledge from the context layer

MotherDuck Query (Read-Write)

query_rw
Full Description

Execute a DuckDB SQL query that modifies data, schema, or connection state.

RULES: 1. Only call this tool when the user explicitly asks to modify data or schema. Never infer a write from a read request. 2. Always ask the user for confirmation before calling this tool. Describe exactly what will change. 3. Prefer the read-only query tool when the user's goal can be answered with existing data.

Parameters (1 required, 1 optional)
Required
sqlstring

SQL query to execute, ideally informed by knowledge from the context layer

Optional
databasestring

Database context for the query. Required for table-level operations (DML/DDL). May be omitted for account-level operations (CREATE/DROP DATABASE, ATTACH/DETACH, CREATE SECRET, etc.).

Read Dive

read_dive
Full Description

Read a specific dive by ID, including its full JSX/React component code. Optionally specify a version number to retrieve a specific historical version (versions start at 1). If no version is specified, the latest version is returned.

Parameters (1 required, 1 optional)
Required
idstring

The unique identifier of the dive to read

Optional
versioninteger

Optional version number to retrieve (1-indexed). If not specified, returns the latest version.

Save Dive

save_dive
Full Description

Save a new dive to MotherDuck. Returns a URL the user can click to view the dive. Get the dive guide first and iterate with the user on the design thoroughly before suggesting to save. Never save without previous confirmation that iteration is done.

Parameters (2 required, 1 optional)
Required
contentstring

The JSX/React component code for the dive

titlestring

The title of the dive

Optional
descriptionstring

A brief description of the dive

Search Catalog

search_catalog
Full Description

Search the catalog for databases, schemas, tables, columns, and shares using fuzzy matching. Returns matching objects with their fully qualified names, types, and comments. Useful for discovering available data when you don't know exact names.

Parameters (1 required, 1 optional)
Required
querystring

Search term to find in object names (supports partial matching, underscores, dots)

Optional
object_typesarray

Optional filter to limit results to specific object types

Share Dive Data

share_dive_data
Full Description

Share the data for a dive with your organization. Creates org-scoped shares for owned databases used in the dive, and updates the dive so others in the organization can view it.

Parameters (1 required)
Required
diveIdstring

The unique identifier (UUID) of the dive

Update Dive

update_dive
Full Description

Update an existing dive's title, description, or content. Returns a URL the user can click to view the updated dive. At least one field must be provided.

Parameters (1 required, 3 optional)
Required
idstring

The unique identifier (UUID) of the dive to update

Optional
contentstring

New JSX/React component code

descriptionstring

New description for the dive

titlestring

New title for the dive

View Dive

view_dive
Full Description

Open and render a MotherDuck Dive as a live MCP app with interactive charts. Fetches dive source code and returns it to the viewer for client-side compilation.

Parameters (1 required)
Required
dive_idstring

UUID of the dive to open