mcp-dbutils 0.6.0__py3-none-any.whl → 0.8.0__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.
- mcp_dbutils/base.py +11 -6
- {mcp_dbutils-0.6.0.dist-info → mcp_dbutils-0.8.0.dist-info}/METADATA +18 -2
- {mcp_dbutils-0.6.0.dist-info → mcp_dbutils-0.8.0.dist-info}/RECORD +6 -6
- {mcp_dbutils-0.6.0.dist-info → mcp_dbutils-0.8.0.dist-info}/WHEEL +0 -0
- {mcp_dbutils-0.6.0.dist-info → mcp_dbutils-0.8.0.dist-info}/entry_points.txt +0 -0
- {mcp_dbutils-0.6.0.dist-info → mcp_dbutils-0.8.0.dist-info}/licenses/LICENSE +0 -0
mcp_dbutils/base.py
CHANGED
@@ -204,8 +204,8 @@ class DatabaseServer:
|
|
204
204
|
async def handle_list_tools() -> list[types.Tool]:
|
205
205
|
return [
|
206
206
|
types.Tool(
|
207
|
-
name="query",
|
208
|
-
description="Execute read-only SQL query",
|
207
|
+
name="dbutils-run-query",
|
208
|
+
description="Execute read-only SQL query on database",
|
209
209
|
inputSchema={
|
210
210
|
"type": "object",
|
211
211
|
"properties": {
|
@@ -222,7 +222,7 @@ class DatabaseServer:
|
|
222
222
|
}
|
223
223
|
),
|
224
224
|
types.Tool(
|
225
|
-
name="
|
225
|
+
name="dbutils-list-tables",
|
226
226
|
description="List all available tables in the specified database",
|
227
227
|
inputSchema={
|
228
228
|
"type": "object",
|
@@ -244,9 +244,13 @@ class DatabaseServer:
|
|
244
244
|
|
245
245
|
database = arguments["database"]
|
246
246
|
|
247
|
-
if name == "
|
247
|
+
if name == "dbutils-list-tables":
|
248
248
|
async with self.get_handler(database) as handler:
|
249
249
|
tables = await handler.get_tables()
|
250
|
+
if not tables:
|
251
|
+
# 空表列表的情况也返回数据库类型
|
252
|
+
return [types.TextContent(type="text", text=f"[{handler.db_type}] No tables found")]
|
253
|
+
|
250
254
|
formatted_tables = "\n".join([
|
251
255
|
f"Table: {table.name}\n" +
|
252
256
|
f"URI: {table.uri}\n" +
|
@@ -254,8 +258,9 @@ class DatabaseServer:
|
|
254
258
|
"---"
|
255
259
|
for table in tables
|
256
260
|
])
|
257
|
-
|
258
|
-
|
261
|
+
# 添加数据库类型前缀
|
262
|
+
return [types.TextContent(type="text", text=f"[{handler.db_type}]\n{formatted_tables}")]
|
263
|
+
elif name == "dbutils-run-query":
|
259
264
|
sql = arguments.get("sql", "").strip()
|
260
265
|
if not sql:
|
261
266
|
raise ConfigurationError("SQL query cannot be empty")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: mcp-dbutils
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.8.0
|
4
4
|
Summary: MCP Database Utilities Service
|
5
5
|
Author: Dong Hao
|
6
6
|
License-Expression: MIT
|
@@ -39,6 +39,7 @@ MCP Database Utilities is a unified database access service that supports multip
|
|
39
39
|
- Support for multiple database configurations
|
40
40
|
- Secure read-only query execution
|
41
41
|
- Table structure and schema information retrieval
|
42
|
+
- Database tables listing via MCP tools
|
42
43
|
- Intelligent connection management and resource cleanup
|
43
44
|
- Debug mode support
|
44
45
|
|
@@ -292,9 +293,24 @@ except Exception as e:
|
|
292
293
|
### DatabaseServer
|
293
294
|
Core server class providing:
|
294
295
|
- Resource list retrieval
|
295
|
-
- Tool call handling
|
296
|
+
- Tool call handling (list_tables, query)
|
296
297
|
- Database handler management
|
297
298
|
|
299
|
+
### MCP Tools
|
300
|
+
|
301
|
+
#### list_tables
|
302
|
+
Lists all tables in the specified database.
|
303
|
+
- Parameters:
|
304
|
+
* database: Database configuration name
|
305
|
+
- Returns: Text content with a list of table names
|
306
|
+
|
307
|
+
#### query
|
308
|
+
Executes a SQL query on the specified database.
|
309
|
+
- Parameters:
|
310
|
+
* database: Database configuration name
|
311
|
+
* sql: SQL query to execute (SELECT only)
|
312
|
+
- Returns: Query results in a formatted text
|
313
|
+
|
298
314
|
### DatabaseHandler
|
299
315
|
Abstract base class defining interfaces:
|
300
316
|
- get_tables(): Get table resource list
|
@@ -1,5 +1,5 @@
|
|
1
1
|
mcp_dbutils/__init__.py,sha256=xcfE1spAaONAoxBYB1ZyDX8tw7nxV1PMqo_RwxLDp0A,1892
|
2
|
-
mcp_dbutils/base.py,sha256=
|
2
|
+
mcp_dbutils/base.py,sha256=a6wBdSGsbPQq7fKb_H-relSKbDZov-d75G_Q3S_aYP4,11284
|
3
3
|
mcp_dbutils/config.py,sha256=EwnPNuQVCBKd5WOXQfROyDTM-YpM_Odp0GhCPRg8YwE,1863
|
4
4
|
mcp_dbutils/log.py,sha256=fibVIwsb1HVU5zriGrDZTMEirKjgIuxuN_B_YTdAJ7I,996
|
5
5
|
mcp_dbutils/stats.py,sha256=2hiKi_M8V4xhVHlH5FS-Df5GuMEpuzif12C8ik06Khs,2538
|
@@ -11,8 +11,8 @@ mcp_dbutils/sqlite/__init__.py,sha256=QV4th2ywzUmCCa3GHCcBf8blJ_E8OYy0dJ2fSf1TfS
|
|
11
11
|
mcp_dbutils/sqlite/config.py,sha256=RTHT2Xx--g-osD73CpT8DrCk0VHpHfPil3D6YUzXD-g,4519
|
12
12
|
mcp_dbutils/sqlite/handler.py,sha256=bf_k93rCcJn09zc7tsqrlbiTGUg3FspimfWKxK_JQTs,4970
|
13
13
|
mcp_dbutils/sqlite/server.py,sha256=7Bbq9l7Ca_4dzkAbbdRcXxvHoO_NFLzZHwlhKB0HIJc,7724
|
14
|
-
mcp_dbutils-0.
|
15
|
-
mcp_dbutils-0.
|
16
|
-
mcp_dbutils-0.
|
17
|
-
mcp_dbutils-0.
|
18
|
-
mcp_dbutils-0.
|
14
|
+
mcp_dbutils-0.8.0.dist-info/METADATA,sha256=403i2poAoHqP0HCb_w0PL7Dj7e59aewKZaaS_KEiPYA,10840
|
15
|
+
mcp_dbutils-0.8.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
16
|
+
mcp_dbutils-0.8.0.dist-info/entry_points.txt,sha256=XTjt0QmYRgKOJQT6skR9bp1EMUfIrgpHeZJPZ3CJffs,49
|
17
|
+
mcp_dbutils-0.8.0.dist-info/licenses/LICENSE,sha256=1A_CwpWVlbjrKdVEYO77vYfnXlW7oxcilZ8FpA_BzCI,1065
|
18
|
+
mcp_dbutils-0.8.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|