데이터베이스 연결

에이전트가 데이터베이스에 질의하게 하세요,
허락하기 전까지는 읽기 전용으로

AgentsRoom은 MySQL과 MariaDB 연결을 관리하고, AI 코딩 에이전트가 그 연결에 질의를 던질 수 있게 합니다. 기본은 읽기 전용, 한 번에 구문 하나, 비밀번호는 손이 닿지 않는 곳에 둡니다.

실제 행을 읽을 수 있는 에이전트는 데이터를 짐작하지 않습니다. 그 행에 쓸 수 없는 에이전트는 한 줄씩 감시해야 할 위험이 아니게 됩니다.

SQL 클라이언트
읽기 전용
AgentsRoom
SELECT id, email, plan FROM users LIMIT 50
DELETE FROM users WHERE id = 42
차단됨: 연결이 읽기 전용입니다
SSH 터널bastion.acme.dev
프라이빗 서브넷
상한이 걸린 결과 집합
저장된 연결을 통해
호출당 구문 하나비밀번호는 앱을 떠나지 않음

AgentsRoom이 프라이빗 서브넷의 데이터베이스에 닿아 AI 에이전트의 읽기 전용 질의에 답하는 방식.

데이터를 볼 수 없는 AI 코딩 에이전트는 자기가 상상한 스키마를 상대로 코드를 씁니다. 없는 컬럼을 만들어 내고, 값이 일곱 개인 enum을 세 개라고 가정하고, 버그를 실제 행이 아니라 이론으로 설명합니다. 데이터베이스 연결을 주면 그 문제가 풀립니다. 동시에 그것은 도움이 되던 에이전트를 사고로 바꾸는 가장 빠른 길이기도 합니다. AgentsRoom은 이 긴장 위에서 만들어졌습니다.

MySQL과 MariaDB 연결은 다른 SQL 클라이언트에서 하듯이 앱에 저장합니다. 호스트, 포트, 사용자, 데이터베이스, 그리고 서버가 요구하면 TLS까지요. 데이터베이스가 공개 인터넷에서 닿지 않는다면, 이미 AgentsRoom에 저장해 둔 SSH 및 SSM 연결을 사용해 SSH 터널이나 AWS SSM 포트 포워딩 세션으로 연결의 경로를 잡습니다. 프라이빗 서브넷에 있는 데이터베이스가 세상에 열어 두지 않고도 질의할 수 있는 대상이 되는 방식입니다.

모든 연결은 읽기 전용으로 시작합니다. SELECT는 실행됩니다. 데이터를 바꾸는 구문은 그 연결을 쓰기 가능으로 만들고 작업을 확인하기 전까지 실행되지 않습니다. 호출당 구문은 하나만 받아들이므로 세미콜론 뒤에 무언가가 숨을 수 없고, 결과 집합에는 상한이 있어 넓은 질의가 에이전트나 창을 뒤덮지 못합니다. 연결에 프로덕션 표시를 달 수도 있는데, 그러면 실수로 확인을 눌러 버리기가 더 어려워집니다.

에이전트가 운전한다고 전제한 SQL 클라이언트

MySQL과 MariaDB, 프라이빗 네트워크에서도 닿고, 가드레일은 기본으로 켜져 있습니다.

MySQL과 MariaDB 연결

데이터베이스마다 연결을 저장하세요. 호스트, 포트, 사용자, 열 데이터베이스, 그리고 서버가 요구할 때의 TLS까지요. 로컬 데이터베이스, 스테이징, 프로덕션 리플리카가 같은 목록에 모이고, 다시 입력하는 대신 고르기만 하면 됩니다.

프라이빗 데이터베이스에 닿기

프라이빗 서브넷의 데이터베이스는 특별한 경우가 아닙니다. 연결의 경로를 SSH 터널이나 AWS SSM 포트 포워딩 세션으로 잡으면, 앱에 이미 저장해 둔 SSH 및 SSM 연결을 재사용해 AgentsRoom이 대신 열어 줍니다.

기본은 읽기 전용

