update structure

This commit is contained in:
Chen, Li
2026-10-09 11:03:26 +08:00
parent 354d4e3a8d
commit a359be1b2f
+32 -10
View File
@@ -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_USER` | `root` | 数据库用户 |
| `DB_PASSWORD` | 空 | 数据库密码 | | `DB_PASSWORD` | 空 | 数据库密码 |
| `DB_SCHEMA` | 空 | 默认数据库 Schema | | `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_ROWS` | `1000` | 单次查询最大返回行数 |
| `QUERY_MAX_BYTES` | `262144` | 单次响应最大字节数 | | `QUERY_MAX_BYTES` | `262144` | 单次响应最大字节数 |
| `QUERY_MAX_CELL_CHARS` | `4096` | 单个字段值最大字符数 | | `QUERY_MAX_CELL_CHARS` | `4096` | 单个字段值最大字符数 |
@@ -231,17 +237,33 @@ npx @modelcontextprotocol/inspector uv run mcp
```text ```text
src/mini_db_mcp/ src/mini_db_mcp/
|-- main.py # 命令行入口与传输方式选择 |-- __init__.py # 包版本信息
|-- server.py # MCP Server 注册与 CallTool 入口 |-- __main__.py # python -m mini_db_mcp 入口
|-- tools.py # 渐进式工具发现、校验与调用 |-- main.py # 命令行入口、日志与传输方式选择
|-- config.py # 环境变量配置 |-- config.py # 数据库、查询和服务配置
|-- db.py # 异步数据库访问 |-- db.py # 异步数据库访问、元数据读取和查询执行
`-- domain/ |-- security.py # SQL 解析、安全校验、写入策略和行数限制
|-- domain_catalog.py # 领域与子工具 Schema |-- prompts.py # MCP Prompt 定义与处理
|-- domain_handler.py # 处理器注册表 |-- server.py # MCP Server 组装与 stdio / HTTP 启动
`-- handler/ # 子工具具体实现 |-- 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 # 游标分页
``` ```
## 安全建议 ## 安全建议
- 使用权限最小化的专用数据库账号。 - 使用权限最小化的专用数据库账号。