---
title: "DuckDB / MotherDuck Local MCP: review, setup & limitations · Undominated.ai"
canonical: https://undominated.ai/mcp-servers/motherduck/
description: "Runs analytical SQL against a chosen DuckDB file or MotherDuck connection from a local MCP process."
---

# DuckDB / MotherDuck Local MCP: review, setup & limitations · Undominated.ai

> Runs analytical SQL against a chosen DuckDB file or MotherDuck connection from a local MCP process.

[← Explore all mcp servers](/mcp-servers/)

LOCAL ANALYTICS / MotherDuck

# DuckDB / MotherDuck Local MCP

Runs analytical SQL against a chosen DuckDB file or MotherDuck connection from a local MCP process.

 See setup guidance ↓Original source ↗

SOURCE REVIEW

 Reviewed 2026-09-21
 Evidence 5 linked sources
 Publisher MotherDuck
 Licence MIT ↗
 Revision 275d2e7d2ba4
 Read what was—and wasn’t—checked ↓

“Supports connecting to local DuckDB files, in-memory databases, S3-hosted databases, and MotherDuck.”

 MotherDuck · upstream description ↗ Our analysis follows below.

01 / THE REASONING

## Why this made the selection.

 - Documents file, in-memory and MotherDuck modes separately, including their different write behavior.
- The local-file mode can use temporary connections to avoid holding the database file lock.

### A good fit for

 - Exploring a local DuckDB dataset without enabling ordinary database writes.

### Weigh up before choosing

 - Read-only mode is not a filesystem sandbox and does not block every sensitive DuckDB operation.
- In-memory databases require write mode; MotherDuck read-only access needs a read-scaling token.

02 / THE REVIEW RECORD

## What we actually inspected.

Source review has boundaries. A clear record is more useful than a “safe” badge.

### Material inspected

 - README.md (installation, capability and permission sections)
- pyproject.toml
- src/mcp_server_motherduck/server.py
- src/mcp_server_motherduck/__init__.py
- LICENSE

### Our findings

 - The CLI converts --read-write into the read_only argument and rejects read-only in-memory startup.
- The CLI’s http transport is Streamable HTTP; old stream/sse aliases are converted to HTTP.

### Not established by this review

 - Server startup, authentication and tool execution were not tested.

The review applies to the material and revision named here. A newer upstream release can change its behavior.

03 / PUT IT TO WORK

## Connect a server deliberately.

Upstream setup instructions ↗
 - Use the documented uvx client configuration with an absolute path to an existing DuckDB file.
- For MotherDuck, choose the appropriate token type and configure its connection separately; review the production-hardening guidance.

### Before you start

 - uv/Python and a DuckDB file, or a MotherDuck account with an appropriate token.

### Compatibility

An MCP client supporting stdio, Streamable HTTP. · uv/Python and a DuckDB file, or a MotherDuck account with an appropriate token.

### Implementation

Python

### Transports

stdio · Streamable HTTP

### Local analytics / Configured credentials or local access

 - Reads local or remote database data; --read-write enables database mutations.
- DuckDB queries can interact with local files and external data sources.

### Cost model

Local compute or MotherDuck query/storage usage determines cost.

04 / FOLLOW THE EVIDENCE

## The source trail.

Our notes are separate from the original resource. Check upstream before adopting a new version.

 - Official documentation ↗ Checked 2026-09-21 https://github.com/motherduckdb/mcp-server-motherduck/blob/275d2e7d2ba4f5b48ce8ad3f01a9aeea8bd08616/README.md Supports: summary, whySelected, bestFor, limitations, install, access, compatibility, transports
- Applicable source licence ↗ Checked 2026-09-21 https://github.com/motherduckdb/mcp-server-motherduck/blob/275d2e7d2ba4f5b48ce8ad3f01a9aeea8bd08616/LICENSE Supports: license
- Implementation: pyproject.toml ↗ Checked 2026-09-21 https://github.com/motherduckdb/mcp-server-motherduck/blob/275d2e7d2ba4f5b48ce8ad3f01a9aeea8bd08616/pyproject.toml Supports: language, review
- Implementation: src/mcp_server_motherduck/server.py ↗ Checked 2026-09-21 https://github.com/motherduckdb/mcp-server-motherduck/blob/275d2e7d2ba4f5b48ce8ad3f01a9aeea8bd08616/src/mcp_server_motherduck/server.py Supports: language, review
- Implementation: src/mcp_server_motherduck/__init__.py ↗ Checked 2026-09-21 https://github.com/motherduckdb/mcp-server-motherduck/blob/275d2e7d2ba4f5b48ce8ad3f01a9aeea8bd08616/src/mcp_server_motherduck/__init__.py Supports: language, review

KEEP COMPARING

## Other approaches to consider.

Related by category or shared topics. These are alternatives to inspect, not a measured quality order.

 [### AWS IaC MCP Server ↗ Validates CloudFormation templates, retrieves CDK/CloudFormation guidance and investigates failed deployments.](/mcp-servers/aws-iac/)[### Chroma MCP ↗ Lets an assistant create and query Chroma collections through local, HTTP or Chroma Cloud database connections.](/mcp-servers/chroma/)[### ClickHouse MCP Server ↗ Queries ClickHouse and inspects table metadata, with read-only SQL by default and separate authentication for network transports.](/mcp-servers/clickhouse/)

 [AI Tools ↗](/tools/)[Skills ↗](/skills/)[Agents ↗](/agents/)[MCP Servers ↗](/mcp-servers/)
