Gerenciador de bancos de dados

Explore e edite PostgreSQL e MySQL do VPS pelo painel ou via MCP, por túnel privado, com proteções e auditoria.

  • Categoria: Servidores e infraestrutura
  • Estado: Disponível
  • Requisitos: Um VPS ativo com PostgreSQL ou MySQL/MariaDB instalado; Ser membro da empresa com acesso a esse VPS
  • Ferramentas MCP (Só leem): 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
  • Ferramentas MCP (Escrevem ou modificam): guardar_credencial_db_vps, insertar_fila_db_vps
  • Ferramentas MCP (Destrutivas): actualizar_fila_db_vps, borrar_fila_db_vps, ejecutar_ddl_db_vps

Markdown

O que permite fazer?

O gerenciador de bancos de dados é a janela da ArduMaker para os motores PostgreSQL e MySQL que rodam dentro do VPS. Funciona igual pelo painel, pelo console interativo e via MCP: uma única implementação por motor.

  • Ver motores, bancos (tamanho e codificação), tabelas e views com quantidade estimada de linhas.
  • Descrever uma tabela: colunas com tipo normalizado, nulos, chave primária, chaves estrangeiras e índices.
  • Ler linhas com filtros e ordem sem escrever SQL, com paginação por chave.
  • Inserir, editar ou apagar uma linha pela sua chave primária completa.
  • Console SQL somente leitura e EXPLAIN.
  • Executar DDL (CREATE, ALTER, DROP, TRUNCATE) com confirmação por nome quando destrói dados.
  • Exportar tabelas para CSV ou Excel e importar CSV ou Excel (até 32 MB) em dois passos.
  • Ver o histórico de operações destrutivas: quem, quando, qual instrução e de onde.

Quando convém usar?

  • Verificar dados de produção sem abrir o motor para a internet nem instalar um cliente.
  • Dar a um agente de IA acesso controlado ao banco, com escritas linha por linha e auditoria.
  • Carregar uma planilha em uma tabela verificando antes como vai entrar.

Como funciona na ArduMaker?

O backend chega ao motor por um túnel SSH privado até o VPS, com uma chave efêmera que só permite encaminhar para a porta do motor. A porta do banco não é publicada para isso: o PostgreSQL e o MySQL continuam escutando só dentro do VPS.

  1. Permissões: a empresa, o escopo MCP do agente sobre esse VPS e as listas de membros permitidos ou excluídos do VPS.
  2. Túnel e conexão: o túnel é aberto ou reutilizado e validado com SELECT 1.
  3. Credencial: a guardada para esse motor (se o cliente mudou a senha à mão e a cadastrou) ou a administrativa da plataforma.
  4. Operação: o SQL é montado pela camada de cada motor com listas brancas; os valores sempre viajam como parâmetros do driver, nunca colados no texto.
  5. Auditoria: o que escreve ou destrói fica no histórico com sua origem (interface ou agente).

O que muda realmente?

Ler não muda nada. Escrever linhas, executar DDL e importar mudam dados do cliente dentro do motor; criar tabelas pelo formulário também, e é auditado como escrita. No VPS, o túnel usa um usuário próprio com uma chave restrita que não abre um shell.

OperaçãoRegra
Console SQLUma única instrução de leitura; até 1000 linhas por página
Atualizar ou apagar linhasUma linha por vez, pela chave primária completa; não há atualização em massa
DDL destrutivoResponde 428 com confirmacion_esperada; repete-se passando esse nome exato
ImportarPasso 1 dry_run analisa sem tocar; passo 2 exige o nome da tabela como confirmação
EXPLAIN ANALYZEExecuta a consulta de verdade; só PostgreSQL

Diferenças entre motores

  • No PostgreSQL uma tabela pode ter esquema (esquema.tabela); no MySQL o esquema é o banco.
  • EXPLAIN devolve o formato próprio de cada motor; não são comparáveis.
  • A quantidade de linhas de listar_tablas_db_vps é a estimativa do motor; a contagem exata é contar_filas_db_vps, mais cara em tabelas grandes.

Esquema

  1. Painel ou agente MCP: mesmo serviço e mesmas permissões
  2. Backend da ArduMaker: permissões, guardas e auditoria
  3. Túnel SSH privado: chave efêmera, só para a porta do motor
  4. Motor no VPS: PostgreSQL 127.0.0.1:5432 ou MySQL 127.0.0.1:3306
Do painel ou do agente ao motor

Resultado esperado

probar_conexion_db_vps confirma que o backend chega e entra no motor. A partir daí, listar_bases_db_vps, listar_tablas_db_vps e describir_tabla_db_vps mostram a estrutura e leer_filas_db_vps os dados. Cada escrita devolve a linha como ficou, com valores padrão e autoincrementos resolvidos.

Erros e resolução

ErroCausa
vps_apagadoO VPS não está active
credenciales_invalidasO motor recusa o usuário ou a senha (alguém a mudou à mão): cadastrá-la com guardar_credencial_db_vps
credenciales_requeridasNão há credencial guardada nem uma administrativa utilizável
motor_no_respondeO túnel está aberto mas o motor não aceita a conexão ou SELECT 1 falha
tunel_no_disponible / clave_tunel_rechazadaNão foi possível preparar o túnel; a chave é regenerada e tentada de novo uma vez sozinha
pool_agotadoFoi atingido o limite de conexões simultâneas para esse banco
consulta_fallidaO motor recusou a operação (sintaxe, restrição, permissões); a mensagem chega higienizada
acceso_denegadoNão é da empresa, está excluído do VPS ou o agente não tem esse VPS no escopo

Relação com MCP

O gerenciador completo está disponível via MCP; referência em /mcp/docs e /mcp/bases-de-datos. Todas as ferramentas recebem engine (postgres ou mysql) e, exceto as de motores, a base.

TipoFerramentas
Leituralistar_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
Modificaminsertar_fila_db_vps, guardar_credencial_db_vps
Destrutivasactualizar_fila_db_vps, borrar_fila_db_vps, ejecutar_ddl_db_vps
  • consultar_sql_db_vps recusa escritas de propósito e uma segunda instrução separada por ;. Os valores vão em params.
  • ejecutar_ddl_db_vps destrutivo exige repetir com confirmacion igual a confirmacion_esperada; confirmar um nome errado é recusado.
  • guardar_credencial_db_vps guarda a senha do motor criptografada e nenhuma ferramenta a devolve.
  • Exportar e importar arquivos só existem no painel.

Funcionalidades relacionadas