mcp-server-motherduck 0.6.1__py3-none-any.whl → 0.6.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mcp-server-motherduck might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  from typing import Any
2
2
 
3
- SERVER_VERSION = "0.6.1"
3
+ SERVER_VERSION = "0.6.3"
4
4
 
5
5
  SERVER_LOCALHOST = "127.0.0.1"
6
6
 
@@ -53,13 +53,10 @@ class DatabaseClient:
53
53
  logger.error(f"❌ Read-only check failed: {e}")
54
54
  raise
55
55
 
56
- if self._read_only:
57
- raise ValueError(
58
- "Read-only mode is only supported for local DuckDB databases. See `saas_mode` for similar functionality with MotherDuck."
59
- )
60
56
  conn = duckdb.connect(
61
57
  self.db_path,
62
58
  config={"custom_user_agent": f"mcp-server-motherduck/{SERVER_VERSION}"},
59
+ read_only=self._read_only,
63
60
  )
64
61
 
65
62
  logger.info(f"✅ Successfully connected to {self.db_type} database")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-server-motherduck
3
- Version: 0.6.1
3
+ Version: 0.6.3
4
4
  Summary: A MCP server for MotherDuck and local DuckDB
5
5
  Author-email: tdoehmen <till@motherduck.com>
6
6
  License-File: LICENSE
@@ -9,6 +9,7 @@ Requires-Dist: anyio>=4.8.0
9
9
  Requires-Dist: click>=8.1.8
10
10
  Requires-Dist: duckdb==1.3.1
11
11
  Requires-Dist: mcp>=1.9.4
12
+ Requires-Dist: pytz>=2025.2
12
13
  Requires-Dist: starlette>=0.46.1
13
14
  Requires-Dist: tabulate>=0.9.0
14
15
  Requires-Dist: uvicorn>=0.34.0
@@ -54,16 +55,16 @@ All interactions with both DuckDB and MotherDuck are done through writing SQL qu
54
55
 
55
56
  The MCP server supports the following parameters:
56
57
 