새 연결은 읽기만 할 수 있고 그 외에는 아무것도 하지 못합니다. 질의는 행을 반환하고, 데이터를 바꾸는 구문은 거부됩니다. 안전 모드를 켜는 것을 누군가 기억할 필요가 없습니다. 모든 연결이 안전 모드에서 출발하니까요.

쓰기 앞에 자물쇠 두 개

쓰기에는 하나가 아니라 두 번의 의도적인 행동이 필요합니다. 연결을 쓰기 가능으로 바꿔야 하고, 작업 자체도 명시적으로 확인해야 합니다. 무심코 한 번 클릭한 것이 WHERE 절 없는 UPDATE로 이어질 수 없습니다.

호출당 구문 하나

한 번의 호출에는 정확히 구문 하나만 담깁니다. 세미콜론 뒤에 쌓인 것은 실행되지 않고 거부되므로, 읽기처럼 보이는 읽기가 두 번째 구문을 몰래 끼워 올 수 없습니다. 그 위에 결과 집합 상한까지 더해집니다.

프로덕션에는 표시가 붙습니다

연결에 프로덕션 표시를 달면 확인 절차가 더 까다로워집니다. 중요한 데이터베이스가 로컬 사본과 똑같아 보이지 않게 되죠. 긴 하루의 끝에 있는 당신에게도, 작업 목록을 훑어 내려가는 에이전트에게도요.

에이전트는 데이터베이스에 질의할 뿐, 비밀번호를 쥐지 않습니다

데이터베이스 자격 증명은 AgentsRoom이 보관할 뿐 넘겨주지 않습니다. 에이전트가 이름으로 아는 연결에 질의 실행을 요청하면, 앱이 연결을 열고 구문을 실행해 행을 돌려줍니다. 비밀번호는 에이전트가 받는 것에도, 에이전트가 쓰는 질의에도, 에이전트가 남기는 대화에도 들어 있지 않습니다.

읽기 전용 규칙이 나머지 절반이고, 에이전트에게 그것은 말로 빠져나갈 수 있는 기본값이 아닙니다. 에이전트가 질의에 쓰는 도구는 그 연결이 무엇을 허용하든 읽기 외에는 전부 거부합니다. 연결을 쓰기 가능으로 만들면 SQL 콘솔에서 사용자에게 쓰기가 열리고, 그곳에서는 쓰기마다 명시적인 확인을 요구하며 연결에 프로덕션 표시가 붙어 있으면 그 확인은 의도적으로 더 까다롭습니다. 에이전트가 잘못된 질의를 실행했을 때의 최악의 결과는 테이블을 잃는 것이 아니라 틀린 답으로 남습니다.

구문 하나 규칙이 고전적인 빈틈을 막습니다. 구문 하나를 담은 호출은 세미콜론과 두 번째 구문으로 늘릴 수 없으므로, 리뷰에서 무해해 보이던 질의가 실행 시점에 다른 일을 할 수 없습니다. 여기에 결과 집합 상한이 더해지면, 실수는 데이터를 통째로 퍼 가는 일이 아니라 그냥 실수로 남습니다.

지원 엔진

오늘은 MySQL과 MariaDB, 그 외에는 없습니다

AgentsRoom의 데이터베이스 클라이언트는 MySQL 와이어 프로토콜을 사용하고 MariaDB는 그것과 호환되므로, 지금 지원되는 것은 이 둘입니다. 직접 연결하거나, 서버가 공개 인터넷에서 닿지 않는다면 SSH 터널이나 AWS SSM 포트 포워딩 세션을 통해 연결합니다.

PostgreSQL, MongoDB, SQL Server, SQLite를 비롯한 나머지는 지원하지 않습니다. 이 사실은 다운로드한 뒤가 아니라 그 전에 아셔야 합니다. 다음에 어떤 엔진이 올지는 사람들이 요청하는 것으로 정해지므로, 필요한 엔진이 빠져 있다면 공개 백로그에 어느 것인지 남겨 주세요. 그대로 집계됩니다.

내 데이터베이스 엔진 요청하기

