# lzwcai-mcp-agile-db

数据库管理平台 MCP Server，提供 33 个工具用于数据库管理、表操作、数据 CRUD、API 密钥管理、技能与工具管理等。

## 环境变量

| 变量名 | 必填 | 说明 |
|--------|------|------|
| `AGILE_DB_API_KEY` | 是 | 数据库管理平台的 API 密钥 |
| `AGILE_DB_BASE_URL` | 否 | 数据库管理平台后端地址（默认 `http://localhost:8080`） |

## 安装

```bash
pip install -e .
```

## 运行

```bash
# 设置环境变量
export AGILE_DB_API_KEY="your-api-key"
export AGILE_DB_BASE_URL="http://localhost:8080"  # 可选

# 运行 MCP Server
lzwcai-mcp-agile-db
```

## 工具列表

### 数据源管理
- `list_datasources` - 获取数据源列表
- `get_datasource_detail` - 获取数据源详情
- `create_datasource` - 创建数据源
- `update_datasource` - 更新数据源
- `toggle_datasource_status` - 启用/停用数据源
- `delete_datasource` - 删除数据源

### 数据库与表管理
- `list_databases` - 获取数据库列表
- `list_tables` - 获取表列表
- `get_table_detail` - 获取表详情
- `create_table` - 创建表
- `alter_table` - 修改表结构
- `generate_table_by_description` - 通过自然语言生成表结构

### 表数据 CRUD
- `query_table_data` - 查询表数据
- `insert_table_row` - 插入行数据
- `update_table_row` - 更新行数据
- `delete_table_rows` - 删除行数据
- `export_table_excel` - 导出 Excel

### API 密钥管理
- `list_api_keys` - 获取密钥列表
- `create_api_key` - 创建密钥
- `toggle_api_key_status` - 启用/禁用密钥
- `delete_api_key` - 删除密钥
- `get_api_key_permissions` - 查看密钥权限
- `grant_api_key_permissions` - 授予权限

### 技能与工具管理
- `get_skill_by_datasource` - 获取技能信息
- `get_skill_tools` - 获取技能工具列表
- `create_skill` - 创建技能
- `create_sql_tool` - 创建 SQL 工具
- `delete_skill_tool` - 删除技能工具
- `update_skill_config` - 更新技能配置

### 数据导入
- `preview_import_data` - 预览导入数据
- `confirm_import_data` - 确认导入数据

### 表订阅与 SQL 执行
- `toggle_table_subscription` - 切换表订阅
- `execute_sql` - 执行 SQL 查询

## 架构

- `tools/_base.py` - 工具注册装饰器和基类
- `tools/*.py` - 工具实现文件
- `utils/api_client.py` - 统一 HTTP 客户端
- `utils/env_config.py` - 环境变量配置
- `utils/logger_config.py` - 日志配置
- `server.py` - MCP Server 注册和启动逻辑
