Conexiones de base de datos

Deja que tus agentes consulten la base de datos,
en solo lectura hasta que digas lo contrario

AgentsRoom gestiona tus conexiones MySQL y MariaDB y da a tus agentes de código con IA una forma de lanzar consultas contra ellas. Solo lectura por defecto, una sentencia cada vez y la contraseña fuera de su alcance.

Un agente que puede leer las filas reales deja de adivinar sobre tus datos. Un agente que no puede escribir en ellas deja de ser un riesgo que hay que supervisar línea a línea.

Cliente SQL
Solo lectura
AgentsRoom
SELECT id, email, plan FROM users LIMIT 50
DELETE FROM users WHERE id = 42
Bloqueado: la conexión es de solo lectura
Túnel SSHbastion.acme.dev
Subred privada
Conjunto de resultados limitado
A través de tu conexión guardada
Una sentencia por llamadaLa contraseña nunca sale de la app

Cómo AgentsRoom llega a una base de datos en una subred privada y responde a una consulta de solo lectura de un agente de IA.

Un agente de código con IA que no ve tus datos escribe código contra el esquema que se ha imaginado. Inventa una columna, supone que un enum tiene tres valores cuando tiene siete y explica un bug con una teoría en lugar de con una fila. Darle una conexión a la base de datos arregla eso, y también es la forma más rápida de convertir un agente útil en un incidente. AgentsRoom está construido alrededor de esa tensión.

Guardas tus conexiones MySQL y MariaDB en la app igual que lo harías en cualquier cliente SQL: host, puerto, usuario, base de datos y TLS cuando el servidor lo espera. Si la base de datos no es accesible desde internet, la conexión se enruta por un túnel SSH o por una sesión de reenvío de puertos de AWS SSM, usando las conexiones SSH y SSM que ya guardaste en AgentsRoom. Así es como una base de datos que vive en una subred privada pasa a ser algo que puedes consultar sin abrirla al mundo.

Toda conexión empieza en solo lectura. Un SELECT se ejecuta. Una sentencia que modificaría datos no, hasta que hayas hecho escribible esa conexión concreta y hayas confirmado la operación. Solo se acepta una sentencia por llamada, así que no se esconde nada de más detrás de un punto y coma, y los conjuntos de resultados están limitados para que una consulta ancha no inunde a un agente ni a una ventana. Una conexión también se puede marcar como producción, lo que hace más difícil dar la confirmación por accidente.

Un cliente SQL que da por hecho que lo pilota un agente

MySQL y MariaDB, accesibles en redes privadas, con las salvaguardas activadas por defecto.

Conexiones MySQL y MariaDB

Guarda una conexión por base de datos: host, puerto, usuario, la base que hay que abrir y TLS cuando el servidor lo exige. Tu base local, la de staging y la réplica de producción viven en la misma lista, listas para elegirlas en lugar de reescribirlas.

Llega a una base de datos privada

Una base de datos en una subred privada no es un caso especial. Enruta la conexión por un túnel SSH o por una sesión de reenvío de puertos de AWS SSM y AgentsRoom la abre por ti, reutilizando las conexiones SSH y SSM que ya guardaste en la app.

Solo lectura por defecto

Una conexión nueva puede leer y nada más. Las consultas devuelven filas, las sentencias que cambiarían datos se rechazan. Nadie tiene que acordarse de activar el modo seguro, porque el modo seguro es donde empieza cada conexión.

Dos cerrojos antes de una escritura

Escribir exige dos actos deliberados, no uno. Hay que hacer escribible la conexión y hay que confirmar la operación de forma explícita. Un solo clic descuidado no puede encadenar con un UPDATE sin cláusula WHERE.

Una sentencia por llamada

Cada llamada lleva exactamente una sentencia. Todo lo que se apile detrás de un punto y coma se rechaza en lugar de ejecutarse, así que una lectura que parece una lectura no puede colar una segunda sentencia consigo. Y además los conjuntos de resultados están limitados.

Producción va marcada

Marca una conexión como producción y la confirmación se vuelve más dura. La base de datos que importa deja de parecerse exactamente a la copia local, tanto para ti al final de un día largo como para un agente que avanza por una lista de tareas.

Los agentes consultan la base de datos, nunca tienen la contraseña

Tus credenciales de base de datos las guarda AgentsRoom, no se reparten. Un agente pide ejecutar una consulta contra una conexión que conoce por su nombre, la app abre la conexión, ejecuta la sentencia y devuelve las filas. La contraseña nunca forma parte de lo que recibe el agente, ni de la consulta que escribe, ni de la conversación que conserva.

