1. Pengantar
Untuk memberi agen AI—seperti Antigravity CLI—akses yang aman dan terstruktur ke database Anda, Anda dapat mengintegrasikan AlloyDB Omni dengan MCP Toolbox for Databases.
AlloyDB Omni adalah edisi AlloyDB untuk PostgreSQL dalam container yang dapat didownload dan dirancang untuk berjalan di mana saja—di infrastruktur lokal, di workstation developer, di edge, atau di cloud—sekaligus memberikan performa dan kompatibilitas PostgreSQL tingkat perusahaan.
MCP Toolbox for Databases adalah server open source dari Google yang mengimplementasikan Model Context Protocol (MCP) untuk mempermudah, mempercepat, dan mengamankan pembuatan alat AI generatif yang berinteraksi dengan database. Alat ini berada di antara framework orkestrasi agen dan database Anda, serta menyediakan kemampuan berikut:
- Pengembangan yang disederhanakan: Alat database bawaan atau kustom yang terhubung ke agen Anda dengan konfigurasi minimal dan dapat digunakan kembali di beberapa agen atau framework.
- Performa yang lebih baik: Praktik terbaik bawaan seperti penggabungan koneksi dan pengelolaan siklus proses.
- Keamanan yang ditingkatkan: Pengelolaan kredensial dan autentikasi terpusat sehingga agen tidak memerlukan kredensial database mentah.
- Kemampuan observasi menyeluruh: Metrik dan pelacakan siap pakai dengan dukungan bawaan untuk OpenTelemetry.
Di akhir codelab ini, Anda akan memiliki container AlloyDB Omni yang berjalan dan diisi dengan data e-commerce contoh, server MCP Toolbox yang mengekspos 31 alat administrasi dan kueri AlloyDB Omni bawaan, serta agen Antigravity CLI (agy) yang dikonfigurasi dan mampu memeriksa skema, menjalankan kueri SQL, menganalisis rencana kueri, dan mendiagnosis kondisi database menggunakan perintah bahasa alami.

Prasyarat
- Akses ke project Google Cloud dan Cloud Shell dari konsol Google Cloud, atau workstation Linux.
- Docker diinstal dan berjalan.
- Klien PostgreSQL
psqltelah diinstal. curldanjqdiinstal untuk menyiapkan Antigravity CLI dan MCP Toolbox.
Yang akan Anda pelajari
- Cara men-deploy dan menjalankan container server database AlloyDB Omni menggunakan Docker.
- Cara membuat tabel, data, dan indeks contoh di AlloyDB Omni.
- Cara mendownload, mengonfigurasi, dan memulai MCP Toolbox for Databases dengan set alat
alloydb-omnibawaan. - Cara mengonfigurasi Antigravity CLI sebagai klien MCP untuk terhubung ke server MCP Toolbox.
- Cara menggunakan perintah bahasa alami di Antigravity CLI untuk memeriksa kondisi database, menjelajahi skema, menjalankan kueri SQL, menganalisis rencana kueri, dan melakukan diagnostik pemeliharaan.
Yang Anda butuhkan
- Lingkungan terminal yang berfungsi dengan Docker,
psql,curl, danjq. Anda dapat menggunakan Google Cloud Shell, yang telah diinstal sebelumnya dengan alat ini.
2. Penyiapan dan persyaratan
Penyiapan project
Membuat project Google Cloud
- Di Konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
- Pastikan penagihan diaktifkan untuk project Google Cloud Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada suatu project.
Mulai Cloud Shell
Meskipun Anda dapat menjalankan AlloyDB Omni dan MCP Toolbox secara lokal di laptop, dalam codelab ini, Anda dapat menggunakan Google Cloud Shell, lingkungan command line yang berjalan di cloud dan telah dilengkapi dengan Docker, psql, curl, dan jq.

- Buka Konsol Google Cloud dan klik Activate Cloud Shell di toolbar kanan atas.Anda juga dapat membuka Cloud Shell dengan salah satu cara berikut:
- Jika Anda menggunakan Konsol Google Cloud, tekan
G, laluS. - Buka Cloud Shell secara langsung.
- Jika Anda menggunakan Konsol Google Cloud, tekan
Biasanya, perlu waktu beberapa saat untuk menyediakan dan terhubung ke lingkungan. Setelah operasi ini selesai, Anda akan melihat tampilan yang mirip dengan berikut ini:

