mcp-win-stdio-db 0.3.2__tar.gz → 0.3.4__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: mcp-win-stdio-db
3
- Version: 0.3.2
3
+ Version: 0.3.4
4
4
  Summary: Unified Database Model Context Protocol (MCP) server for PostgreSQL & MySQL: 20 tools for multi-server querying, DBA operations (create, drop, clone, dump, terminate), and cross-schema auto-resolution.
5
5
  Author: Mohan Kumar Indala
6
6
  License-Expression: MIT
@@ -18,7 +18,7 @@ Classifier: Programming Language :: Python :: 3.13
18
18
  Classifier: Programming Language :: Python :: 3.14
19
19
  Classifier: Topic :: Database
20
20
  Requires-Python: >=3.10
21
- Requires-Dist: mcp-win-stdio>=0.3.2
21
+ Requires-Dist: mcp-win-stdio>=0.3.4
22
22
  Requires-Dist: mcp>=1.2.0
23
23
  Requires-Dist: psycopg2-binary>=2.9.0
24
24
  Requires-Dist: pymysql>=1.1.0
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "mcp-win-stdio-db"
7
- version = "0.3.2"
7
+ version = "0.3.4"
8
8
  description = "Unified Database Model Context Protocol (MCP) server for PostgreSQL & MySQL: 20 tools for multi-server querying, DBA operations (create, drop, clone, dump, terminate), and cross-schema auto-resolution."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -29,7 +29,7 @@ classifiers = [
29
29
  ]
30
30
 
31
31
  dependencies = [
32
- "mcp-win-stdio>=0.3.2",
32
+ "mcp-win-stdio>=0.3.4",
33
33
  "mcp>=1.2.0",
34
34
  "psycopg2-binary>=2.9.0",
35
35
  "pymysql>=1.1.0",
@@ -2,4 +2,4 @@
2
2
  Unified Database MCP Server for mcp-win-stdio (PostgreSQL & MySQL).
3
3
  """
4
4
 
5
- __version__ = "0.3.2"
5
+ __version__ = "0.3.4"
@@ -83,13 +83,13 @@ def _is_db_url(url: Any) -> bool:
83
83
 
84
84
  def _fetch_all(cur: Any) -> List[Any]:
85
85
  """Safely fetch all rows from cursor as a list of dictionaries/records."""
86
- rows = _fetch_all(cur)
86
+ rows = cur.fetchall()
87
87
  return list(rows) if rows else []
88
88
 
89
89
 
90
90
  def _fetch_one(cur: Any) -> Dict[str, Any]:
91
91
  """Safely fetch single row from cursor as a dictionary."""
92
- row = _fetch_one(cur)
92
+ row = cur.fetchone()
93
93
  return dict(row) if row else {}
94
94
 
95
95
 
@@ -229,10 +229,12 @@ def _init_config() -> None:
229
229
  _ACTIVE_CONNECTION = matched
230
230
  elif _RAW_CONFIG:
231
231
  _ACTIVE_CONNECTION = next(iter(_RAW_CONFIG.keys()))
232
+ _save_active_connection(_ACTIVE_CONNECTION)
232
233
  else:
233
234
  _ACTIVE_CONNECTION = None
234
235
  elif _RAW_CONFIG:
235
236
  _ACTIVE_CONNECTION = next(iter(_RAW_CONFIG.keys()))
237
+ _save_active_connection(_ACTIVE_CONNECTION)
236
238
 
237
239
  # Pre-register all raw configs in connection registry
238
240
  for k, v in list(_RAW_CONFIG.items()):