Пусть агенты делают запросы к базе,
только чтение, пока вы не решите иначе
AgentsRoom управляет вашими подключениями к MySQL и MariaDB и даёт ИИ-агентам для кодинга способ выполнять на них запросы. По умолчанию только чтение, по одному запросу за раз, и пароль остаётся вне досягаемости.
Агент, который видит настоящие строки, перестаёт гадать о ваших данных. Агент, который не может их изменить, перестаёт быть риском, за которым нужно следить построчно.
Как AgentsRoom добирается до базы в приватной подсети и отвечает на запрос ИИ-агента в режиме только чтения.
ИИ-агент для кодинга, который не видит ваших данных, пишет код под ту схему, которую сам вообразил. Он придумывает колонку, считает, что в enum три значения, хотя их семь, и объясняет баг теорией вместо строки из таблицы. Подключение к базе это лечит, и оно же самый быстрый способ превратить полезного агента в инцидент. AgentsRoom построен вокруг этого противоречия.
Вы сохраняете подключения к MySQL и MariaDB так же, как в любом SQL-клиенте : хост, порт, пользователь, база и TLS, если сервер его ждёт. Если база недоступна из открытого интернета, подключение идёт через SSH-туннель или сессию проброса портов AWS SSM, поверх SSH- и SSM-подключений, которые вы уже сохранили в AgentsRoom. Так база, стоящая в приватной подсети, становится доступной для запросов, оставаясь закрытой для всего мира.
Каждое подключение стартует в режиме только чтения. SELECT выполняется. Запрос, который изменил бы данные, не выполняется, пока вы не сделаете это конкретное подключение доступным для записи и не подтвердите операцию. За один вызов принимается только один запрос, поэтому за точкой с запятой ничего лишнего не спрячется, а объём выдачи ограничен, чтобы широкий запрос не завалил ни агента, ни окно. Подключение можно пометить как production, и тогда подтверждение сложнее дать случайно.
SQL-клиент, который исходит из того, что за рулём агент
MySQL и MariaDB, доступные в закрытых сетях, с включёнными по умолчанию ограничениями.
Подключения к MySQL и MariaDB
Сохраняйте по подключению на каждую базу : хост, порт, пользователь, база, которую нужно открыть, и TLS, если сервер его требует. Локальная база, staging и production-реплика живут в одном списке, и их можно выбрать вместо того, чтобы набирать заново.
Доступ к закрытой базе
База в приватной подсети не особый случай. Направьте подключение через SSH-туннель или сессию проброса портов AWS SSM, и AgentsRoom откроет его за вас, переиспользуя SSH- и SSM-подключения, уже сохранённые в приложении.
Только чтение по умолчанию
Новое подключение умеет читать и больше ничего. Запросы возвращают строки, а те, что изменили бы данные, отклоняются. Никому не нужно помнить про безопасный режим, потому что именно с него начинается каждое подключение.
Два замка перед записью
Запись требует двух осознанных действий, а не одного. Подключение нужно сделать доступным для записи, и саму операцию нужно явно подтвердить. Один невнимательный клик не превратится в UPDATE без условия WHERE.
Один запрос за вызов
Каждый вызов несёт ровно один запрос. Всё, что приписано после точки с запятой, отклоняется, а не выполняется, поэтому чтение, которое выглядит как чтение, не протащит с собой второй запрос. Сверх этого объём выдачи ограничен.
Production помечается отдельно
Пометьте подключение как production, и подтверждение станет строже. База, которая имеет значение, перестаёт выглядеть точно так же, как локальная копия : и для вас в конце длинного дня, и для агента, идущего по списку задач.
Агенты делают запросы к базе, но пароль они не держат
Ваши учётные данные от базы AgentsRoom хранит, а не раздаёт. Агент просит выполнить запрос к подключению, которое знает по имени, приложение открывает подключение, выполняет запрос и возвращает строки. Пароль никогда не входит в то, что получает агент, никогда не входит в запрос, который агент пишет, и никогда не попадает в переписку, которую он ведёт.
Вторая половина этой картины: правило только на чтение, и для агента это не умолчание, которое он смог бы обойти разговором. Инструмент, которым агент делает запросы, отклоняет всё, кроме чтения, что бы это подключение ни позволяло. Сделав подключение доступным для записи, вы открываете запись себе, в SQL-консоли, где каждая операция требует явного подтверждения, которое намеренно труднее дать, когда подключение помечено как production. Худшим исходом неудачного запроса агента остаётся неверный ответ, а не потерянная таблица.
Правило одного запроса закрывает классическую брешь. Вызов, который несёт один запрос, нельзя дополнить точкой с запятой и вторым, поэтому запрос, безобидный на ревью, не сделает при выполнении что-то другое. Вместе с ограниченной выдачей ошибка остаётся ошибкой, а не превращается в выгрузку данных.
Сегодня MySQL и MariaDB, и больше ничего
Клиент баз данных в AgentsRoom говорит по сетевому протоколу MySQL, а MariaDB с ним совместима, поэтому обе поддерживаются уже сейчас : напрямую или через SSH-туннель либо сессию проброса портов AWS SSM, когда сервер недоступен из открытого интернета.
PostgreSQL, MongoDB, SQL Server, SQLite и остальные не поддерживаются. Об этом честнее узнать до скачивания, а не после. Какой движок появится следующим, решают запросы пользователей, поэтому если вашего нет в списке, напишите какой именно в публичном бэклоге, и он будет учтён.
Запросить свой движок баз данныхОт закрытой базы до ответа
Сохраните подключение, направьте его, а дальше делайте запросы сами или доверьте их агенту.
Сохраните подключение
Добавьте базу : хост, порт, пользователь, имя базы и TLS, если сервер его ждёт. Дайте подключению имя, которое узнаете позже, и пометьте как production, если это именно оно.
Направьте его, если база закрыта
Если база недоступна напрямую, направьте подключение через SSH-туннель или сессию проброса портов AWS SSM, собранную из подключений, уже сохранённых в AgentsRoom. База в приватной подсети становится доступной, оставаясь закрытой снаружи.
Делайте запросы сами или дайте агенту
Выполните запрос из приложения или дайте агенту выполнить его через MCP. Только чтение, пока вы не изменили это, один запрос за вызов, ограниченная выдача и явное подтверждение между любой записью и вашими данными.
Когда агенту нужны настоящие строки
Моменты, когда чтение боевых данных оказывается самым коротким путём к исправлению.
Отладка на настоящих данных
Баг проявляется только у нескольких аккаунтов. Дайте агенту прочитать эти строки, и он найдёт значение, которое ломает логику, вместо того чтобы предлагать три теории о том, как могут выглядеть данные.
База, которой нет снаружи
База живёт в приватной подсети без публичного адреса. Направьте подключение через SSH-туннель или сессию AWS SSM поверх ваших сохранённых подключений и делайте запросы, не открывая порт в интернет.
Пусть агент проверит, а не угадает
Прежде чем писать миграцию или запрос, агент может посмотреть, что на самом деле лежит в базе. Он читает, он рассказывает, и при этом никогда не получает возможности что-либо изменить.
Production без риска записи
Читать production часто необходимо, а писать в него посреди задачи почти никогда не нужно. Пометьте подключение как production, оставьте его только на чтение, и разница между «разобраться» и «сломать» перестанет зависеть от чьей-то внимательности.
Как мои агенты делают запросы к базе?
Через AgentsRoom MCP, четырьмя инструментами. db_list возвращает ваши сохранённые подключения и их метаданные, db_schema обходит схемы, таблицы и колонки без единой строки SQL, db_query выполняет один запрос и возвращает строки, а db_connection_new предлагает базу, которую вы ещё не сохранили. AgentsRoom открывает подключение, вместе с SSH-туннелем или сессией AWS SSM перед ним, если они есть. Обратно к агенту уходит выборка, а не учётные данные.
db_query работает только на чтение, что бы ни позволяло подключение. Сделав подключение доступным для записи, вы открываете запись себе, в SQL-консоли, где каждая операция подтверждается явно и где подключение, помеченное как production, говорит об этом вслух. Агенту это записи не открывает : правило только на чтение для db_query живёт в десктоп-приложении, а не в MCP-процессе, поэтому оно держится, даже если агента уговорили попросить что-то другое. Для DROP пароль не нужен, и именно поэтому ограничитель стоит на запросе, а не только на учётных данных.
То же ограничение действует и при регистрации базы. db_connection_new открывает форму создания, заранее заполненную хостом, пользователем и SSH- или AWS SSM-подключением, через которое нужно добираться до базы, а вы проверяете, вводите пароль и сохраняете. Пока вы этого не сделали, ничего не сохранено. Агент получает всё, что нужно, чтобы рассуждать о ваших данных, и ни один из привычных способов превратить такой доступ в инцидент ему недоступен.
Открыть AgentsRoom MCPЧастые вопросы
Какие базы данных поддерживаются?
MySQL и MariaDB, и только они. Клиент говорит по сетевому протоколу MySQL, а MariaDB с ним совместима, поэтому работают обе, напрямую или через SSH-туннель либо сессию проброса портов AWS SSM. PostgreSQL, MongoDB, SQL Server, SQLite и остальные сегодня не поддерживаются. Если вам нужен один из них, попросите о нём в публичном бэклоге : список растёт из того, что люди действительно запрашивают.
Может ли ИИ-агент писать в мою базу?
Нет. MCP-инструмент, которым агент делает запросы, db_query, работает только на чтение, что бы ни позволяло подключение : SELECT, SHOW, DESCRIBE, EXPLAIN и WITH проходят, всё, что изменило бы данные, отклоняется. Сделав подключение доступным для записи, вы открываете запись себе, в SQL-консоли, где каждая операция подтверждается явно, но не агенту. Ограничитель стоит на запросе, а не на пароле, потому что для DROP пароль не нужен.
Как добраться до базы в приватной подсети?
Направьте подключение через SSH-туннель или сессию проброса портов AWS SSM, собранную из SSH- и SSM-подключений, которые вы уже сохранили в AgentsRoom. Приложение открывает туннель или сессию и подключает базу через неё, поэтому база остаётся недоступной из публичного интернета.
Видят ли мои агенты пароль от базы?
Нет. Агенты делают запросы через MCP, называя подключение. Учётные данные держит AgentsRoom, и запрос выполняет само приложение, поэтому пароль никогда не возвращается агенту, никогда не попадает в запрос и никогда не оказывается в переписке.
Может ли агент выполнить несколько запросов сразу?
Нет. Один вызов несёт ровно один запрос. Всё, что приписано после точки с запятой, отклоняется, а не выполняется, и это закрывает старейший способ спрятать запись внутри того, что выглядит как чтение.
Что меняет пометка подключения как production?
Она делает подтверждение перед записью строже. База, которая имеет значение, перестаёт вести себя как локальная копия : этого хочется в конце длинного дня и ещё больше хочется от агента, идущего по списку задач.
Что будет с запросом, который возвращает много строк?
Выдача ограничена. Запрос, который вернул бы огромную таблицу, приходит обрезанным, а не заливает окно или контекст агента, поэтому широкий SELECT остаётся неудобством, а не выгрузкой ваших данных.
Может ли агент добавить подключение к базе данных?
Он может его предложить, но не сохранить. db_connection_new открывает форму создания, заранее заполненную хостом, портом, пользователем и SSH- или AWS SSM-подключением, через которое нужно добираться до базы, а вы проверяете, вводите пароль и сохраняете. Пока вы этого не сделали, ничего не сохранено, и учётные данные агент никогда не вводит.
Как агент узнаёт мою схему?
С помощью db_schema, который исследует сохранённое подключение вообще без SQL. Вызванный без аргументов, он перечисляет схемы, с базой данных: таблицы и представления, с таблицей: колонки, их типы, допустимость NULL, ключи и значения по умолчанию. Это дешевле и безопаснее, чем заставлять агента вручную опрашивать information_schema.
Вам также может понравиться
RDS через AWS SSM
Доберитесь до инстанса Amazon RDS без публичного адреса прямо со своей машины, через aws ssm start-session и документ AWS-StartPortForwardingSessionToRemoteHost. Ни бастиона, который надо обслуживать, ни VPN, ни входящего правила для SSH. AgentsRoom открывает сессию на порту loopback и подключает через неё SQL-клиент. Только MySQL и MariaDB, то есть RDS MySQL и Aurora, совместимая с MySQL.
SSH-подключения
Сохраняй свои SSH-подключения, открывай встроенный терминал по SSH и запускай Claude Code, Codex или Antigravity CLI прямо на удалённом сервере или VPS. Авторизация по SSH-ключу или паролю, профили подключений для каждого проекта, отдельный SSH-клиент не нужен.
Менеджер секретов
Храните API-ключи, токены и пароли в связке ключей операционной системы, ссылайтесь на них через {{secret:NAME}} в dev-командах и окружениях агентов, а AgentsRoom подставит значение при запуске. Агенты видят имена, но не значения, и ничего не уходит на сервер.
Dev-терминалы
Менеджер терминалов и запуск процессов для каждого проекта. Поднимайте бэкенд, фронтенд и воркеров в один клик, локально или на удалённом сервере.
AgentsRoom MCP
MCP-сервер, который позволяет вашим агентам управлять самим AgentsRoom : проекты, терминалы, бэклог и подключения, вместе со всеми их ограничениями.
Дайте агентам данные, а не ключи
Скачайте AgentsRoom, сохраните подключения к MySQL и MariaDB, доберитесь до них через SSH-туннель или сессию AWS SSM и дайте агентам делать запросы только на чтение.
Приложение-компаньон: следите за агентами на ходу
Используйте Claude, Codex, Antigravity CLI или другого поставщика AI.
Отправляйте баги и запросы прямо в ваш публичный бэклог.
Взгляд на AgentsRoom в действии.