Motherduck MCP Server
DuckDB analytical SQL engine for local files, S3, and MotherDuck environments.
Data last scanned today · Reviewed today
Overview
This server bridges AI assistants with DuckDB's analytical engine, enabling SQL-based data manipulation and exploration. It supports a variety of environments including local files, in-memory databases, and S3-hosted datasets, alongside direct integration with MotherDuck. Users can browse database catalogs and execute both read and write queries. The architecture allows for dynamic switching between different database connections during runtime, supporting complex data engineering workflows directly within an IDE or AI-driven development environment.
Our verdict
With a security score of 45/100, this server carries a high risk level. Key concerns include that it is a community-maintained project rather than an official vendor release, and critical aspects such as the authentication method and read-only implementation have not yet undergone an editorial review. It is best suited for local development or sandbox environments where data sensitivity is low and manual oversight of connection configurations is possible.
- Supports in-memory, local file, and S3-hosted database connections
- Zero direct dependencies reduces the supply-chain surface area
- Active repository with 519 stars and 18 contributors
- Explicit support for a configurable read-only default mode
- Not maintained by the official MotherDuck vendor
- Authentication methods have not undergone security review
- Lacks external editorial oversight or verification
Tools
| Tool | Description | Risk |
|---|---|---|
| execute_query | Execute SQL query (DuckDB dialect) | medium |
| list_databases | List all databases (useful for MotherDuck or multiple attached DBs) | low |
| list_tables | List tables and views | low |
| list_columns | List columns of a table/view | low |
| switch_database_connection | Switch to different database | medium |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| ChatGPT | ||||
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf |
Frequently asked questions
›What are the system requirements for running this server?
You must have `uv` installed on your system to run the server, which can be done via `pip install uv` or `brew install uv`.
›Is the server read-only by default?
Yes, the server runs in read-only mode by default for security. You must explicitly add the `--read-write` command-line argument to enable write operations.
›How do I connect to a MotherDuck database?
Set the `--db-path` argument to `md:` and provide your authentication credentials via the `motherduck_token` environment variable.
›What is required to use MotherDuck in read-only mode?
MotherDuck connections in read-only mode require a read-scaling token. Standard authentication tokens require the `--read-write` flag.
›Can I connect to remote databases hosted on S3?
Yes, you can connect to remote DuckDB files on S3 using an `s3://` path. You should consult the Environment Variables section of the documentation for details on S3 authentication.
›How does this local MCP server differ from the remote version?
The local MCP server is self-hosted, allows you to query across local and remote databases, and supports ingesting data from or exporting data to your local filesystem.
Alternatives
Changelog
Badge
Maintain this server? Add the live badge to your README.