ask_docs_question
ChatGPTAsk a question about DuckDB or MotherDuck. Returns answers from official documentation.
cancel_flight_run
ChatGPTCancel an in-flight run of a flight. Identified by the flight UUID and the sequential run number (from list_flight_runs). Returns canceled: true on a successful transition; calling on an already-terminal run or one that doesn't exist returns a tool error.
create_flight
ChatGPTCreate a new MotherDuck flight. A flight is a Python entrypoint (source_code) plus an optional requirements_txt that runs on MotherDuck compute. Optionally provide an access_token_name so the flight can connect to MotherDuck at runtime; omit it to use the default MotherDuck Flights access token. Optionally provide a 5-field cron expression to run on a schedule. Use flights for ELT/ETL pipelines, loading external data into MotherDuck, refreshing materialized views, or any recurring Python job that reads/writes MotherDuck data.
delete_dive
ChatGPTDelete a dive by ID. This action is permanent and cannot be undone.
delete_flight
ChatGPTPermanently delete a flight, its versions, schedule, and run history. This action cannot be undone.
dive_query
ChatGPTExecute 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.
edit_dive_content
ChatGPTEdit 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.
edit_flight_source
ChatGPTEdit a flight's source_code by applying one or more text replacements, then save as a new FlightVersion. Accepts id (flight UUID) and edits (an array of {old_string, new_string, replace_all?} objects). Reads the current source_code, 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 get_flight call is needed.
get_dive_guide
ChatGPTLoad 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.
get_flight
ChatGPTFetch a flight by UUID. Returns metadata plus a version snapshot (source code, requirements, config, secret names, token name). Omit version to get the current version; pass a 1-indexed version number to inspect history.
get_flight_guide
ChatGPTLoad instructions for authoring, scheduling, running, and troubleshooting MotherDuck flights. Call this tool first whenever the user asks about creating, updating, or operating a MotherDuck flight.
get_flight_logs
ChatGPTFetch the plain-text logs (stdout + stderr) of a flight run plus the matching Run record (status, exit_code, timing). Logs may be large; pass max_bytes to cap the response size — the response will be the tail when truncated.
get_short_lived_token
ChatGPTReturns a short-lived token and connection details for the MotherDuck database endpoint.
list_columns
ChatGPTList all columns of a table or view with their types, comments, and available context.
list_databases
ChatGPTList all databases in your MotherDuck account. Shows names, types, and available context counts. Optionally filter by keywords.
list_dives
ChatGPTList 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.
list_flight_runs
ChatGPTList executions of a flight, newest first. Each run has a sequential number, status (PENDING/RUNNING/SUCCEEDED/FAILED/CANCELLED), timing metadata, and the effective config it ran with (the flight version's config merged with any per-run overrides).
list_flight_versions
ChatGPTList the immutable versions of a flight, newest first. Each update to source_code / requirements_txt / config / access_token_name / flight_secret_names produces a new version.
list_flights
ChatGPTList MotherDuck flights you own. Returns metadata for each flight including schedule and current version. Optionally filter by keywords matching the flight name.
list_shares
ChatGPTList 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.
list_tables
ChatGPTList all tables and views in a MotherDuck database with comments and available context. Optionally filter by keywords.
log_dive_viewer_event
ChatGPTLog 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.
mint_dive_state_reference
ChatGPTMint a server-stored reference for a useDiveState bag and return its id. Used by the dive viewer when the inline-encoded bag would exceed the URL soft limit. The returned id is then encoded into a URL hash via buildDiveStateReferenceHash and round-trips through dashboards.get on dive open.
query
ChatGPTExecute 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.
query_rw
ChatGPTExecute 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.
read_dive
ChatGPTRead 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.
run_flight
ChatGPTTrigger an on-demand execution of a flight using its current version. Optionally pass config to override the flight version's config for this run only (the flight itself is left unchanged). Returns a Run record; poll list_flight_runs to track progress and use get_flight_logs to read output.
save_dive
ChatGPTSave 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.
search_catalog
ChatGPTSearch 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.
share_dive_data
ChatGPTShare 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.
update_dive
ChatGPTUpdate 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.
update_flight
ChatGPTUpdate a flight. Any subset of name, source_code, requirements_txt, schedule_cron, config, access_token_name, or flight_secret_names may be provided. Updates to source_code/requirements_txt/config/flight_secret_names/access_token_name create a new FlightVersion; name and schedule_cron are metadata-only. Pass schedule_cron as "" (empty string) to remove the schedule; omit it to leave it unchanged.
view_dive
ChatGPTOpen 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.
ask_docs_question
Claudedelete_dive
Claudeget_dive_guide
Claudelist_columns
Claudelist_databases
Claudelist_dives
Claudelist_shares
Claudelist_tables
Claudequery
Claudequery_rw
Clauderead_dive
Claudesave_dive
Claudesearch_catalog
Claudeshare_dive_data
Claudeupdate_dive
Claude