Blog

Akses database aman untuk Claude Code dan Codex lewat MCP

Beri Claude Code atau Codex akses database yang aman lewat MCP dengan pengguna terbatas, token yang bisa dicabut, dan endpoint read-only.

Untuk memberi Claude Code atau Codex akses aman ke datamu, buka lewat endpoint MCP yang memakai token pribadi yang bisa dicabut dan terikat ke pengguna terbatas, dan jangan pernah memberikan connection string database ke agent. Di Kanesh caranya tiga langkah: setel MCP_ENABLED=true, buat token untuk pengguna dengan peran sempit, lalu tempel endpoint ke konfigurasi agent. Tool MCP-nya read-only.

Kenapa tidak membagikan connection string

Kredensial database memberi semua yang bisa dilakukan perannya. Tidak ada aturan per koleksi, dan mencabutnya untuk satu agent berarti merotasinya untuk setiap layanan yang memakainya. Endpoint MCP di depan data memungkinkan kamu menentukan apa yang boleh dilihat agent, dan memutusnya tanpa menyentuh yang lain.

Langkah demi langkah

1. Buat pengguna terbatas

Sebagai owner, tambahkan anggota untuk agent. Beri peran Viewer, atau peran khusus dan kebijakan yang hanya mengizinkan membaca koleksi yang dibutuhkan agent. Kanesh mendukung hingga 20 peran khusus dan 50 kebijakan per workspace, plus override CRUD per koleksi. Lihat kontrol akses.

2. Nyalakan MCP

Jalankan Kanesh dengan variable ini:

MCP_ENABLED=true

Buka Settings → AI & MCP di Studio. Halaman itu menampilkan endpoint workspace dan snippet konfigurasi untuk Codex dan Claude Code.

3. Buat token

Masuk sebagai pengguna terbatas tadi dan buka Account → API tokens. Secret hanya ditampilkan sekali dan disimpan sebagai hash. Token punya masa berlaku dan bisa dicabut. Simpan secret di environment variable, bukan di file dalam repositorimu:

export KANESH_TOKEN=...

4. Konfigurasi agent

Untuk Codex, tambahkan endpoint ke konfigurasi MCP:

[mcp_servers.kanesh]
url = "http://127.0.0.1:8080/api/v1/workspaces/WORKSPACE_ID/mcp"
bearer_token_env_var = "KANESH_TOKEN"

Untuk Claude Code, salin snippet dari halaman Studio yang sama. Lalu minta agent memanggil get_workspace_schema dulu dan list_records setelahnya, untuk memastikan ia hanya melihat koleksi yang kamu maksud.

Yang bisa dan tidak bisa dilakukan agent

BisaTidak bisa
Membaca koleksi dan field yang boleh dibaca tokennyaMembuat, mengubah, atau menghapus record lewat MCP
Membaca lookup tersimpan dan index terkelolaMelihat koleksi di luar peran pengguna
Membaca halaman record terbatas dengan filter dan sortMengelola kredensial atau mengganti password

Checklist keamanan

  • Pakai pengguna khusus dan peran tersempit yang masih berfungsi.
  • Atur masa berlaku token, dan cabut token saat tugas selesai.
  • Simpan token di environment variable, jauh dari version control.
  • Pasang HTTPS di depan endpoint yang tidak berada di localhost.
  • Perlakukan isi record sebagai input tak tepercaya. Teks di dalam record bisa mencoba memberi perintah ke agent.
  • Tinjau sendiri setiap penulisan. Penulisan lewat REST dengan token yang sama, jadi putuskan dengan sadar apakah agent mendapat akses itu.

FAQ

Agent apa saja yang bisa dihubungkan ke Kanesh?

Codex dan Claude Code. Studio menampilkan konfigurasi siap pakai untuk keduanya di Settings → AI & MCP, dan keduanya memakai endpoint workspace dan token pribadi yang sama.

Bisakah agent mengubah data saya?

Tidak lewat MCP, karena ketiga tool-nya read-only. Namun token yang sama juga berfungsi di API REST, dan membawa izin pemiliknya. Kalau kamu hanya ingin akses baca di mana-mana, terbitkan token dari pengguna dengan peran Viewer.

Bagaimana kalau token bocor?

Cabut di Account → API tokens dan buat yang baru. Token disimpan sebagai hash dan punya masa berlaku, jadi token yang bocor hanya berlaku terbatas. Karena token hanya memiliki izin pengguna terbatas itu, dampaknya dibatasi pada apa yang bisa dibaca pengguna tersebut.

Langkah berikutnya

Mulai dari Memulai, lalu ikuti panduan MCP. Untuk melihat perbandingan dengan platform lain yang punya server MCP, baca Kanesh vs Directus.

Traktir kopi