57
- | Parameter | Type | Default | Description |
58
- |-----------|------|---------|-------------|
59
- | `--transport` | Choice | `stdio` | Transport type. Options: `stdio`, `sse`, `stream` |
60
- | `--port` | Integer | `8000` | Port to listen on for sse and stream transport mode |
61
- | `--db-path` | String | `md:` | Path to local DuckDB database file or MotherDuck database |
62
- | `--motherduck-token` | String | `None` | Access token to use for MotherDuck database connections (uses `motherduck_token` env var by default) |
63
- | `--read-only` | Flag | `False` | Flag for connecting to DuckDB in read-only mode. Only supported for local DuckDB databases. Uses short-lived connections for concurrent access |
64
- | `--home-dir` | String | `None` | Home directory for DuckDB (uses `HOME` env var by default) |
65
- | `--saas-mode` | Flag | `False` | Flag for connecting to MotherDuck in SaaS mode |
66
- | `--json-response` | Flag | `False` | Enable JSON responses for HTTP stream. Only supported for `stream` transport |
58
+ | Parameter | Type | Default | Description |
59
+ |-----------|------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
60
+ | `--transport` | Choice | `stdio` | Transport type. Options: `stdio`, `sse`, `stream` |
61
+ | `--port` | Integer | `8000` | Port to listen on for sse and stream transport mode |
62
+ | `--db-path` | String | `md:` | Path to local DuckDB database file or MotherDuck database |
63
+ | `--motherduck-token` | String | `None` | Access token to use for MotherDuck database connections (uses `motherduck_token` env var by default) |
64
+ | `--read-only` | Flag | `False` | Flag for connecting to DuckDB or MotherDuck in read-only mode. For DuckDB it uses short-lived connections to enable concurrent access |
65
+ | `--home-dir` | String | `None` | Home directory for DuckDB (uses `HOME` env var by default) |
66
+ | `--saas-mode` | Flag | `False` | Flag for connecting to MotherDuck in [SaaS mode](https://motherduck.com/docs/key-tasks/authenticating-and-connecting-to-motherduck/authenticating-to-motherduck/#authentication-using-saas-mode). (disables filesystem and write permissions for local DuckDB) |
67
+ | `--json-response` | Flag | `False` | Enable JSON responses for HTTP stream. Only supported for `stream` transport |
67
68
 
68
69
  ### Quick Usage Examples
69
70
 
@@ -221,7 +222,6 @@ Optionally, you can add it to a file called `.vscode/mcp.json` in your workspace
221
222
  **Important Notes**:
222
223
 
223
224
  - Replace `YOUR_MOTHERDUCK_TOKEN_HERE` with your actual MotherDuck token
224
- - The `HOME` environment variable is required for DuckDB to function properly.
225
225
 
226
226
  ## Securing your MCP Server when querying MotherDuck
227
227
 
@@ -0,0 +1,10 @@
1
+ mcp_server_motherduck/__init__.py,sha256=vogjO-bwHYZFut85eeiVmRepamcWHk8bImri_kBKZMU,6026
2
+ mcp_server_motherduck/configs.py,sha256=JP8izAKamXdeU6Rk0N5XjPXvN71WG3K0WdYD9_ChN-M,771
3
+ mcp_server_motherduck/database.py,sha256=3qkeBIpf08WV6pz9rf52b_MipzaHALurFugMx-XARI8,4513
4
+ mcp_server_motherduck/prompt.py,sha256=P7BrmhVXwDkPeSHQ3f25WMP6lpBpN2BxDzYPOQ3fxX8,56699
5
+ mcp_server_motherduck/server.py,sha256=U1LM2oQ36gO_pAZuez9HV_u8YDWdER8tQIdDbiXfzx0,5232
6
+ mcp_server_motherduck-0.6.3.dist-info/METADATA,sha256=jh9FiBLMG2fQ7GcS9vg8aBTn-4WShnVHXcd1yTFpWmw,15606
7
+ mcp_server_motherduck-0.6.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
8
+ mcp_server_motherduck-0.6.3.dist-info/entry_points.txt,sha256=dRTgcvWJn40bz0PVuKPylK6w92cFN32lwunZOgo5j4s,69
9
+ mcp_server_motherduck-0.6.3.dist-info/licenses/LICENSE,sha256=Tj68w9jCiceFKTvZ3jET-008NjhozcQMXpm-fyL9WUI,1067
10
+ mcp_server_motherduck-0.6.3.dist-info/RECORD,,
@@ -1,10 +0,0 @@
1
- mcp_server_motherduck/__init__.py,sha256=vogjO-bwHYZFut85eeiVmRepamcWHk8bImri_kBKZMU,6026
2
- mcp_server_motherduck/configs.py,sha256=751VWhE8qm71zb10gPEMYmuN5C2HCH_MKaOAR6y4x3g,771
3
- mcp_server_motherduck/database.py,sha256=yx07lz_vpCzuYflkQ1FXJMA9gRjDkgg0hFbdmZx2s_s,4684
4
- mcp_server_motherduck/prompt.py,sha256=P7BrmhVXwDkPeSHQ3f25WMP6lpBpN2BxDzYPOQ3fxX8,56699
5
- mcp_server_motherduck/server.py,sha256=U1LM2oQ36gO_pAZuez9HV_u8YDWdER8tQIdDbiXfzx0,5232
6
- mcp_server_motherduck-0.6.1.dist-info/METADATA,sha256=fljNXrkiegDXZKW1H7OK9rnIzwQ3h1jRS4vjim-O8ZI,13718
7
- mcp_server_motherduck-0.6.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
8
- mcp_server_motherduck-0.6.1.dist-info/entry_points.txt,sha256=dRTgcvWJn40bz0PVuKPylK6w92cFN32lwunZOgo5j4s,69
9
- mcp_server_motherduck-0.6.1.dist-info/licenses/LICENSE,sha256=Tj68w9jCiceFKTvZ3jET-008NjhozcQMXpm-fyL9WUI,1067
10
- mcp_server_motherduck-0.6.1.dist-info/RECORD,,