La regla de solo lectura es la otra mitad de todo esto, y para un agente no es un valor por defecto del que pueda librarse hablando. La herramienta con la que consulta un agente rechaza todo lo que no sea una lectura, sin importar lo que permita esa conexión. Hacer escribible una conexión desbloquea las escrituras para ti, en la consola SQL, donde cada una pide una confirmación explícita que es deliberadamente más difícil de dar cuando la conexión está marcada como producción. El peor desenlace de un agente que ejecuta una mala consulta sigue siendo una respuesta equivocada en lugar de una tabla perdida.

La regla de una sola sentencia cierra el hueco clásico. Una llamada que lleva una sentencia no se puede alargar con un punto y coma y una segunda, así que una consulta que en una revisión parece inofensiva no puede hacer otra cosa en el momento de ejecutarse. Combinado con los conjuntos de resultados limitados, un error se queda en error en lugar de convertirse en una exportación.

Motores compatibles

MySQL y MariaDB hoy, y nada más

El cliente de base de datos de AgentsRoom habla el protocolo de red de MySQL, y MariaDB es compatible con él, así que ambos están soportados ahora mismo: directamente, o a través de un túnel SSH o de una sesión de reenvío de puertos de AWS SSM cuando el servidor no es accesible desde internet.

PostgreSQL, MongoDB, SQL Server, SQLite y los demás no están soportados. Mereces saberlo antes de la descarga y no después. Qué motor llega después lo decide lo que pide la gente, así que si falta el tuyo, di cuál en el backlog público y queda contabilizado.

Pide tu motor de base de datos

De una base de datos privada a una respuesta

Guarda la conexión, enrútala, y luego consúltala o deja que lo haga un agente.

01

Guarda la conexión

Añade la base de datos: host, puerto, usuario, el nombre de la base y TLS si el servidor lo espera. Ponle un nombre que reconozcas más adelante y márcala como producción si eso es lo que es.

02

Enrútala si es privada

Si la base de datos no es accesible directamente, apunta la conexión a un túnel SSH o a una sesión de reenvío de puertos de AWS SSM construida a partir de las conexiones que ya tienes guardadas en AgentsRoom. Una base de datos en una subred privada pasa a ser accesible sin exponerla públicamente.

03

Consúltala, o deja que la consulte un agente

Ejecuta tu sentencia desde la app, o deja que un agente ejecute una por MCP. Solo lectura hasta que lo cambies, una sentencia por llamada, conjuntos de resultados limitados y una confirmación explícita entre cualquier escritura y tus datos.

Cuándo un agente necesita las filas reales

Los momentos en los que leer datos de producción es el camino más corto hasta el arreglo.

Depurar con datos reales

El bug solo aparece para un puñado de cuentas. Deja que el agente lea esas filas y encontrará el valor que rompe la lógica, en lugar de proponer tres teorías sobre qué aspecto podrían tener los datos.

Una base de datos que no es pública

La base de datos vive en una subred privada sin endpoint público. Enruta la conexión por un túnel SSH o por una sesión de AWS SSM construida sobre tus conexiones guardadas, y consúltala sin abrir un puerto a internet.

Deja que el agente compruebe, no que adivine

Antes de escribir una migración o una consulta, un agente puede mirar lo que hay guardado de verdad. Lee, informa, y nunca obtiene la capacidad de cambiar nada mientras lo hace.

Producción, sin el riesgo de escritura

Leer producción suele ser necesario; escribir en ella casi nunca lo es en mitad de una tarea. Marca la conexión como producción, mantenla en solo lectura, y la diferencia entre investigar y romper deja de depender de que alguien esté atento.

Agentes de IA + SQL

¿Cómo consultan mis agentes la base de datos?

db_listdb_schemadb_querydb_connection_new

A través de AgentsRoom MCP, con cuatro herramientas. db_list devuelve tus conexiones guardadas y sus metadatos, db_schema recorre los esquemas, las tablas y las columnas sin una línea de SQL, db_query ejecuta una sentencia y devuelve las filas, y db_connection_new propone una base de datos que aún no has guardado. AgentsRoom abre la conexión, incluido el túnel SSH o la sesión de AWS SSM que haya delante cuando la hay. Lo que viaja de vuelta al agente es un conjunto de resultados, nunca una credencial.

db_query es de solo lectura sin importar lo que permita la conexión. Hacer escribible una conexión desbloquea las escrituras para ti, en la consola SQL, donde cada una se confirma de forma explícita y donde una conexión marcada como producción lo dice en voz alta. No las desbloquea para un agente: la regla de solo lectura de db_query vive en la app de escritorio y no en el proceso MCP, así que se mantiene incluso si convencen al agente de pedir otra cosa. No hace falta una contraseña para ejecutar un DROP, y por eso la salvaguarda está en la sentencia y no solo en la credencial.

