Gestor de bases de datos
Explora y edita PostgreSQL y MySQL del VPS desde el panel o por MCP, por túnel privado, con guardas y auditoría.
- Categoría: Servidores e infraestructura
- Estado: Disponible
- Requisitos: Un VPS activo con PostgreSQL o MySQL/MariaDB instalado; Ser miembro de la empresa con acceso a ese VPS
- Herramientas MCP (Solo leen):
listar_motores_db_vps,probar_conexion_db_vps,listar_bases_db_vps,listar_tablas_db_vps,describir_tabla_db_vps,leer_filas_db_vps,contar_filas_db_vps,consultar_sql_db_vps,explicar_sql_db_vps,historial_operaciones_db_vps - Herramientas MCP (Escriben o modifican):
guardar_credencial_db_vps,insertar_fila_db_vps - Herramientas MCP (Destructivas):
actualizar_fila_db_vps,borrar_fila_db_vps,ejecutar_ddl_db_vps
¿Qué permite hacer?
El gestor de bases de datos es la ventana de ArduMaker a los motores PostgreSQL y MySQL que corren dentro del VPS. Funciona igual desde el panel, desde la consola interactiva y por MCP: una sola implementación por motor.
- Ver motores, bases (tamaño y codificación), tablas y vistas con cantidad estimada de filas.
- Describir una tabla: columnas con tipo normalizado, nulos, clave primaria, claves foráneas e índices.
- Leer filas con filtros y orden sin escribir SQL, con paginado por clave.
- Insertar, editar o borrar una fila por su clave primaria completa.
- Consola SQL de solo lectura y
EXPLAIN. - Ejecutar DDL (
CREATE,ALTER,DROP,TRUNCATE) con confirmación por nombre cuando destruye datos. - Exportar tablas a CSV o Excel e importar CSV o Excel (hasta 32 MB) en dos pasos.
- Ver el historial de operaciones destructivas: quién, cuándo, qué sentencia y desde dónde.
¿Cuándo conviene usarlo?
- Revisar datos de producción sin abrir el motor a internet ni instalar un cliente.
- Darle a un agente de IA acceso controlado a la base, con escrituras fila por fila y auditoría.
- Cargar una planilla en una tabla revisando antes cómo va a entrar.
¿Cómo funciona en ArduMaker?
El backend llega al motor por un túnel SSH privado hacia el VPS, con una clave efímera que solo permite reenviar al puerto del motor. El puerto de la base no se publica para esto: PostgreSQL y MySQL siguen escuchando solo dentro del VPS.
- Permisos: la empresa, el alcance MCP del agente sobre ese VPS y las listas de miembros permitidos o excluidos del VPS.
- Túnel y conexión: se abre o reusa el túnel y se valida con
SELECT 1. - Credencial: la guardada para ese motor (si el cliente cambió la clave a mano y la cargó) o la administrativa de la plataforma.
- Operación: el SQL lo arma la capa de cada motor con listas blancas; los valores viajan siempre como parámetros del driver, nunca pegados al texto.
- Auditoría: lo que escribe o destruye queda en el historial con su origen (interfaz o agente).
¿Qué cambia realmente?
Leer no cambia nada. Escribir filas, ejecutar DDL e importar cambian datos del cliente dentro del motor; crear tablas desde el formulario también, y se audita como escritura. En el VPS, el túnel usa un usuario propio con una clave restringida que no abre una shell.
| Operación | Regla |
|---|---|
| Consola SQL | Una sola sentencia, de lectura; hasta 1000 filas por página |
| Actualizar o borrar filas | Una fila por vez, por clave primaria completa; no hay actualización masiva |
| DDL destructivo | Responde 428 con confirmacion_esperada; se repite pasando ese nombre exacto |
| Importar | Paso 1 dry_run analiza sin tocar; paso 2 exige el nombre de la tabla como confirmación |
EXPLAIN ANALYZE | Ejecuta la consulta de verdad; solo PostgreSQL |
Diferencias entre motores
- En PostgreSQL una tabla puede llevar esquema (
esquema.tabla); en MySQL el esquema es la base. EXPLAINdevuelve el formato propio de cada motor; no son comparables.- La cantidad de filas de
listar_tablas_db_vpses la estimación del motor; el conteo exacto escontar_filas_db_vps, más caro en tablas grandes.
Esquema
- Panel o agente MCP: mismo servicio y mismos permisos
- Backend de ArduMaker: permisos, guardas y auditoría
- Túnel SSH privado: clave efímera, solo al puerto del motor
- Motor en el VPS: PostgreSQL
127.0.0.1:5432o MySQL127.0.0.1:3306
Resultado esperado
probar_conexion_db_vps confirma que el backend llega y entra al motor. A partir de ahí, listar_bases_db_vps, listar_tablas_db_vps y describir_tabla_db_vps muestran la estructura y leer_filas_db_vps los datos. Cada escritura devuelve la fila como quedó, con valores por defecto y autoincrementos resueltos.
Errores y resolución
| Error | Causa |
|---|---|
vps_apagado | El VPS no está active |
credenciales_invalidas | El motor rechaza el usuario o la contraseña (alguien la cambió a mano): cargarla con guardar_credencial_db_vps |
credenciales_requeridas | No hay credencial guardada ni una administrativa utilizable |
motor_no_responde | El túnel está abierto pero el motor no acepta la conexión o falla SELECT 1 |
tunel_no_disponible / clave_tunel_rechazada | No se pudo preparar el túnel; la clave se regenera y se reintenta una vez sola |
pool_agotado | Se alcanzó el tope de conexiones simultáneas para esa base |
consulta_fallida | El motor rechazó la operación (sintaxis, restricción, permisos); el mensaje llega saneado |
acceso_denegado | No es de la empresa, está excluido del VPS o el agente no tiene ese VPS en su alcance |
Relación con MCP
El gestor completo está disponible por MCP; referencia en /mcp/docs y /mcp/bases-de-datos. Todas las herramientas reciben engine (postgres o mysql) y, salvo las de motores, la base.
| Tipo | Herramientas |
|---|---|
| Lectura | listar_motores_db_vps, probar_conexion_db_vps, listar_bases_db_vps, listar_tablas_db_vps, describir_tabla_db_vps, leer_filas_db_vps, contar_filas_db_vps, consultar_sql_db_vps, explicar_sql_db_vps, historial_operaciones_db_vps |
| Modifican | insertar_fila_db_vps, guardar_credencial_db_vps |
| Destructivas | actualizar_fila_db_vps, borrar_fila_db_vps, ejecutar_ddl_db_vps |
consultar_sql_db_vpsrechaza escrituras a propósito y una segunda sentencia separada por;. Los valores van enparams.ejecutar_ddl_db_vpsdestructivo exige repetir conconfirmacionigual aconfirmacion_esperada; confirmar un nombre equivocado se rechaza.guardar_credencial_db_vpsguarda cifrada la contraseña del motor y ninguna herramienta la devuelve.- Exportar e importar archivos solo existen en el panel.