Biarkan Agen Anda Menjalankan Kueri ke Database,
Baca-Saja Sampai Anda Menentukan Sebaliknya
AgentsRoom mengelola koneksi MySQL, PostgreSQL, dan MongoDB Anda dan memberi agen coding AI Anda cara menjalankan kueri terhadapnya. Baca-saja secara bawaan, satu pernyataan dalam satu waktu, dengan kata sandi tetap di luar jangkauan.
Agen yang bisa membaca baris data yang sebenarnya berhenti menebak-nebak soal data Anda. Agen yang tidak bisa menulis ke sana berhenti menjadi risiko yang harus Anda awasi baris demi baris.
Bagaimana AgentsRoom menjangkau database di subnet privat dan menjawab kueri baca-saja dari sebuah agen AI.
Agen coding AI yang tidak bisa melihat data Anda menulis kode berdasarkan skema yang ia bayangkan sendiri. Ia mengarang sebuah kolom, mengira sebuah enum punya tiga nilai padahal tujuh, dan menjelaskan sebuah bug dengan teori alih-alih dengan satu baris data. Memberinya koneksi database memperbaiki itu, dan sekaligus jalan tercepat mengubah agen yang membantu menjadi sebuah insiden. AgentsRoom dibangun di sekitar ketegangan itu.
Anda menyimpan koneksi di aplikasi seperti di klien database mana pun: mesin database, host, port, pengguna, database, dan TLS bila server memintanya. Jika database tidak bisa dijangkau dari internet terbuka, koneksinya dialihkan lewat terowongan SSH atau sesi penerusan port AWS SSM, memakai koneksi SSH dan SSM yang sudah Anda simpan di AgentsRoom. Begitulah database yang duduk di subnet privat menjadi sesuatu yang bisa Anda kueri tanpa membukanya ke seluruh dunia.
Setiap koneksi dimulai dalam mode baca-saja. Sebuah SELECT berjalan. Pernyataan yang akan mengubah data tidak, sampai Anda membuat koneksi itu bisa ditulis dan mengonfirmasi operasinya. Hanya satu pernyataan yang diterima per panggilan, jadi tidak ada tambahan yang bersembunyi di balik titik koma, dan set hasil dibatasi supaya kueri yang lebar tidak membanjiri agen atau jendela. Sebuah koneksi juga bisa ditandai sebagai produksi, yang membuat konfirmasinya lebih sulit diberikan secara tidak sengaja.
Membaca bukan seluruh pekerjaannya. Koneksi yang disimpan di satu mesin muncul di mesin Anda yang lain, jadi Anda menyiapkan sebuah database sekali saja, bukan sekali untuk tiap komputer. Dan sebuah database bisa diekspor ke file, dipulihkan dari file, atau disalin langsung ke server lain lewat terowongan yang sama: pekerjaan yang selama ini membuat Anda harus keluar dari aplikasi.
Klien Database yang Berasumsi Ada Agen di Balik Kemudi
MySQL, PostgreSQL, dan MongoDB, terjangkau di jaringan privat, dengan pengaman menyala secara bawaan.
Koneksi MySQL, PostgreSQL, dan MongoDB
Simpan satu koneksi per database: host, port, pengguna, database yang dibuka, dan TLS bila server mewajibkannya. Database lokal Anda, yang staging, dan replika produksi semuanya tinggal di daftar yang sama, siap dipilih alih-alih diketik ulang.
Jangkau Database Privat
Database di subnet privat bukan kasus khusus. Alihkan koneksinya lewat terowongan SSH atau sesi penerusan port AWS SSM dan AgentsRoom membukanya untuk Anda, memakai ulang koneksi SSH dan SSM yang sudah Anda simpan di aplikasi.
Baca-Saja secara Bawaan
Koneksi baru hanya bisa membaca dan tidak lebih. Kueri mengembalikan baris, pernyataan yang akan mengubah data ditolak. Tidak ada yang perlu ingat menyalakan mode aman, karena mode aman adalah tempat setiap koneksi bermula.
Dua Kunci Sebelum Sebuah Penulisan
Menulis butuh dua tindakan yang disengaja, bukan satu. Koneksinya harus dibuat bisa ditulis, dan operasinya sendiri harus dikonfirmasi secara eksplisit. Satu klik ceroboh tidak bisa berlanjut menjadi UPDATE tanpa klausa WHERE.
Satu Pernyataan per Panggilan
Setiap panggilan membawa tepat satu pernyataan. Apa pun yang ditumpuk di balik titik koma ditolak alih-alih dieksekusi, jadi pembacaan yang terlihat seperti pembacaan tidak bisa menyelundupkan pernyataan kedua. Di atas itu, set hasil dibatasi.
Produksi Selalu Ditandai
Tandai sebuah koneksi sebagai produksi dan konfirmasinya menjadi lebih ketat. Database yang penting berhenti terlihat persis seperti salinan lokal, baik bagi Anda di penghujung hari yang panjang maupun bagi agen yang sedang menyelesaikan daftar tugas.
Koneksi Anda, di Setiap Mesin
Koneksi yang disimpan di mesin kantor sudah ada di laptop: nama, host, port, pengguna, database bawaan, dan terowongan yang dilaluinya. Satu-satunya yang tertinggal adalah kata sandi, terenkripsi di mesin tempat Anda mengetiknya, jadi setiap mesin menanyakannya sekali.
Ekspor, Impor, Salin
Tuang sebuah database ke file .sql, muat file seperti itu ke dalam sebuah database, atau salin satu database langsung ke database lain. Tujuannya dicadangkan sebelum ditimpa, dan menggantinya sepenuhnya adalah keputusan tersendiri yang dikonfirmasi terpisah.
Agen Menjalankan Kueri ke Database, Mereka Tidak Pernah Memegang Kata Sandinya
Kredensial database Anda disimpan oleh AgentsRoom, bukan dibagikan. Sebuah agen meminta menjalankan kueri terhadap koneksi yang ia kenal lewat nama, aplikasi membuka koneksinya, menjalankan pernyataannya, dan mengembalikan barisnya. Kata sandi tidak pernah menjadi bagian dari apa yang diterima agen, tidak pernah menjadi bagian dari kueri yang ia tulis, dan tidak pernah menjadi bagian dari percakapan yang ia simpan.
Aturan baca-saja adalah separuh lainnya, dan bagi sebuah agen itu bukan pengaturan bawaan yang bisa ia hindari dengan berargumen. Alat yang dipakai agen untuk menjalankan kueri menolak apa pun selain pembacaan, apa pun yang diizinkan koneksi itu. Membuat sebuah koneksi bisa ditulis membuka penulisan untuk Anda, di konsol, tempat setiap penulisan meminta konfirmasi eksplisit yang sengaja dibuat lebih sulit diberikan ketika koneksinya ditandai sebagai produksi. Hasil terburuk dari agen yang menjalankan kueri buruk tetap berupa jawaban yang salah, bukan tabel yang hilang.
Aturan satu pernyataan menutup celah klasik. Panggilan yang membawa satu pernyataan tidak bisa diperpanjang dengan titik koma dan pernyataan kedua, jadi kueri yang terbaca tidak berbahaya saat ditinjau tidak bisa melakukan hal lain saat dieksekusi. Digabung dengan set hasil yang dibatasi, sebuah kesalahan tetap menjadi kesalahan alih-alih berubah menjadi ekspor data.
Tiga mesin database, dan kami sebutkan juga yang belum ada
MySQL dan MariaDB, PostgreSQL, dan MongoDB. Masing-masing punya driver sendiri, bukan lapisan penerjemah, karena ketiganya memang benar-benar berbeda: satu sesi PostgreSQL terikat pada satu database, MongoDB menerima kueri dan bukan SQL, dan setiap ekspor menjalankan perkakas bawaan mesin database itu sendiri. Ketiganya menjangkau server secara langsung, atau lewat terowongan SSH atau sesi penerusan port AWS SSM ketika server itu tidak terekspos ke internet terbuka.
SQL Server, Oracle, SQLite, Redis, dan yang lainnya tidak didukung. Anda berhak tahu itu sebelum mengunduh, bukan sesudahnya. Mesin database mana yang menyusul ditentukan oleh apa yang diminta orang, jadi kalau milik Anda belum ada, sebutkan yang mana di backlog publik dan permintaan itu akan dihitung.
Minta mesin database AndaPindahkan sebuah database, bukan cuma membacanya
Ekspor sebuah database ke sebuah file. Impor sebuah file ke dalam database. Atau salin satu database langsung ke database lain, termasuk lewat terowongan SSH atau sesi AWS SSM yang sudah Anda simpan. Setiap mesin database menjalankan perkakas resminya sendiri dan menulis ke disk secara mengalir, jadi database berukuran beberapa gigabyte menjadi sebuah bilah kemajuan, bukan sebuah crash.
Perkakas itu datang bersama databasenya, bukan bersama AgentsRoom: mysqldump dan mysql, pg_dump dan psql, mongodump dan mongorestore. Ketika perkakas itu tidak ada, aplikasi menyebut persis yang mana dan membiarkan Anda menunjuk folder tempatnya berada, sebagaimana seharusnya sebuah klien database: dijalankan dari Dock atau dari menu Start, sebuah aplikasi hanya melihat PATH seadanya dan kalau tidak akan menyatakan perkakas itu hilang di mesin yang sebenarnya punya.
Di penyalinanlah satu klik yang keliru memakan satu hari kerja, jadi bagian itu dibangun mengelilingi kemungkinan tersebut, bukan mengelilingi jalur yang mulus.
- Koneksi baca-saja menolak impor sejak awal, sebelum apa pun dibuka.
- Database tujuan dicadangkan ke file pilihan Anda sebelum satu pernyataan pun dijalankan.
- Konfirmasinya menyebut nama koneksi dan nama database, dan bicara lebih keras ketika koneksinya ditandai sebagai produksi.
- Menghapus lalu membuat ulang database tujuan adalah opsi tersendiri, dan pada koneksi produksi Anda harus mengetik ulang nama database itu.
Dari Database Privat Menjadi Sebuah Jawaban
Simpan koneksinya, alihkan rutenya, lalu jalankan kuerinya sendiri atau biarkan agen yang melakukannya.
Simpan koneksinya
Tambahkan databasenya: host, port, pengguna, nama database, dan TLS bila server memintanya. Beri nama yang akan Anda kenali nanti, dan tandai sebagai produksi jika memang itu adanya.
Alihkan rutenya jika privat
Jika database tidak bisa dijangkau langsung, arahkan koneksinya ke terowongan SSH atau sesi penerusan port AWS SSM yang dibangun dari koneksi yang sudah tersimpan di AgentsRoom. Database di subnet privat menjadi terjangkau tanpa perlu mengeksposnya ke publik.
Jalankan kuerinya, atau biarkan agen yang menjalankan
Jalankan pernyataan Anda dari aplikasi, atau biarkan sebuah agen menjalankannya lewat MCP. Baca-saja sampai Anda mengubahnya, satu pernyataan per panggilan, set hasil dibatasi, dan sebuah konfirmasi eksplisit berdiri di antara setiap penulisan dan data Anda.
Saat Sebuah Agen Butuh Baris Data yang Sebenarnya
Momen ketika membaca data produksi adalah jalan terpendek menuju perbaikan.
Debug dengan data nyata
Bug itu hanya muncul untuk segelintir akun. Biarkan agen membaca baris-baris itu dan ia menemukan nilai yang merusak logikanya, alih-alih menawarkan tiga teori tentang seperti apa datanya.
Database yang tidak publik
Database tinggal di subnet privat tanpa endpoint publik. Alihkan koneksinya lewat terowongan SSH atau sesi AWS SSM yang dibangun dari koneksi tersimpan Anda, lalu jalankan kueri tanpa membuka satu port pun ke internet.
Biarkan agen memeriksa, bukan menebak
Sebelum menulis sebuah migrasi atau sebuah kueri, agen bisa melihat apa yang benar-benar tersimpan. Ia membaca, ia melapor, dan ia tidak pernah mendapat kemampuan mengubah apa pun selagi melakukannya.
Produksi, tanpa risiko penulisan
Membaca produksi sering kali perlu, menulis ke sana hampir tidak pernah perlu di tengah sebuah tugas. Tandai koneksinya sebagai produksi, jaga tetap baca-saja, dan perbedaan antara menyelidiki dan merusak berhenti bergantung pada ada tidaknya orang yang memperhatikan.
Segarkan staging dengan data nyata
Bug itu hanya bisa direproduksi pada baris data yang nyata. Salin databasenya ke server staging Anda lewat terowongan yang sudah tersimpan, dengan isi lama di sana dicadangkan lebih dulu.
Buka laptop, semuanya sudah ada
Koneksi Anda mengikuti akun Anda: host yang sama, terowongan yang sama, penanda baca-saja dan produksi yang sama. Tiap mesin menanyakan kata sandi sekali, karena justru bagian itulah yang tidak pernah keluar dari mesin tempat kata sandi itu diketik.
Bagaimana agen saya menjalankan kueri ke database?
Lewat AgentsRoom MCP, dengan empat alat. db_list mengembalikan koneksi tersimpan Anda beserta metadatanya, db_schema menelusuri skema, tabel, dan kolomnya tanpa satu baris SQL pun, db_query menjalankan satu pernyataan dan mengembalikan barisnya, dan db_connection_new mengusulkan database yang belum Anda simpan. AgentsRoom yang membuka koneksinya, termasuk terowongan SSH atau sesi AWS SSM di depannya bila ada. Yang kembali ke agen adalah set hasil, tidak pernah sebuah kredensial.
db_query bersifat baca-saja, apa pun yang diizinkan koneksinya. Membuat sebuah koneksi bisa ditulis membuka penulisan untuk Anda, di konsol, tempat setiap penulisan dikonfirmasi secara eksplisit dan tempat koneksi yang ditandai sebagai produksi menyatakannya dengan lantang. Itu tidak membukanya untuk sebuah agen: aturan baca-saja untuk db_query hidup di aplikasi desktop alih-alih di proses MCP, jadi aturan itu tetap berlaku bahkan jika agen dibujuk untuk meminta hal lain. Anda tidak butuh kata sandi untuk menjalankan sebuah DROP, dan karena itulah pengamannya duduk pada pernyataannya, bukan hanya pada kredensialnya.
Batas yang sama berlaku untuk mendaftarkan sebuah database. db_connection_new membuka formulir pembuatan yang terisi awal dengan host, pengguna, dan koneksi SSH atau AWS SSM yang seharusnya dipakai untuk menjangkaunya, lalu Anda meninjaunya, mengetik kata sandinya, dan menyimpan. Tidak ada yang tersimpan sampai Anda melakukannya. Agen mendapat apa yang ia butuhkan untuk menalar tentang data Anda, dan tak satu pun cara yang biasanya membuat akses itu berubah menjadi insiden tersedia baginya.
Jelajahi AgentsRoom MCPFAQ
Database apa saja yang didukung?
MySQL dan MariaDB, PostgreSQL, dan MongoDB. Masing-masing punya driver sendiri, dan masing-masing bisa dijangkau secara langsung atau lewat terowongan SSH atau sesi penerusan port AWS SSM. SQL Server, Oracle, SQLite, dan sisanya belum didukung hari ini. Jika Anda butuh salah satunya, mintalah di backlog publik: daftarnya tumbuh mengikuti apa yang benar-benar diminta orang.
Bisakah agen AI menulis ke database saya?
Tidak. Alat MCP yang dipakai agen untuk menjalankan kueri, db_query, bersifat baca-saja, apa pun yang diizinkan koneksinya: sebuah SELECT, SHOW, atau EXPLAIN lolos, begitu pula find atau aggregate di MongoDB, sementara apa pun yang akan mengubah data ditolak. Membuat sebuah koneksi bisa ditulis membuka penulisan untuk Anda di konsol, tempat setiap penulisan dikonfirmasi secara eksplisit, bukan untuk sebuah agen. Pengamannya duduk pada pernyataannya alih-alih pada kata sandinya, karena kata sandi bukan yang dibutuhkan untuk menjalankan sebuah DROP.
Bagaimana cara menjangkau database di subnet privat?
Alihkan koneksinya lewat terowongan SSH atau sesi penerusan port AWS SSM, yang dibangun dari koneksi SSH dan SSM yang sudah Anda simpan di AgentsRoom. Aplikasi membuka terowongan atau sesinya dan menyambungkan database lewat jalur itu, sehingga database tetap tidak terjangkau dari internet publik.
Apakah agen saya melihat kata sandi database?
Tidak. Agen menjalankan kueri lewat MCP dengan menyebut sebuah koneksi. AgentsRoom yang memegang kredensialnya dan menjalankan pernyataannya sendiri, jadi kata sandi tidak pernah dikembalikan ke agen, tidak pernah ditulis ke dalam kueri, dan tidak pernah menjadi bagian dari percakapan.
Bisakah sebuah agen menjalankan beberapa pernyataan sekaligus?
Tidak. Satu panggilan membawa tepat satu pernyataan. Apa pun yang ditumpuk di balik titik koma ditolak alih-alih dieksekusi, yang menghapus cara tertua untuk menyembunyikan penulisan di dalam sesuatu yang terlihat seperti pembacaan.
Apa yang berubah kalau sebuah koneksi ditandai sebagai produksi?
Konfirmasi yang diperlukan sebelum penulisan menjadi lebih ketat. Database yang penting berhenti berperilaku seperti salinan lokal, dan itulah yang Anda inginkan di penghujung hari yang panjang, dan lebih Anda inginkan lagi dari agen yang sedang menyelesaikan daftar tugas.
Apa yang terjadi dengan kueri yang mengembalikan sangat banyak baris?
Set hasil dibatasi. Kueri yang akan mengembalikan tabel raksasa kembali dalam keadaan terpotong alih-alih membanjiri jendela atau konteks agen, jadi SELECT yang lebar tetap menjadi ketidaknyamanan, bukan ekspor data Anda.
Bisakah sebuah agen menambahkan koneksi database?
Ia bisa mengusulkan satu, tidak pernah menyimpannya. db_connection_new membuka formulir pembuatan yang terisi awal dengan host, port, pengguna, dan koneksi SSH atau AWS SSM yang seharusnya dipakai untuk menjangkau database itu, lalu Anda meninjaunya, mengetik kata sandinya, dan menyimpan. Tidak ada yang tersimpan sampai Anda melakukannya, dan agen tidak pernah memberikan sebuah kredensial.
Bagaimana sebuah agen mempelajari skema saya?
Dengan db_schema, yang menjelajahi koneksi tersimpan tanpa SQL sama sekali. Dipanggil tanpa argumen, ia mendaftar skemanya; dengan sebuah database, ia mendaftar tabel dan view-nya; dengan sebuah tabel, ia mengembalikan kolomnya, tipenya, apakah boleh null, kuncinya, dan nilai bawaannya. Cara ini lebih murah dan lebih aman daripada menyuruh agen menjalankan kueri ke information_schema dengan tangan.
Apakah koneksi database saya tersinkron di antara mesin-mesin saya?
Koneksinya ya, kata sandinya tidak. Nama, host, port, pengguna, database bawaan, cakupan, penanda baca-saja dan produksi, serta terowongan SSH atau SSM yang dilaluinya ikut ke akun Anda : koneksi yang disimpan di satu mesin muncul di mesin lain alih-alih harus diketik ulang. Kata sandinya tetap terenkripsi di keychain mesin tempat Anda mengetiknya dan tidak pernah dikirim ke kami, dan karena itulah koneksi yang datang dari mesin lain ditandai sebagai masih menunggu kata sandinya sebelum bisa dibuka.
Bisakah saya mengekspor sebuah database dan mengimpornya di tempat lain?
Bisa. Anda dapat mengekspor sebuah database ke sebuah file, mengimpor file itu kembali ke dalam sebuah database, atau menyalin satu database langsung ke database lain, termasuk lewat terowongan SSH atau SSM yang sudah Anda simpan. Setiap mesin database menjalankan perkakas resminya sendiri (mysqldump dan mysql, pg_dump dan psql, mongodump dan mongorestore), yang datang bersama databasenya dan bukan bersama AgentsRoom: kalau tidak ditemukan, aplikasi meminta Anda menunjukkan foldernya. Penyalinan hanya berjalan antara dua koneksi dengan mesin database yang sama, sebab sebuah dump hanya bisa dipulihkan ke mesin yang menghasilkannya. Impor ditolak pada koneksi baca-saja, database tujuan dicadangkan ke file pilihan Anda sebelum apa pun ditulis ke sana, dan menimpa database tujuan adalah opsi tersendiri yang konfirmasinya menyebut nama database itu.
Anda mungkin juga suka
RDS lewat AWS SSM
Jangkau instance Amazon RDS yang tidak punya endpoint publik, dari mesin Anda sendiri, lewat aws ssm start-session dan dokumen AWS-StartPortForwardingSessionToRemoteHost. Tidak ada bastion yang harus dirawat, tidak ada VPN, tidak ada aturan SSH masuk. AgentsRoom membuka sesinya pada sebuah port loopback dan menyambungkan klien databasenya lewat jalur itu. MySQL, PostgreSQL, dan MongoDB, jadi RDS MySQL, RDS PostgreSQL, Aurora, dan DocumentDB.
Koneksi SSH
Simpan koneksi SSH-mu, buka terminal SSH bawaan, dan jalankan Claude Code, Codex, atau Antigravity CLI langsung di server jarak jauh atau VPS-mu. Autentikasi dengan kunci SSH atau kata sandi, profil koneksi per proyek, tanpa perlu klien SSH terpisah.
Pengelola Rahasia
Simpan kunci API, token, dan kata sandi di keychain sistem operasi Anda, rujuk sebagai {{secret:NAME}} di perintah dev dan lingkungan agen, lalu biarkan AgentsRoom menggantinya dengan nilai asli saat peluncuran. Agen melihat namanya, tidak pernah nilainya, dan tidak ada yang disinkronkan ke server.
Terminal Dev
Pengelola terminal dan peluncur proses per proyek. Jalankan backend, frontend, dan worker dengan satu klik, secara lokal atau di server jarak jauh.
AgentsRoom MCP
Server MCP yang membiarkan agen Anda mengemudikan AgentsRoom itu sendiri: proyek, terminal, backlog, dan koneksi, lengkap dengan pengaman yang menyertainya.
Beri Agen Anda Datanya, Bukan Kunci Anda
Unduh AgentsRoom, simpan koneksi MySQL, PostgreSQL, dan MongoDB Anda, jangkau lewat terowongan SSH atau sesi AWS SSM, dan biarkan agen Anda menjalankan kueri baca-saja.
Aplikasi pendamping: pantau agen Anda saat bepergian
Gunakan Claude, Codex, Antigravity CLI, atau penyedia AI lainnya.
Kirim bug dan permintaan langsung ke backlog publik Anda.
Sekilas AgentsRoom dalam aksi.