From a359be1b2f037eb1f99fb63b56012d4a22838cce Mon Sep 17 00:00:00 2001
From: "Chen, Li"
Date: Mon, 28 Sep 2026 17:51:55 +0800
Subject: [PATCH] update structure
---
README.md | 42 ++++++++++++++++++++++++++++++++----------
1 file changed, 32 insertions(+), 10 deletions(-)
diff --git a/README.md b/README.md
index bcb2255..a540b9b 100644
--- a/README.md
+++ b/README.md
@@ -193,7 +193,7 @@ MCP 端点为 `http://127.0.0.1:8000/mcp`。
## 配置
-配置由 `.env` 加载,完整默认值见 [`.env.example`](.env.example)。
+配置从项目工作目录下的 `.env` 加载。下表列出 [config.py](src/mini_db_mcp/config.py) 中的代码默认值;[.env.example](.env.example) 包含全部受支持的配置项,但示例值(如数据库连接信息)可以与代码默认值不同。
| 配置项 | 默认值 | 说明 |
| --- | --- | --- |
@@ -202,6 +202,12 @@ MCP 端点为 `http://127.0.0.1:8000/mcp`。
| `DB_USER` | `root` | 数据库用户 |
| `DB_PASSWORD` | 空 | 数据库密码 |
| `DB_SCHEMA` | 空 | 默认数据库 Schema |
+| `DB_CONNECT_TIMEOUT` | `30` | 建立数据库连接的超时时间(秒) |
+| `DB_POOL_SIZE` | `5` | 数据库连接池常驻连接数 |
+| `DB_MAX_OVERFLOW` | `10` | 连接池允许超出的连接数 |
+| `DB_POOL_TIMEOUT` | `30` | 等待连接池可用连接的超时时间(秒) |
+| `DB_POOL_RECYCLE` | `1800` | 连接回收时间(秒) |
+| `DB_POOL_PRE_PING` | `true` | 从连接池取出连接前是否检查连接有效性 |
| `QUERY_MAX_ROWS` | `1000` | 单次查询最大返回行数 |
| `QUERY_MAX_BYTES` | `262144` | 单次响应最大字节数 |
| `QUERY_MAX_CELL_CHARS` | `4096` | 单个字段值最大字符数 |
@@ -231,17 +237,33 @@ npx @modelcontextprotocol/inspector uv run mcp
```text
src/mini_db_mcp/
-|-- main.py # 命令行入口与传输方式选择
-|-- server.py # MCP Server 注册与 CallTool 入口
-|-- tools.py # 渐进式工具发现、校验与调用
-|-- config.py # 环境变量配置
-|-- db.py # 异步数据库访问
-`-- domain/
- |-- domain_catalog.py # 领域与子工具 Schema
- |-- domain_handler.py # 处理器注册表
- `-- handler/ # 子工具具体实现
+|-- __init__.py # 包版本信息
+|-- __main__.py # python -m mini_db_mcp 入口
+|-- main.py # 命令行入口、日志与传输方式选择
+|-- config.py # 数据库、查询和服务配置
+|-- db.py # 异步数据库访问、元数据读取和查询执行
+|-- security.py # SQL 解析、安全校验、写入策略和行数限制
+|-- prompts.py # MCP Prompt 定义与处理
+|-- server.py # MCP Server 组装与 stdio / HTTP 启动
+|-- tools.py # 渐进式工具发现、参数校验、路由和结果封装
+|-- domain/
+| |-- domain_catalog.py # 领域和子工具的输入/输出 Schema
+| |-- domain_manifest.py # 将领域定义转换为 MCP 顶层工具
+| |-- domain_model.py # 领域、请求、错误模型及 JSON 序列化
+| |-- domain_handler.py # Handler 协议与领域处理器注册表
+| |-- domain_handler_factory.py # 创建 runtime、handler 并组装注册表
+| |-- runtime/
+| | |-- metadata_runtime.py # 元数据参数校验、store 调用和结果整理
+| | `-- query_runtime.py # SQL 校验、安全处理、store 调用和结果补充
+| `-- handler/
+| |-- metadata_handler.py # 元数据子工具到 runtime 的映射
+| `-- query_handler.py # execute_query 到 query runtime 的映射
+`-- utils/
+ |-- json_util.py # JSON 值转换与校验
+ `-- pagination_util.py # 游标分页
```
+
## 安全建议
- 使用权限最小化的专用数据库账号。