3. Menyiapkan dan menjalankan server database AlloyDB Omni
Di bagian ini, Anda akan mengambil dan menjalankan container Docker AlloyDB Omni dan mengisinya dengan data e-commerce sampel untuk pengujian.
Memulai server database AlloyDB Omni
- Tentukan variabel lingkungan untuk host, port, database, pengguna, dan sandi yang dihasilkan AlloyDB Omni:
export ALLOYDB_OMNI_HOST="127.0.0.1" export ALLOYDB_OMNI_PORT="5432" export ALLOYDB_OMNI_DATABASE="postgres" export ALLOYDB_OMNI_USER="postgres" export ALLOYDB_OMNI_PASSWORD="$(openssl rand -hex 8)@1aA" echo "Your generated AlloyDB Omni postgres password is: $ALLOYDB_OMNI_PASSWORD" - Mulai container AlloyDB Omni dalam mode terpisah menggunakan Docker:
docker run --name alloydbomni \ -e POSTGRES_PASSWORD=$ALLOYDB_OMNI_PASSWORD \ -p $ALLOYDB_OMNI_PORT:$ALLOYDB_OMNI_PORT \ -d google/alloydbomni:latest - Pastikan container berjalan dan Anda dapat terhubung ke server AlloyDB Omni menggunakan
psql:docker ps -a until docker exec alloydbomni pg_isready -U "$ALLOYDB_OMNI_USER" -d "$ALLOYDB_OMNI_DATABASE"; do sleep 2; done PGPASSWORD=$ALLOYDB_OMNI_PASSWORD psql -h $ALLOYDB_OMNI_HOST -p $ALLOYDB_OMNI_PORT -U $ALLOYDB_OMNI_USER -d $ALLOYDB_OMNI_DATABASE -c "SELECT 1;"
Membuat data sampel untuk pengujian
Buat tabel contoh categories, products, customers, dan orders, sisipkan data pengujian, dan buat indeks agar Anda dapat menguji pemeriksaan skema, kueri SQL, dan rencana eksekusi kueri melalui MCP Toolbox:
PGPASSWORD="$ALLOYDB_OMNI_PASSWORD" psql -h $ALLOYDB_OMNI_HOST -p $ALLOYDB_OMNI_PORT -U $ALLOYDB_OMNI_USER -d $ALLOYDB_OMNI_DATABASE << 'EOF'
CREATE TABLE IF NOT EXISTS categories (
category_id SERIAL PRIMARY KEY,
name VARCHAR(50) UNIQUE NOT NULL
);
CREATE TABLE IF NOT EXISTS products (
product_id SERIAL PRIMARY KEY,
product_name VARCHAR(100) UNIQUE NOT NULL,
category VARCHAR(50) NOT NULL,
price NUMERIC(10, 2) NOT NULL,
stock INT DEFAULT 0
);
CREATE TABLE IF NOT EXISTS customers (
customer_id SERIAL PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(100) UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS orders (
order_id SERIAL PRIMARY KEY,
customer_id INT REFERENCES customers(customer_id),
order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
total_amount NUMERIC(10, 2)
);
-- Insert sample rows
INSERT INTO categories (name) VALUES
('Smartphones'),
('Laptops'),
('Audio')
ON CONFLICT DO NOTHING;
INSERT INTO products (product_name, category, price, stock) VALUES
('Pixel 9 Pro', 'Smartphones', 999.00, 50),
('MacBook Pro M3', 'Laptops', 1999.00, 20),
('ThinkPad X1 Carbon', 'Laptops', 1450.00, 35),
('Dell XPS 15', 'Laptops', 1700.00, 15),
('Bose QuietComfort', 'Audio', 349.00, 100)
ON CONFLICT DO NOTHING;
INSERT INTO customers (first_name, last_name, email) VALUES
('Ada', 'Lovelace', 'ada@example.com'),
('Alan', 'Turing', 'alan@example.com'),
('Grace', 'Hopper', 'grace@example.com')
ON CONFLICT DO NOTHING;
INSERT INTO orders (order_id, customer_id, total_amount, order_date) VALUES
(1, 1, 999.00, pg_catalog.now() - INTERVAL '7 months'),
(2, 2, 349.00, pg_catalog.now() - INTERVAL '1 month')
ON CONFLICT DO NOTHING;
CREATE INDEX IF NOT EXISTS idx_products_category ON products(category);
CREATE INDEX IF NOT EXISTS idx_orders_customer ON orders(customer_id);
EOF
4. Memulai server MCP Toolbox
Di bagian ini, Anda akan mendownload biner MCP Toolbox, mengonfigurasi definisi alat AlloyDB Omni bawaan, dan memulai server MCP Toolbox.
Mendownload MCP Toolbox
- Buat direktori untuk MCP Toolbox dan download biner
toolbox:mkdir -p ~/mcp/tools cd ~/mcp curl -L -O https://storage.googleapis.com/genai-toolbox/v0.31.0/linux/amd64/toolbox chmod +x toolbox ./toolbox --version
Mengonfigurasi dan memulai server MCP Toolbox
- Download konfigurasi alat
alloydb-omni.yamlbawaan dan mulai server MCP Toolbox di port5000(menggunakan variabel lingkunganALLOYDB_OMNI_*yang diekspor sebelumnya): Konfigurasicurl -sL --create-dirs -o "tools/alloydb-omni.yaml" "https://raw.githubusercontent.com/googleapis/mcp-toolbox/v0.31.0/internal/prebuiltconfigs/tools/alloydb-omni.yaml" # Remove the trailing group definition block and YAML document separator for --config-folder compatibility sed -i '/^kind: group/,$d' tools/alloydb-omni.yaml sed -i '${/---/d;}' tools/alloydb-omni.yaml ./toolbox --config-folder ./tools/ --port 5000 --address 127.0.0.1alloydb-omni.yamlmenyediakan 31 alat bawaan, termasuk alat utama yang ditunjukkan dalam codelab ini:execute_sqlget_query_plandatabase_overviewlist_active_querieslist_tables,list_indexes,list_views,list_triggerslist_top_bloated_tables,list_locks,list_autovacuum_configurations,list_invalid_indexes
alloydb-omni.yamldi GitHub. - Di tab terminal baru, verifikasi bahwa server MCP Toolbox berjalan dan mengekspos alat Anda melalui endpoint
/mcpJSON-RPC:curl -X POST http://localhost:5000/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}'
5. Mengonfigurasi klien MCP (Antigravity CLI)
Di bagian ini, Anda akan menginstal Antigravity CLI (agy) dan mengonfigurasinya untuk terhubung ke server MCP Toolbox Anda.
Menginstal Antigravity CLI
- Jika belum diinstal, download dan jalankan penginstal Antigravity CLI (
agy) dan verifikasi versinya:curl -fsSL https://antigravity.google/cli/install.sh -o /tmp/install.sh bash /tmp/install.sh rm -f /tmp/install.sh # If prompted by the installer, add ~/.local/bin to your PATH: export PATH="$HOME/.local/bin:$PATH" # Verify the installation agy --version
Mengonfigurasi Antigravity CLI
Tambahkan entri server MCP Toolbox ke file konfigurasi MCP klien Anda (seperti ~/.gemini/config/mcp_config.json untuk Antigravity CLI, .cursor/mcp.json, .vscode/mcp.json, claude_desktop_config.json, atau .mcp.json untuk Claude Code).
- Untuk menghubungkan Antigravity CLI ke server HTTP MCP Toolbox yang berjalan di port
5000, jalankanagy mcp adddan verifikasi entri denganagy mcp list: Tindakan ini akan menulis konfigurasi serverexport MCP_SERVER="127.0.0.1" export MCP_PORT="5000" agy mcp add alloydb-omni "http://${MCP_SERVER}:${MCP_PORT}/mcp" agy mcp listalloydb-omnike~/.gemini/config/mcp_config.json:{ "mcpServers": { "alloydb-omni": { "url": "http://127.0.0.1:5000/mcp" } } }
Memverifikasi konfigurasi
- Mulai Antigravity CLI:
Jika ini pertama kalinya Anda meluncurkanagyagy, ikuti perintah di layar untuk login (dengan Google OAuth atau project cloud Google) dan pilih Yes, I trust this folder saat ditanya apakah akan memercayai direktori saat ini. - Di prompt Antigravity CLI, masukkan
/mcpuntuk membuka panel MCP Servers dan verifikasi bahwaalloydb-omniterhubung: Outputnya mirip dengan berikut ini:/mcpMCP Servers Configured (~/.gemini/config/mcp_config.json) > ✓ alloydb-omni Tools: database_overview, execute_sql, get_column_cardinality, get_query_plan, list_active_queries, +26 more Keyboard: ↑/↓ Navigate enter Actions
- Tekan
Escuntuk menutup panel MCP Servers dan kembali ke prompt CLI Antigravity.
6. Menguji menggunakan kueri untuk AlloyDB Omni
Setelah Antigravity CLI terhubung ke instance AlloyDB Omni melalui MCP Toolbox, Anda dapat berinteraksi dengan database menggunakan perintah bahasa alami.
Menjalankan kueri ringkasan database
- Di prompt Antigravity CLI, minta ringkasan database saat ini:
Saat diminta untuk mengizinkan pemanggilan alat, pilih Ya (atau Ya, dan selalu izinkan dalam percakapan ini). Outputnya mirip dengan hal berikut ini:Give me an overview of the current database.> Give me an overview of the current database. ● alloydb-omni/database_overview(Database overview check) (ctrl+o to expand) Here is an overview of the current AlloyDB Omni database instance: ### Database Overview • Instance / Engine: PostgreSQL 17.9 (AlloyDB Omni) • Role: Primary (is_replica: false) • Uptime: ~7 hours, 57 minutes • Connected Database: postgres • Connected User: postgres • Connections: 11 current / 100 max (1 active, 11% used) ### Databases in Instance • postgres • alloydbadmin (~15.74 MB) • alloydbmetadata (~14.82 MB)
Contoh pengujian menurut kategori
Berikan perintah berikut kepada Antigravity CLI menggunakan bahasa alami. Agen akan otomatis memetakan setiap permintaan ke alat yang sesuai dalam toolset MCP AlloyDB Omni Anda:
1. Ringkasan dan kondisi database
Sasaran pengujian | Perintah bahasa alami | Alat dipanggil |
Pemeriksaan sistem |
|
|
Koneksi aktif |
|
|
Ekstensi yang diinstal |
|
|
Ekstensi yang tersedia |
|
|
2. Eksplorasi skema dan katalog
Sasaran pengujian | Perintah bahasa alami | Alat dipanggil |
Mencantumkan tabel |
|
|
Memeriksa indeks |
|
|
Menjelajahi tampilan |
|
|
Memeriksa pemicu tabel |
|
|
3. Pembuatan kueri dan pemfilteran data (execute_sql)
Sasaran pengujian | Perintah bahasa alami | Alat dipanggil |
Kueri gabungan |
|
|
Kueri gabungan |
|
|
Data yang tidak cocok |
|
|
4. Performa kueri dan rencana penjelasan (get_query_plan)
Sasaran pengujian | Perintah bahasa alami | Alat dipanggil |
Explain plan |
|
|
Verifikasi indeks |
|
|
5. Pemeliharaan dan diagnostik database
Sasaran pengujian | Perintah bahasa alami | Alat dipanggil |
Pembengkakan tabel |
|
|
Pertentangan kunci |
|
|
Setelan autovacuum |
|
|
Indeks tidak valid |
|
|
7. Pembersihan
Setelah Anda menyelesaikan codelab, bersihkan container lokal dan proses yang Anda mulai.
- Keluar dari Antigravity CLI dengan mengetik
/quit(atau menekanCtrl+Ddua kali). - Beralihlah ke tab terminal yang menjalankan server MCP Toolbox, lalu tekan
Ctrl+Cuntuk menghentikannya. - Hentikan dan hapus container Docker AlloyDB Omni:
docker stop alloydbomni docker rm alloydbomni
8. Selamat
Selamat, Anda telah menyelesaikan codelab. Anda berhasil men-deploy AlloyDB Omni dalam container, mengonfigurasi MCP Toolbox for Databases dengan toolset AlloyDB Omni bawaan, dan mengintegrasikannya dengan Antigravity CLI untuk membuat kueri dan mengelola database Anda menggunakan bahasa alami.
Yang telah Anda bahas
- Cara men-deploy dan memverifikasi container AlloyDB Omni menggunakan Docker.
- Cara mengisi tabel dan indeks sampel untuk menguji alur kerja agen.
- Cara mengonfigurasi dan menjalankan MCP Toolbox for Databases dengan konfigurasi alat
alloydb-omnibawaan. - Cara menghubungkan Antigravity CLI ke MCP Toolbox dan menjalankan perintah bahasa alami untuk penemuan skema, kueri SQL, analisis rencana kueri, dan diagnostik database.
Untuk informasi selengkapnya, lihat referensi berikut: