Menggunakan AlloyDB Omni dengan MCP, Gemini CLI, dan agen lainnya

Dokumen ini menjelaskan cara menghubungkan instance AlloyDB Omni Anda ke berbagai agen yang mendukung Model Context Protocol (MCP).

Karena AlloyDB Omni kompatibel dengan PostgreSQL, Anda dapat menggunakan alat dan ekstensi yang dirancang untuk PostgreSQL.

Untuk penyiapan yang paling sederhana, gunakan ekstensi PostgreSQL khusus untuk Gemini CLI; ekstensi ini mengintegrasikan server MCP pokok langsung ke dalam ekstensi, sehingga Anda tidak perlu melakukan penyiapan server terpisah. Anda dapat mengonfigurasi Gemini Code Assist untuk menggunakan Gemini CLI, yang menawarkan manfaat penyiapan serupa di IDE Anda.

Atau, IDE dan agen lain yang mendukung MCP dapat terhubung melalui MCP Toolbox for Databases. Toolbox adalah server MCP open source yang dirancang untuk menghubungkan agen AI ke data Anda. Alat ini menangani tugas seperti autentikasi dan penggabungan koneksi, sehingga Anda dapat berinteraksi dengan data menggunakan bahasa natural langsung dari IDE.

Sebelum memulai

Sebelum Anda terhubung ke instance AlloyDB Omni, pastikan untuk melakukan hal berikut:

  1. Instal AlloyDB Omni untuk Kubernetes atau AlloyDB Omni untuk container dan miliki instance database yang berjalan.
  2. Buat atau gunakan kembali pengguna database. Siap untuk memasukkan nama pengguna dan sandi.

Menggunakan ekstensi Gemini CLI untuk PostgreSQL

Gemini CLI adalah agen AI open source yang dirancang untuk membantu alur kerja pengembangan dengan membantu coding, proses debug, eksplorasi data, dan pembuatan konten. Misinya adalah menyediakan antarmuka agentik untuk berinteraksi dengan layanan Data Cloud dan database open source populer.

Integrasi dengan Gemini CLI untuk AlloyDB Omni dilakukan melalui ekstensi PostgreSQL. Ekstensi ini menyediakan serangkaian alat untuk berinteraksi dengan PostgreSQL dan AlloyDB Omni sehingga Anda dapat mengelola database, menjalankan kueri, dan menjelajahi skema langsung dari Gemini CLI menggunakan perintah bahasa natural.

Contoh berikut menggunakan database ecommerce contoh dengan tabel berikut:

  • products: berisi informasi produk, termasuk product_id, product_name, category, dan price.
  • customers: menyimpan data pelanggan, seperti customer_id, first_name, last_name, dan email.
  • orders: menyimpan informasi pesanan, termasuk order_id, customer_id, dan order_date.

Alat berikut tersedia dalam ekstensi PostgreSQL:

Kategori Alat Contoh perintah bahasa alami
Operasi database execute_sql Tampilkan 10 produk termahal dalam kategori 'Laptop'.
get_query_plan Jelaskan rencana kueri untuk kueri yang menemukan semua pelanggan yang belum melakukan pemesanan dalam 6 bulan terakhir.
list_active_queries Kueri apa yang berjalan di database?
database_overview Berikan ringkasan database saat ini.
list_tables Tampilkan semua tabel dalam database saat ini.
list_views Apa saja tampilan yang tersedia?
list_schemas Mencantumkan semua skema.
list_triggers Tunjukkan pemicu di tabel pesanan.
list_available_extensions Apa saja ekstensi yang tersedia yang dapat saya instal?
list_installed_extensions Mencantumkan semua ekstensi yang diinstal.
list_indexes Mencantumkan semua indeks.
list_sequences Mencantumkan semua urutan.
Kesehatan dan pemeliharaan database list_autovacuum_configurations Tunjukkan konfigurasi autovacuum saat ini.
list_memory_configurations Apa konfigurasi memori saat ini?
list_top_bloated_tables Mencantumkan lima tabel yang paling membengkak.
list_replication_slots Menampilkan semua slot replikasi aktif.
list_invalid_indexes Periksa apakah ada indeks yang tidak valid dalam database ecommerce.
long_running_transactions Tampilkan transaksi yang berjalan lama.
list_locks Mencantumkan semua kunci.
replication_stats Tunjukkan statistik replikasi.

Anda dapat menggunakan ekstensi Gemini CLI untuk PostgreSQL dengan dua cara:

  • Alat command line mandiri
  • Terintegrasi ke dalam IDE Anda dengan Gemini Code Assist

