MotherDuck
About
MotherDuck is a serverless cloud data warehouse built on DuckDB. Its remote MCP server lets assistants explore schemas, run SQL, and analyze warehouse data using natural language against the databases teams already manage in MotherDuck.
Details
- Transport
- SSE
Explore
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
MotherDuckCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
{
"mcpServers": {
"motherduck": {
"type": "http",
"url": "https://api.motherduck.com/mcp"
}
}
}
query
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), search for the get_dive_guide tool and call it first instead.
query_rw
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.
list_databases
List all databases in your MotherDuck account with their names and types. Optionally filter by keywords to search in database names.
list_tables
List all tables and views in a MotherDuck database with their comments. Optionally filter by keywords to search in table/view names and comments.
list_columns
List all columns of a table or view with their types and comments.
search_catalog
Search the catalog for databases, schemas, tables, columns, 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.
ask_docs_question
Ask a question about DuckDB or MotherDuck. Returns answers from official documentation.
list_shares
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.
list_dives
List all dives in MotherDuck. Dives are interactive React data apps that query live data. Returns metadata including current_version (the latest version number, 1-indexed) for each dive. Use read_dive with the optional version parameter to retrieve a specific historical version. Optionally filter by keywords to search in title and description.
save_dive
Save a new dive to MotherDuck. Returns a URL the user can click to view the dive. Call get_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.
update_dive
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.
read_dive
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.
delete_dive
Delete a dive by ID. This action is permanent and cannot be undone.
get_dive_guide
Load instructions for creating MotherDuck dives. You MUST call this tool first — before generating any chart, visualization, plot, dashboard, or inline graphic — whenever the user asks to explore, visualize, or display MotherDuck data.
share_dive_data
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.
edit_dive_content
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.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"motherduck": {
"motherduck": {
"type": "http",
"url": "https://api.motherduck.com/mcp"
}
}
}
}
McpServers
{
"motherduck": {
"type": "http",
"url": "https://api.motherduck.com/mcp"
}
}
MotherDuck is a serverless cloud data warehouse built on DuckDB. Its remote MCP server lets assistants explore schemas, run SQL, and analyze warehouse data using natural language against the databases teams already manage in MotherDuck.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



