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 # 游标分页 ``` + ## 安全建议 - 使用权限最小化的专用数据库账号。