# Reported issues for mcp-server-motherduck

Pod holds 17 of 17 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [mcp-server-motherduck](/mcp/mcp-server-motherduck).

## Most discussed

### When connecting to S3, it is not allowed to set an endpoint.

Hi, I'm using MCP to connect to data stored in COS (Cloud Object Storage) on IBM Cloud (is a S3 too). I can't change the endpoint through the direct MCP connection to the database.

https://github.com/motherduckdb/mcp-server-motherduck/blob/20eb39934779edd6efb92561dbed2522e31087ba/src/mcp_server_motherduck/database.py?plain=1#L126-L130

It only works if I create a secret and ATTACH database.

```sql
CREATE SECRET (
                TYPE S3,
                KEY_ID '{creds.get("S3_ACCESS_KEY_ID_REA

[Read the thread](https://github.com/motherduckdb/mcp-server-motherduck/issues/70) · 2026-03-27 · closed · outside contributor · 4 comments

### Remotely connect to MCP

We have the duckdb-mcp-server running on an EC2 instance. We are able to start the server and its running and listening to requests 

```
$ uvx mcp-server-motherduck --db-path "/opt/faros-backups/Faros_Backup.db" --transport stream --port 8080
[motherduck] INFO - 🦆 MotherDuck MCP Server v0.7.2
[motherduck] INFO - Ready to execute SQL queries via DuckDB/MotherDuck
[motherduck] INFO - Starting MotherDuck MCP Server
[motherduck] INFO - Database client initialized in `duckdb` mode
[motherduck] INFO 