Gemini CLI

  1. Instal Gemini CLI (versi 0.6.0 atau yang lebih baru).
  2. Instal ekstensi PostgreSQL untuk Gemini CLI dari repositori GitHub menggunakan perintah berikut:
    gemini extensions install https://github.com/gemini-cli-extensions/postgres
  3. Tetapkan variabel lingkungan untuk terhubung ke instance AlloyDB Omni Anda:
    export POSTGRES_HOST="DATABASE_HOST"
    export POSTGRES_PORT="DATABASE_PORT"
    export POSTGRES_DATABASE="DATABASE_NAME"
    export POSTGRES_USER="DATABASE_USER"
    export POSTGRES_PASSWORD="DATABASE_PASSWORD"
    

    Anda juga dapat memuat variabel ini dari file .env di direktori kerja Anda.

  4. Mulai Gemini CLI dalam mode interaktif:
    gemini
    CLI akan otomatis memuat ekstensi PostgreSQL dan alatnya, yang dapat Anda gunakan untuk berinteraksi dengan database.

Gemini Code Assist

Untuk menghindari konfigurasi server MCP secara manual, konfigurasi Gemini Code Assist agar menggunakan Gemini CLI.

  1. Instal dan konfigurasi Gemini CLI dan ekstensi postgres seperti yang dijelaskan di tab Gemini CLI.
  2. Konfigurasi Gemini Code Assist untuk menggunakan Gemini CLI.
  3. Mulai berinteraksi dengan instance AlloyDB Omni Anda menggunakan bahasa alami langsung dalam chat Gemini Code Assist.

Menghubungkan dengan IDE lain menggunakan MCP Toolbox for Databases

Bagian ini menjelaskan cara terhubung ke instance AlloyDB Omni dari berbagai agen menggunakan MCP Toolbox for Databases.

Menginstal MCP Toolbox for Databases

Untuk menghubungkan IDE Anda ke AlloyDB Omni, Anda harus menginstal MCP Toolbox for Databases, server open source yang menghubungkan agen AI ke data Anda.

  1. Download Toolbox versi terbaru sebagai biner. Pilih biner yang sesuai dengan sistem operasi (OS) dan arsitektur CPU Anda.

    linux/amd64

    curl -L -O https://storage.googleapis.com/genai-toolbox/v0.21.0/linux/amd64/toolbox

    darwin/arm64

    curl -L -O https://storage.googleapis.com/genai-toolbox/v0.21.0/darwin/arm64/toolbox

    darwin/amd64

    curl -L -O https://storage.googleapis.com/genai-toolbox/v0.21.0/darwin/amd64/toolbox

    windows/amd64

    curl -L -O https://storage.googleapis.com/genai-toolbox/v0.21.0/windows/amd64/toolbox.exe
  2. Jadikan biner sebagai file yang dapat dieksekusi.

    chmod +x toolbox
    
  3. Verifikasi penginstalannya.

    ./toolbox --version
    

Mengonfigurasi klien Anda

Pilih alat agen Anda dari opsi berikut:

Kursor

  1. Buat direktori .cursor di root project Anda jika belum ada.
  2. Buat file .cursor/mcp.json jika tidak ada, lalu buka.
  3. Tambahkan konfigurasi berikut, ganti variabel lingkungan dengan nilai Anda, lalu simpan.
{
  "mcpServers": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}
  1. Buka Kursor, lalu buka Setelan > Setelan Kursor > MCP. Status aktif berwarna hijau akan muncul saat server terhubung.

Windsurf

  1. Buka Windsurf dan buka asisten Cascade.
  2. Klik ikon MCP, lalu klik Configure untuk membuka file konfigurasi.
  3. Tambahkan konfigurasi berikut, ganti variabel lingkungan dengan nilai Anda, lalu simpan.
{
  "mcpServers": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}

Visual Studio Code (Copilot)

  1. Buka VS Code dan buat direktori .vscode di root project Anda jika belum ada.
  2. Buat file .vscode/mcp.json jika tidak ada, lalu buka.
  3. Tambahkan konfigurasi berikut, ganti variabel lingkungan dengan nilai Anda, lalu simpan.
{
  "servers": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}

Cline

  1. Buka ekstensi Cline di VS Code, lalu klik ikon MCP Servers.
  2. Klik Configure MCP Servers untuk membuka file konfigurasi.
  3. Tambahkan konfigurasi berikut, ganti variabel lingkungan dengan nilai Anda, lalu simpan.
{
  "mcpServers": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}
      
  1. Status aktif berwarna hijau akan muncul setelah server berhasil terhubung.

Claude desktop

  1. Buka Claude Desktop, lalu buka Settings.
  2. Di tab Developer, klik Edit Config untuk membuka file konfigurasi.
  3. Tambahkan konfigurasi, ganti variabel lingkungan dengan nilai Anda, lalu simpan.
{
  "mcpServers": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}
  1. Mulai ulang Claude Desktop.
  2. Layar chat baru menampilkan ikon palu (MCP) dengan server MCP baru.

Kode Claude

  1. Instal Claude Code.
  2. Buat file .mcp.json di root project Anda, jika tidak ada.
  3. Tambahkan konfigurasi, ganti variabel lingkungan dengan nilai Anda, lalu simpan.
{
  "mcpServers": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}
  1. Mulai ulang kode Claude untuk menerapkan konfigurasi baru.