El mismo límite se aplica a registrar una base de datos. db_connection_new abre el formulario de creación relleno con el host, el usuario y la conexión SSH o AWS SSM por la que hay que llegar a ella, y tú lo revisas, escribes la contraseña y guardas. No se almacena nada hasta que lo hagas. El agente obtiene lo que necesita para razonar sobre tus datos, y ninguna de las vías por las que ese acceso suele acabar en un incidente está a su alcance.

Descubrir AgentsRoom MCP

FAQ

¿Qué bases de datos son compatibles?

MySQL y MariaDB, y solo esos. El cliente habla el protocolo de red de MySQL y MariaDB es compatible con él, así que ambos funcionan, directamente o a través de un túnel SSH o de una sesión de reenvío de puertos de AWS SSM. PostgreSQL, MongoDB, SQL Server, SQLite y el resto no están soportados hoy. Si necesitas alguno, pídelo en el backlog público: la lista crece con lo que la gente pide de verdad.

¿Puede un agente de IA escribir en mi base de datos?

No. La herramienta MCP con la que consulta un agente, db_query, es de solo lectura sin importar lo que permita la conexión: SELECT, SHOW, DESCRIBE, EXPLAIN y WITH pasan, y todo lo que cambiaría datos se rechaza. Hacer escribible una conexión desbloquea las escrituras para ti en la consola SQL, donde cada una se confirma de forma explícita, no para un agente. La salvaguarda está en la sentencia y no en la contraseña, porque no es una contraseña lo que hace falta para ejecutar un DROP.

¿Cómo llego a una base de datos en una subred privada?

Enruta la conexión por un túnel SSH o por una sesión de reenvío de puertos de AWS SSM, construida a partir de las conexiones SSH y SSM que ya guardaste en AgentsRoom. La app abre el túnel o la sesión y conecta la base de datos a través de él, de modo que la base sigue siendo inalcanzable desde internet.

¿Mis agentes ven la contraseña de la base de datos?

No. Los agentes consultan por MCP nombrando una conexión. AgentsRoom guarda las credenciales y ejecuta la sentencia él mismo, así que la contraseña nunca se devuelve al agente, nunca se escribe en la consulta y nunca forma parte de la conversación.

¿Puede un agente ejecutar varias sentencias a la vez?

No. Una llamada lleva exactamente una sentencia. Todo lo que se apile detrás de un punto y coma se rechaza en lugar de ejecutarse, lo que elimina la forma más antigua de esconder una escritura dentro de algo que parece una lectura.

¿Qué cambia marcar una conexión como producción?

Endurece la confirmación necesaria antes de una escritura. La base de datos que importa deja de comportarse como la copia local, que es lo que quieres al final de un día largo y lo que quieres todavía más de un agente que avanza por una lista de tareas.

¿Qué pasa con una consulta que devuelve muchísimas filas?

Los conjuntos de resultados están limitados. Una consulta que devolvería una tabla enorme vuelve truncada en lugar de inundar la ventana o el contexto del agente, así que un SELECT ancho se queda en una molestia y no en una exportación de tus datos.

¿Puede un agente añadir una conexión de base de datos?

Puede proponer una, nunca guardarla. db_connection_new abre el formulario de creación relleno con el host, el puerto, el usuario y la conexión SSH o AWS SSM por la que hay que llegar a la base de datos, y tú lo revisas, escribes la contraseña y guardas. No se almacena nada hasta que lo hagas, y el agente nunca aporta una credencial.

¿Cómo descubre un agente mi esquema?

Con db_schema, que explora una conexión guardada sin nada de SQL. Llamada sin argumentos lista los esquemas, con una base de datos lista las tablas y las vistas, y con una tabla devuelve las columnas, sus tipos, si admiten nulos, sus claves y sus valores por defecto. Es más barato y más seguro que hacer que un agente consulte information_schema a mano.

También te puede gustar

Da a tus agentes los datos, no las claves

Descarga AgentsRoom, guarda tus conexiones MySQL y MariaDB, llega a ellas a través de un túnel SSH o una sesión de AWS SSM, y deja que tus agentes las consulten en solo lectura.

GratisDescargar

App complementaria: supervisa tus agentes en movimiento

Usa Claude, Codex, Antigravity CLI u otro proveedor de IA.

Instalar la extensión
Chrome Web Store

Envía bugs y peticiones directamente a tu backlog público.

Un vistazo a AgentsRoom en acción.

Multi-proyectos
Multi-proveedor
Multi-agentes
Estado en vivo
Diff y commit
App móvil
Vista previa
Equipos de agentes
Pruebas en navegador
Dev guiada por backlog
Biblioteca de prompts
Biblioteca de skills
Ver todas las funcionalidades