프라이빗 데이터베이스에서 답까지

연결을 저장하고, 경로를 잡고, 직접 질의하거나 에이전트에게 맡기세요.

01

연결을 저장하세요

데이터베이스를 추가하세요. 호스트, 포트, 사용자, 데이터베이스 이름, 그리고 서버가 요구하면 TLS까지요. 나중에 알아볼 이름을 붙이고, 프로덕션이라면 프로덕션으로 표시하세요.

02

프라이빗이라면 경로를 잡으세요

데이터베이스에 직접 닿을 수 없다면, AgentsRoom에 이미 저장된 연결로 만든 SSH 터널이나 AWS SSM 포트 포워딩 세션을 연결에 지정하세요. 프라이빗 서브넷의 데이터베이스가 외부에 노출하지 않고도 닿을 수 있는 대상이 됩니다.

03

직접 질의하거나, 에이전트에게 맡기세요

앱에서 구문을 실행하거나, 에이전트가 MCP로 실행하게 하세요. 바꾸기 전까지는 읽기 전용, 호출당 구문 하나, 상한이 걸린 결과 집합, 그리고 모든 쓰기와 내 데이터 사이에 서 있는 명시적인 확인.

에이전트에게 진짜 행이 필요한 순간

프로덕션 데이터를 읽는 것이 수정까지 가는 가장 짧은 길인 순간들.

실제 데이터로 디버깅

버그가 계정 몇 개에서만 나타납니다. 에이전트에게 그 행들을 읽게 하면, 데이터가 어떻게 생겼을지에 대한 이론 세 가지를 내놓는 대신 로직을 깨뜨리는 값을 찾아냅니다.

공개되지 않은 데이터베이스

데이터베이스가 공개 엔드포인트 없이 프라이빗 서브넷에 있습니다. 저장된 연결로 만든 SSH 터널이나 AWS SSM 세션으로 경로를 잡으면, 인터넷에 포트를 열지 않고도 질의할 수 있습니다.

에이전트가 짐작하지 말고 확인하게

마이그레이션이나 질의를 쓰기 전에, 에이전트는 실제로 저장된 것을 들여다볼 수 있습니다. 읽고, 보고하고, 그러는 동안 무언가를 바꿀 권한은 결코 얻지 않습니다.

쓰기 위험 없는 프로덕션

프로덕션을 읽는 일은 자주 필요하지만, 작업 도중에 프로덕션에 쓰는 일은 거의 필요하지 않습니다. 연결에 프로덕션 표시를 달고 읽기 전용으로 두면, 조사와 파손 사이의 차이가 누군가의 주의력에 기대지 않게 됩니다.

AI 에이전트 + SQL

에이전트는 데이터베이스에 어떻게 질의하나요?

db_listdb_schemadb_querydb_connection_new

AgentsRoom MCP를 통해, 네 개의 도구로요. db_list는 저장된 연결과 그 메타데이터를 반환하고, db_schema는 SQL 한 줄 없이 스키마와 테이블과 컬럼을 훑고, db_query는 구문 하나를 실행해 행을 반환하며, db_connection_new는 아직 저장하지 않은 데이터베이스를 제안합니다. AgentsRoom은 앞단에 SSH 터널이나 AWS SSM 세션이 있다면 그것까지 포함해 연결을 엽니다. 에이전트에게 돌아가는 것은 결과 집합이지 자격 증명이 아닙니다.

db_query는 연결이 무엇을 허용하든 읽기 전용입니다. 연결을 쓰기 가능으로 만들면 SQL 콘솔에서 사용자에게 쓰기가 열립니다. 그곳에서는 쓰기마다 명시적으로 확인하고, 프로덕션으로 표시된 연결은 그 사실을 분명히 알립니다. 하지만 에이전트에게는 열리지 않습니다. db_query의 읽기 전용 규칙은 MCP 프로세스가 아니라 데스크톱 앱에 있어서, 에이전트가 다른 것을 요청하도록 설득당해도 그대로 유지됩니다. DROP을 실행하는 데 비밀번호가 필요한 것은 아니고, 그래서 가드레일이 자격 증명뿐 아니라 구문 위에 앉아 있습니다.

