# lzwcai-mcp-agile-db-third

AgileDB 数据源管理 MCP Server，基于 `API_DOCUMENTATION.md` 将后端数据源/连接/DDL/DML/API 接口封装为 34 个 MCP 工具。

## 功能概述

本服务将后端 `datasource` 模块的 API 接口代理为标准 MCP 工具，分为两大类：

### 1. 数据源配置管理

- `list_datasource_configs`：查询数据源配置列表
- `get_datasource_config`：获取数据源配置详情
- `batch_create_datasource_configs`：批量创建数据源配置
- `replace_datasource_configs`：全量替换数据源配置
- `batch_update_datasource_configs`：批量修改数据源配置
- `delete_datasource_configs`：批量删除数据源配置
- `test_connection_config`：测试数据库连接
- `change_datasource_status`：修改数据源状态
- `export_datasource_configs`：导出数据源配置为 Excel

### 2. 数据库连接实例管理

- `list_connections` / `get_connection` / `create_connection` / `update_connection` / `delete_connection`：连接实例 CRUD
- `test_connection` / `change_connection_status`：连接测试与状态切换
- `realtime_structure` / `realtime_databases` / `realtime_tables`：实时查询库表结构
- `create_builtin_postgresql` / `update_builtin_database`：内置 PostgreSQL 连接管理
- `execute_sql`：执行原生 SQL
- `create_database` / `create_table` / `create_database_table` / `alter_database` / `alter_table`：DDL 操作
- `generate_table`：AI 生成表结构
- `import_document_preview` / `import_document_confirm`：Excel/CSV 文档导入
- `builtin_table_data` / `builtin_table_insert` / `builtin_table_update` / `builtin_table_delete`：表数据 CRUD

## 环境配置

| 环境变量 | 说明 | 默认值 |
|----------|------|--------|
| `backendBaseUrl` | 后端 API 基础地址 | `http://lzwcai-demp-corp-manager:8086` |
| `datasourceApiKey` | 默认 `X-Datasource-API-Key`，可选 | 空 |
| `LOG_LEVEL` | 日志级别 | `INFO` |

## 安装与运行

使用 uv：

```bash
uv sync
uv run python -m lzwcai_mcp_agile_db_third.main
```

或使用 pip：

```bash
python -m venv .venv
.venv\Scripts\python -m pip install mcp httpx
.venv\Scripts\python -m lzwcai_mcp_agile_db_third.main
```

安装为命令后：

```bash
lzwcai-mcp-agile-db-third
```

## 使用 mcp CLI

```bash
mcp dev lzwcai_mcp_agile_db_third/main.py
```

## 注意事项

- 所有写操作（创建/修改/删除）会先落到 `prod` 环境；带 `target` 参数的工具可切换为 `test`
- `import_document_preview` 通过本地文件路径上传 Excel/CSV
- 执行删除类工具前，调用方应遵循安全确认原则，向用户展示影响范围并二次确认
- 日志文件中会对 `password`、`apiKey`、`token`、`secret` 等敏感字段进行脱敏