[Read the thread](https://github.com/motherduckdb/mcp-server-motherduck/issues/41) · 2025-10-31 · closed · outside contributor · 2 comments

### [0.7.1] Error executing query _duckdb._sqltypes.DuckDBPyType

Hello,

Since version 0.7.1, I encounter the following error when using mcp-server-motherduck with continue vscode extension.

```
<assistant>
duckdb_query({\"query\": \"SELECT 1\"})
<tool>
duckdb_query failed with the message: [{\"type\":\"text\",\"text\":\"Error executing tool query: ❌ Error executing query: can only concatenate str (not \\\"_duckdb._sqltypes.DuckDBPyType\\\") to str\"}]
Please try something else or request further instructions.
```

It worked well with the previous version. W

[Read the thread](https://github.com/motherduckdb/mcp-server-motherduck/issues/39) · 2025-10-13 · closed · external user · 3 comments

### Make read-only access the default

Given that many LLMs will readily drop tables, I think it'd be better to have read-only be the default mode when running this mcp server.  I suggest allowing write access only when run with the `--read-write` flag.

[Read the thread](https://github.com/motherduckdb/mcp-server-motherduck/issues/38) · 2025-09-15 · closed · external user · 2 comments

### Pandas 2.3.0 issues

FYI -- Pandas 2.3.0 is not currently building on certain platforms (i'm having issues on macos arm) which breaks the duckdb mcp server when used via the pypi package as pypi packages do not honor the lockfile like binaries do.

https://github.com/apache/arrow/issues/46718
https://github.com/pandas-dev/pandas/issues/61564

[Read the thread](https://github.com/motherduckdb/mcp-server-motherduck/issues/24) · 2025-06-05 · closed · external user · 3 comments

### Default output issue on Windows + VS Code

I am using Augment Code extension in VS Code and have added the in-mem duckdb mcp server.
Dummy prompt to reproduce: `use the query tool to select 42`

On Windows, the prompt invokes the tool but runs forever.
On WSL, the same prompt returns fine.

I tried different formats in Windows, and the tool works fine ! (e.g. duckbox or text)

Looking at the source code, the default markdown uses pandas so there might a compatibility issue but can't explain why it does work in WSL...

Augment Code recomm

[Read the thread](https://github.com/motherduckdb/mcp-server-motherduck/issues/19) · 2025-04-30 · closed · external user · 3 comments

### Connecting to multiple dbs dynamically

Wouldn't this be improved if we could specify a db to the LLM and it would create a connection dynamically rather than on startup?

I would imagine a resource that fetched available motherduck dbs (and maybe searched local filesystem for local dbs?) which the LLM could cross reference against the user request?

[Read the thread](https://github.com/motherduckdb/mcp-server-motherduck/issues/18) · 2025-04-24 · closed · external user · 5 comments

### Couldn't connect MCP with Claude

Tried setting up MCP with Claude providing access token and Home directory path as suggested in README, but it is not working. Any suggestions would be appreciated!

<img width="1487" alt="Image" src="https://github.com/user-attachments/assets/f7cc6268-d355-4076-9332-d882358a4a74" />

<img width="1170" alt="Image" src="https://github.com/user-attachments/assets/bc0cd4c8-f12a-4d22-b80d-b29848d4d3de" />

[Read the thread](https://github.com/motherduckdb/mcp-server-motherduck/issues/6) · 2025-03-10 · closed · external user · 8 comments

## Most recent

### MCP spec conformance: 7 requirement(s) violated (via @hasmcp/mcp-spec-test) — spec 2026-07-28

We ran the [@hasmcp/mcp-spec-test](https://github.com/hasmcp/mcp-spec-test) black-box MCP conformance suite against this server (`uvx mcp-server-motherduck --db-path :memory: --read-write --allow-switch-databases`). The server advertises support for two spec revisions: against the newer one (2026-07-28) it is not conformant — 7 of 36 applicable checks failed, all stemming from the new `server/discover` method rejecting the discover call with a JSON-RPC "Invalid request parameters" error, and a v

[Read the thread](https://github.com/motherduckdb/mcp-server-motherduck/issues/110) · 2026-08-24 · open · external user · 0 comments

### Feature: make list_columns distinguish missing objects from empty results

## Description

`list_columns` returns `success: true` and `objectType: "table"` when the
requested table does not exist. The empty-column behavior is covered by the
current upstream test, but the response gives clients no explicit not-found
signal and positively identifies the missing object as a table.

I found this while testing the local MotherDuck MCP with an internal agent
compatibility system at Bottomless. The reproduction below does not require a
model.

## Reproduction

Tested with:

-

[Read the thread](https://github.com/motherduckdb/mcp-server-motherduck/issues/104) · 2026-08-18 · closed · external user · 1 comment

### [Security] arbitrary local file read/write and SSRF

Hi. Is there a place I can share details about a potential security vulnerability please?

[Read the thread](https://github.com/motherduckdb/mcp-server-motherduck/issues/95) · 2026-06-05 · closed · external user · 1 comment

### Bump to use duckdb version 1.5.3

The latest version of duckdb is now 1.5.3 - would be great for this mcp to mirror that.

[Read the thread](https://github.com/motherduckdb/mcp-server-motherduck/issues/94) · 2026-06-04 · closed · external user · 1 comment

### save_dive MCP tool ignores configured token for dive ownership — always attributes to org owner

## Bug Report

### Summary
The `save_dive` MCP tool does not respect the token configured via `--token` when attributing dive ownership. Dives are always saved under the org owner account regardless of which token (including a valid read/write service account token) is passed to the MCP server.

### Steps to Reproduce
1. Configure the MCP server with a read/write service account token:
   ```json
   {
     "mcpServers": {
       "motherduck": {
         "command": "npx",
         "args": ["@moth

[Read the thread](https://github.com/motherduckdb/mcp-server-motherduck/issues/90) · 2026-05-09 · closed · external user · 1 comment

### Unable to set the azure_transport_option_type = 'curl'

We are trying to read from Azure abfss://
We are working on a corporate environment that insist going though the internet need our own certificate. 

Now we have two option: 
- get the certfificate to DuckDB
- use the option: SET GLOBAL azure_transport_option_type = 'curl'; this will change the transport and use the certificate set in the system but that are not picked by Duckdb.

No luck with the first option, after many try:
"SSL_CERT_FILE": "/path/to/cert/ca-certificates.crt",
"CURL_CA_BUNDLE

[Read the thread](https://github.com/motherduckdb/mcp-server-motherduck/issues/88) · 2026-05-04 · open · external user · 2 comments

### --init-sql only executes the first statement when a SQL file with multiple statements is provided

## Bug Description

When `--init-sql` is given a file path containing multiple SQL statements (e.g., a file that defines several `CREATE FUNCTION` macros), only the **first statement** is executed. All subsequent statements are silently ignored.

## Root Cause

In `database.py`, the init SQL is executed via:

```python
conn.execute(sql_content)
```

`duckdb.DuckDBPyConnection.execute()` processes only the first statement in a multi-statement string. The remaining statements are not executed and 

[Read the thread](https://github.com/motherduckdb/mcp-server-motherduck/issues/79) · 2026-04-09 · closed · external user · 1 comment

### Support ducklake

Because of this check: https://github.com/motherduckdb/mcp-server-motherduck/blob/main/src/mcp_server_motherduck/database.py#L105-L108

ducklake databases are not supported

[Read the thread](https://github.com/motherduckdb/mcp-server-motherduck/issues/27) · 2025-06-25 · closed · external user · 1 comment

### read-only mode for remote motherduck

Hi, is there a way to use read-only more for motherduck as opposed to local duckdb? I see I can provide a specific "read scaling" access token instead of the standard read-write token but this seems to require a business plan on motherduck. Is there a more cost effective way to enable read-only?

[Read the thread](https://github.com/motherduckdb/mcp-server-motherduck/issues/25) · 2025-06-14 · closed · external user · 1 comment

The remaining reports are on [the project's issue tracker](https://github.com/motherduckdb/mcp-server-motherduck/issues).