데이터베이스를 등록하는 일에도 같은 한계가 적용됩니다. db_connection_new는 호스트, 사용자, 그리고 데이터베이스에 닿을 SSH 또는 AWS SSM 연결로 미리 채운 생성 폼을 열고, 검토하고 비밀번호를 입력하고 저장하는 것은 사용자입니다. 저장하기 전까지는 아무것도 기록되지 않습니다. 에이전트는 데이터를 두고 추론하는 데 필요한 것을 얻고, 그 접근이 보통 사고로 이어지는 경로는 어느 것도 열려 있지 않습니다.

AgentsRoom MCP 살펴보기

자주 묻는 질문

어떤 데이터베이스를 지원하나요?

MySQL과 MariaDB, 그 둘뿐입니다. 클라이언트가 MySQL 와이어 프로토콜을 사용하고 MariaDB는 그것과 호환되므로 둘 다 동작합니다. 직접 연결해도 되고, SSH 터널이나 AWS SSM 포트 포워딩 세션을 통해도 됩니다. PostgreSQL, MongoDB, SQL Server, SQLite를 비롯한 나머지는 오늘 기준 지원하지 않습니다. 그중 하나가 필요하다면 공개 백로그에 요청하세요. 목록은 사람들이 실제로 요청하는 것에 따라 늘어납니다.

AI 에이전트가 내 데이터베이스에 쓸 수 있나요?

아니요. 에이전트가 질의에 쓰는 MCP 도구인 db_query는 연결이 무엇을 허용하든 읽기 전용입니다. SELECT, SHOW, DESCRIBE, EXPLAIN, WITH는 통과하고, 데이터를 바꾸는 것은 전부 거부됩니다. 연결을 쓰기 가능으로 만들면 쓰기가 열리는 대상은 SQL 콘솔에 있는 사용자이고, 그곳에서는 쓰기마다 명시적으로 확인합니다. 에이전트에게는 열리지 않습니다. 가드레일은 비밀번호가 아니라 구문 위에 앉아 있습니다. DROP을 실행하는 데 필요한 것은 비밀번호가 아니기 때문입니다.

프라이빗 서브넷의 데이터베이스에 어떻게 닿나요?

AgentsRoom에 이미 저장한 SSH 및 SSM 연결로 만든 SSH 터널이나 AWS SSM 포트 포워딩 세션으로 연결의 경로를 잡으세요. 앱이 터널이나 세션을 열고 그 너머로 데이터베이스에 연결하므로, 데이터베이스는 공개 인터넷에서 닿지 않는 상태로 남습니다.

에이전트가 데이터베이스 비밀번호를 보나요?

아니요. 에이전트는 연결의 이름을 지목해 MCP로 질의합니다. 자격 증명은 AgentsRoom이 보관하고 구문도 앱이 직접 실행하므로, 비밀번호는 에이전트에 반환되지 않고, 질의에 적히지 않으며, 대화에도 남지 않습니다.

에이전트가 한 번에 여러 구문을 실행할 수 있나요?

아니요. 한 번의 호출에는 정확히 구문 하나만 담깁니다. 세미콜론 뒤에 쌓인 것은 실행되지 않고 거부되며, 그래서 읽기처럼 보이는 것 안에 쓰기를 숨기는 가장 오래된 수법이 통하지 않습니다.

연결에 프로덕션 표시를 달면 무엇이 달라지나요?

쓰기 전에 요구되는 확인이 더 까다로워집니다. 중요한 데이터베이스가 로컬 사본처럼 행동하지 않게 되죠. 긴 하루의 끝에 있는 당신에게 필요한 것이고, 작업 목록을 훑어 내려가는 에이전트에게는 더더욱 필요한 것입니다.

행을 아주 많이 반환하는 질의는 어떻게 되나요?

결과 집합에는 상한이 있습니다. 거대한 테이블을 통째로 반환할 질의는 창이나 에이전트 컨텍스트를 뒤덮는 대신 잘린 채 돌아옵니다. 그래서 넓은 SELECT는 데이터 반출이 아니라 약간의 불편으로 남습니다.

에이전트가 데이터베이스 연결을 추가할 수 있나요?

제안은 할 수 있지만 저장은 절대 하지 못합니다. db_connection_new는 호스트, 포트, 사용자, 그리고 데이터베이스에 닿을 SSH 또는 AWS SSM 연결로 미리 채운 생성 폼을 열고, 검토하고 비밀번호를 입력하고 저장하는 것은 사용자입니다. 저장하기 전까지는 아무것도 기록되지 않으며, 자격 증명을 제공하는 것은 결코 에이전트가 아닙니다.

에이전트는 내 스키마를 어떻게 파악하나요?

db_schema로 파악합니다. SQL 없이 저장된 연결을 탐색하는 도구입니다. 인자 없이 호출하면 스키마를 나열하고, 데이터베이스를 주면 테이블과 뷰를 나열하며, 테이블을 주면 컬럼과 그 타입, null 허용 여부, 키, 기본값을 반환합니다. 에이전트에게 information_schema를 손으로 질의하게 하는 것보다 비용이 적고 더 안전합니다.

이런 기능도 마음에 드실 거예요

AWS SSM으로 RDS 연결

공개 엔드포인트가 없는 Amazon RDS 인스턴스에 내 컴퓨터에서 바로 닿으세요. aws ssm start-session과 AWS-StartPortForwardingSessionToRemoteHost 문서를 사용합니다. 유지할 배스천도, VPN도, 인바운드 SSH 규칙도 없습니다. AgentsRoom이 루프백 포트에 세션을 열고 그 위로 SQL 클라이언트를 연결합니다. MySQL과 MariaDB만 지원하므로 RDS MySQL과 Aurora MySQL 호환 에디션이 대상입니다.

SSH 연결

SSH 연결을 저장하고, SSH로 내장 터미널을 열어 Claude Code, Codex, Antigravity CLI를 원격 서버나 VPS에서 바로 실행하세요. SSH 키 또는 비밀번호 인증, 프로젝트별 연결 프로필을 지원하며, 별도의 SSH 클라이언트가 필요 없습니다.

시크릿 관리자

API 키, 토큰, 비밀번호를 OS 키체인에 저장하고, 개발 명령과 에이전트 환경에서 {{secret:NAME}}로 참조하면 AgentsRoom이 실행 시점에 실제 값을 채웁니다. 에이전트는 이름만 볼 뿐 값은 보지 못하며, 서버로 동기화되는 것은 아무것도 없습니다.

Dev Terminals

프로젝트별 터미널 관리자이자 프로세스 실행기. 백엔드, 프론트엔드, 워커를 로컬에서도 원격 서버에서도 한 번의 클릭으로 시작하세요.

AgentsRoom MCP

에이전트가 AgentsRoom 자체를 조종하게 하는 MCP 서버. 프로젝트, 터미널, 백로그, 연결까지, 함께 따라오는 가드레일과 함께요.

에이전트에게 줄 것은 데이터이지 키가 아닙니다

AgentsRoom을 다운로드하고, MySQL과 MariaDB 연결을 저장하고, SSH 터널이나 AWS SSM 세션으로 닿은 뒤, 에이전트가 읽기 전용으로 질의하게 하세요.

무료다운로드

컴패니언 앱: 이동 중에도 에이전트를 모니터링

Claude, Codex, Antigravity CLI 또는 다른 AI 공급자를 사용하세요.

확장 프로그램 설치
Chrome Web Store

버그와 요청을 공개 백로그로 바로 보내세요.

AgentsRoom의 실제 모습.

멀티 프로젝트
멀티 프로바이더
멀티 에이전트
실시간 상태
파일 diff & 커밋
모바일 앱
라이브 프리뷰
에이전트 팀
브라우저 자동화
백로그 기반 개발
프롬프트 라이브러리
스킬 라이브러리
모든 기능 보기