1. Pengantar
Kenali AllStrides, platform pengelolaan acara full-stack untuk komunitas kebugaran. Meskipun kaya akan fitur, statusnya saat ini adalah "Khusus Lokal". Aplikasi ini mengandalkan database SQLite lokal dan eksekusi Node.js manual. Agar komunitas berkembang, AllStrides memerlukan skala, keandalan, dan keamanan Google Cloud.
Dalam codelab ini, Anda tidak akan melakukan migrasi tradisional. Sebagai gantinya, Anda akan berperan sebagai Arsitek Produk, menggunakan Gemini CLI sebagai partner agentik Anda. Dengan melengkapi Gemini dengan tiga server Model Context Protocol (MCP) Google Cloud, Anda akan mengizinkan AI untuk "menjangkau" dan berinteraksi langsung dengan layanan Google Cloud. Anda akan memulai dengan menggunakan MCP Pengetahuan Developer untuk mengidentifikasi database Google Cloud terbaik untuk aplikasi allstrides. Kemudian, Anda akan menggunakan MCP Cloud SQL untuk menyediakan instance database dan memindahkan data komunitas lokal Anda ke cloud dengan satu perintah. Terakhir, Anda akan menggunakan MCP Cloud Run untuk membuat container aplikasi, sehingga AllStrides dapat diakses secara global.

Prasyarat
- Pemahaman dasar tentang konsol Google Cloud
- Keterampilan dasar dalam antarmuka command line dan Cloud Shell
Yang akan Anda pelajari
- Cara men-deploy dan mengonfigurasi Gemini CLI agar berfungsi dengan MCP jarak jauh
- Cara menggunakan server MCP Development Knowledge
- Cara menggunakan server MCP jarak jauh Cloud SQL untuk memigrasikan data ke cloud
- Cara menggunakan server MCP jarak jauh Cloud Run untuk men-deploy aplikasi di cloud
- Cara menggunakan Gemini CLI di Google Cloud Shell
Yang Anda butuhkan
- Akun Google Cloud dan Project Google Cloud
- Browser web seperti Chrome yang mendukung Konsol Google Cloud dan Cloud Shell
2. Penyiapan dan Persyaratan
Penyiapan Project
- Login ke Konsol Google Cloud. Jika belum memiliki akun Gmail atau Google Workspace, Anda harus membuatnya.
Gunakan akun pribadi, bukan akun kantor atau sekolah.
- Buat project baru atau gunakan kembali project yang sudah ada. Untuk membuat project baru di Konsol Google Cloud, di header, klik tombol Pilih project yang akan membuka jendela pop-up.

Di jendela Select a project, tekan tombol New Project yang akan membuka kotak dialog untuk project baru.

Di kotak dialog, masukkan Nama project yang Anda inginkan dan pilih lokasi.

- Project name adalah nama tampilan untuk peserta project ini. Nama project tidak digunakan oleh Google API, dan dapat diubah kapan saja.
- Project ID bersifat unik di semua project Google Cloud dan tidak dapat diubah (tidak dapat diubah setelah ditetapkan). Konsol Google Cloud otomatis membuat ID unik, tetapi Anda dapat menyesuaikannya. Jika tidak menyukai ID yang dibuat, Anda dapat membuat ID acak lain atau memberikan ID Anda sendiri untuk memeriksa ketersediaannya. Di sebagian besar codelab, Anda harus merujuk project ID Anda, yang biasanya diidentifikasi dengan placeholder PROJECT_ID.
- Sebagai informasi, ada nilai ketiga, Project Number, yang digunakan oleh beberapa API. Pelajari lebih lanjut ketiga nilai ini di dokumentasi.
Aktifkan Penagihan
Menyiapkan akun penagihan pribadi
Jika menyiapkan penagihan menggunakan kredit Google Cloud, Anda dapat melewati langkah ini.
- Klik link ini dan login dengan Akun Google pribadi.
- Anda akan melihat sesuatu seperti ini:

- Klik tombol KLIK DI SINI UNTUK MENGAKSES KREDIT ANDA. Anda akan diarahkan ke halaman untuk menyiapkan profil penagihan. Jika Anda melihat layar pendaftaran uji coba gratis, klik batal dan lanjutkan untuk menautkan penagihan.

- Klik Confirm. Anda kini terhubung ke Akun Penagihan Uji Coba Google Cloud Platform.

Menyiapkan akun penagihan pribadi
Jika menyiapkan penagihan menggunakan kredit Google Cloud, Anda dapat melewati langkah ini.
Untuk menyiapkan akun penagihan pribadi, buka di sini untuk mengaktifkan penagihan di Cloud Console.
Beberapa Catatan:
- Menyelesaikan lab ini akan dikenai biaya kurang dari $3 USD untuk resource Cloud.
- Anda dapat mengikuti langkah-langkah di akhir lab ini untuk menghapus resource agar tidak dikenai biaya lebih lanjut.
- Pengguna baru memenuhi syarat untuk mengikuti program Uji Coba Gratis senilai$300 USD.
Mulai Cloud Shell
Meskipun Google Cloud dapat dioperasikan dari jarak jauh menggunakan laptop Anda, dalam codelab ini, Anda akan menggunakan Google Cloud Shell, lingkungan command line yang berjalan di Cloud.
Dari Google Cloud Console, klik ikon Cloud Shell di toolbar kanan atas:

Atau, Anda dapat menekan G, lalu S. Urutan ini akan mengaktifkan Cloud Shell jika Anda berada dalam Konsol Google Cloud atau menggunakan link ini.
Hanya perlu waktu beberapa saat untuk penyediaan dan terhubung ke lingkungan. Jika sudah selesai, Anda akan melihat tampilan seperti ini:

Mesin virtual ini berisi semua alat pengembangan yang Anda perlukan. Layanan ini menawarkan direktori beranda tetap sebesar 5 GB dan beroperasi di Google Cloud, sehingga sangat meningkatkan performa dan autentikasi jaringan. Semua pekerjaan Anda dalam codelab ini dapat dilakukan di browser. Anda tidak perlu menginstal apa pun.
3. Sebelum memulai
Aktifkan Basic API
Untuk menggunakan layanan database terkelola seperti Cloud SQL dan layanan lainnya untuk membangun dan men-deploy aplikasi Anda ke Cloud Run, Anda harus mengaktifkan API masing-masing di project Google Cloud Anda.
Bergantung pada pendekatan Anda, Anda dapat melewati langkah ini dan membiarkan Gemini CLI mengaktifkan semua API yang diperlukan nanti, tetapi Anda mungkin mengalami beberapa penundaan dan langkah berulang selama eksekusi dalam kasus tersebut.
Di dalam terminal Cloud Shell, pastikan project ID Anda sudah disiapkan:
gcloud config set project [YOUR-PROJECT-ID]
Tetapkan variabel lingkungan PROJECT_ID:
PROJECT_ID=$(gcloud config get-value project)
Aktifkan semua layanan yang diperlukan:
gcloud services enable sqladmin.googleapis.com \
aiplatform.googleapis.com \
secretmanager.googleapis.com \
artifactregistry.googleapis.com \
cloudbuild.googleapis.com \
run.googleapis.com \
containerregistry.googleapis.com
Output yang diharapkan:
student@cloudshell:~ (test-project-001-402417)$ PROJECT_ID=$(gcloud config get-value project)
Your active configuration is: [cloudshell-14650]
student@cloudshell:~ (test-project-001-402417)$
student@cloudshell:~ (test-project-001-402417)$ gcloud services enable sqladmin.googleapis.com \
aiplatform.googleapis.com \
secretmanager.googleapis.com \
artifactregistry.googleapis.com \
cloudbuild.googleapis.com \
run.googleapis.com \
containerregistry.googleapis.com
Operation "operations/acat.p2-812263612774-c2dbeef3-c4c1-4a7d-a4b2-b5380be65044" finished successfully.
Memberikan Izin ke Akun Layanan
Anda harus memberikan izin admin penyimpanan ke akun layanan Compute Engine default agar dapat membuat dan menyimpan image aplikasi. Seperti pada langkah sebelumnya, Anda memiliki opsi untuk mendelegasikannya ke Gemini CLI nanti selama eksekusi.
PROJECT_ID=$(gcloud config get-value project)
gcloud projects add-iam-policy-binding $PROJECT_ID --member=serviceAccount:$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")-compute@developer.gserviceaccount.com --role=roles/storage.admin
Aktifkan MCP Jarak Jauh
Layanan MCP jarak jauh harus diaktifkan secara eksplisit untuk setiap layanan dalam project. API ini dinonaktifkan secara default dan membantu mengatur akses API di tingkat project dan layanan.
Mari kita mulai dengan layanan MCP Pengetahuan Developer. Untuk mengaktifkan Developer Knowledge API dan layanan MCP jarak jauh, Anda harus menjalankan perintah gcloud berikut.
PROJECT_ID=$(gcloud config get-value project)
gcloud beta services mcp enable developerknowledge.googleapis.com --project=$PROJECT_ID
Setelah API dan MCP jarak jauh untuk Developer Knowledge diaktifkan, Anda dapat melanjutkan dan melakukan hal yang sama untuk layanan MCP jarak jauh Cloud SQL.
gcloud beta services mcp enable sqladmin.googleapis.com --project=$PROJECT_ID
Seperti semua MCP jarak jauh untuk database, akses dan izin MCP dipentaskan dengan memberikan akses terperinci di tingkat project ke API itu sendiri dan hanya akun utama (pengguna atau akun layanan) dengan peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin) yang dapat melakukannya.
Selain itu, hanya principal dengan peran Pengguna Alat MCP (roles/mcp.toolUser) yang dapat melakukan panggilan ke API MCP jarak jauh.
Misalnya, jika Anda tidak memiliki peran Admin Cloud SQL (roles/cloudsql.admin), Anda tidak akan dapat membuat, meng-clone, atau memperbarui instance apa pun dalam project.
Anda dapat membaca selengkapnya tentang peran dan izin yang diperlukan dalam dokumentasi.
Seperti yang dapat kita lihat, otorisasi bertahap dan terperinci melindungi kita dari serangan tidak sah meskipun endpoint MCP jarak jauh diaktifkan sehingga cukup aman untuk produksi kita.
MCP jarak jauh berikutnya yang akan kita aktifkan adalah untuk layanan Cloud Run. Pendekatan untuk pengaktifan dan akses MCP jarak jauh Cloud Run serupa dengan MCP jarak jauh Cloud SQL.
Aktifkan layanan MCP Cloud Run dengan perintah berikut.
gcloud beta services mcp enable run.googleapis.com --project=$PROJECT_ID
Terakhir, kita dapat memverifikasi semua MCP jarak jauh yang diaktifkan di project kita menggunakan perintah berikut.
gcloud beta services mcp list --project=$PROJECT_ID
Output yang diharapkan:
student@cloudshell:~ (test-project-001-402417)$ gcloud beta services mcp list --project=$PROJECT_ID NAME: services/developerknowledge.googleapis.com MCP_ENDPOINT: developerknowledge.googleapis.com NAME: services/run.googleapis.com MCP_ENDPOINT: run.googleapis.com/mcp NAME: services/sqladmin.googleapis.com MCP_ENDPOINT: sqladmin.googleapis.com/mcp
Sekarang setelah semua API dan layanan kami diaktifkan, kita perlu mengonfigurasi Gemini CLI.
4. Mengonfigurasi Gemini CLI
Lab ini dirancang untuk menggunakan Gemini CLI sebagai agen utama untuk melakukan sebagian besar tindakan dan langkah pertama adalah mengonfigurasinya agar dapat bekerja dengan server MCP jarak jauh. Sebaiknya gunakan juga Gemini CLI versi terbaru dan Gemini versi terbaru seperti Gemini-3-pro atau Gemini-3-flash (saat ini dalam pratinjau).
Jika Anda sudah memiliki Gemini CLI versi terbaru dan mengonfigurasinya untuk menggunakan model Gemini terbaru, Anda dapat melewati 2 langkah berikutnya dan langsung ke langkah 3.
1. Mendapatkan Kunci Gemini API
Untuk menggunakan model Gemini terbaru di Gemini CLI, Anda harus mengonfigurasinya dengan autentikasi kunci API. Kita bisa mendapatkan kunci API di Google AI Studio
- Buka Google AI Studio -> Get API key di browser Anda.
- Di sisi kanan layar, klik tombol
Create API key - Di jendela pop-up, pilih project Anda atau impor jika tidak terlihat di sana

- Buat kunci API.
- Anda dapat menyalin kunci menggunakan tombol salin di sisi kanan.

Kunci sudah disiapkan dan sekarang kita dapat menggunakannya untuk Gemini CLI
2. Mengonfigurasi Gemini CLI
Gemini CLI dapat dikonfigurasi melalui file konfigurasi setelan atau secara interaktif menggunakan perintah /settings. Kita ingin setelan kita dipertahankan dalam file setelan.
Pertama, kita akan membuat direktori untuk project. Mari kita sebut direktori tersebut projectmcp dan beralih ke direktori tersebut menggunakan perintah berikut.
mkdir ~/projectmcp
cd ~/projectmcp
Di direktori, kita akan membuat direktori untuk file konfigurasi Gemini dan akan menjalankan semua perintah. Secara default, Gemini CLI menggunakan file konfigurasi cakupan pengguna dan ekstensi yang diinstal di direktori ~/.gemini. Namun, kita akan membuat konfigurasi cakupan project kita sendiri di direktori ~/projectmcp. Mulai dengan membuat direktori dan file konfigurasi.
mkdir ~/projectmcp/.gemini
touch ~/projectmcp/.gemini/settings.json
Kemudian, kita akan membuka file ~/projectmcp/.gemini/settings.json menggunakan editor Cloud Shell.
edit ~/projectmcp/.gemini/settings.json
Di jendela editor yang terbuka, tambahkan konfigurasi berikut.
{
"general": {
"preferredEditor": "vscode",
"previewFeatures": true,
"sessionRetention": {
"enabled": true
}
},
"ide": {
"enabled": true,
"hasSeenNudge": true
},
"security": {
"auth": {
"selectedType": "gemini-api-key"
}
},
"ui": {
"theme": "Default"
},
"tools": {
"shell": {
"enableInteractiveShell": false
}
}
}
Setelah mengedit file, Anda dapat menggunakan ctrl+s untuk menyimpan perubahan dan beralih kembali ke terminal dengan mengklik tombol Open Terminal

File settings.json di atas menetapkan jenis autentikasi Gemini CLI Anda sebagai gemini-api-key dan Anda perlu memberikan kunci ke model. Anda dapat melakukannya dengan membuat file .env di direktori tempat Anda ingin menggunakan Gemini CLI dan menyimpan kunci API untuk autentikasi Gemini CLI sebagai variabel lingkungan yang akan diambil saat Anda memulai IDE.
Mari kita edit file menggunakan editor Cloud Shell
edit ~/projectmcp/.env
Simpan kunci API yang Anda buat di langkah 1.
GEMINI_API_KEY= <YOUR_API_KEY>
Sekarang Anda dapat kembali ke terminal dan melanjutkan. Langkah berikutnya adalah mengupdate Gemini CLI ke versi terbaru. Versi di Google Cloud Shell atau di lingkungan Anda mungkin sudah tidak berlaku dan mungkin tidak berfungsi dengan benar dengan konfigurasi dan layanan MCP terbaru. Jadi, Anda harus mengupdate Gemini CLI ke versi terbaru dan memulainya. Di terminal, jalankan perintah berikut.
cd ~/projectmcp/
npm install -g @google/gemini-cli@latest
Sekarang Anda dapat memverifikasi versi. Perlu diingat bahwa jika Anda bekerja di Google Cloud Shell, setiap kali Anda memulai ulang shell, shell tersebut mungkin akan kembali ke versi sebelumnya. Perubahan yang Anda buat pada Gemini CLI itu sendiri tidak bersifat permanen di Cloud Shell.
gemini --version
Perintah ini akan menampilkan versi Gemini CLI terbaru (versi 0.27 pada saat penulisan lab ini). Anda dapat memverifikasi versi Gemini CLI terbaru di sini. Sekarang kita dapat memulainya dan memastikan bahwa Gemini menggunakan model Gemini terbaru. Jalankan perintah berikut di folder project Anda untuk memulai Gemini CLI.
gemini
Saat Gemini CLI dimulai, Anda dapat memeriksa versi dan model dengan menjalankan perintah /about di antarmuka. Anda akan mendapatkan sesuatu seperti gambar di bawah.

Anda dapat melihat bahwa model ini menggunakan model Gemini-3 terbaru.
2. Mengonfigurasi server MCP di Gemini CLI
Sekarang saatnya menambahkan semua server MCP yang diaktifkan. Anda memiliki dua cara untuk mengaktifkannya di Gemini CLI - melalui ekstensi atau langsung di setelan. Di lab ini, Anda akan menggunakan file setting.json cakupan project dan menambahkan detail autentikasi server MCP di sana.
- Untuk server MCP Developer Knowledge, Anda perlu membuat kunci API agar diberi otorisasi di endpoint.
Berikut langkah-langkahnya:
- Di Konsol Google Cloud untuk project tempat Anda mengaktifkan API, buka halaman Kredensial.
- Klik Buat kredensial, lalu pilih Kunci API dari menu. Dialog API key created akan menampilkan string untuk kunci yang baru dibuat.
- Klik link
Edit API keydi dialog. - Di kolom
Name, berikan nama untuk kunci. MisalnyaDK API Key. - Di bagian pembatasan API, pilih
Restrict key. - Dari daftar Select APIs, aktifkan
Developer Knowledge API, lalu klik OK. - Klik Simpan.

Sekarang, jika Anda perlu menggunakan kunci, Anda dapat membuka halaman dan mengklik Tampilkan kunci di sebelah kanan.

Sekarang Anda perlu menyimpan kunci tersebut dalam konfigurasi. Bagian MCP pada file settings.json akan terlihat seperti ini (Anda perlu memasukkan nilai untuk kunci API DK Anda di sana). Berikut adalah contoh tampilan bagian MCP pada file settings.json jika hanya DK API yang ditambahkan. Selanjutnya dalam lab ini, Anda juga akan melihat tampilan file settings.json dengan semua server MCP.
"mcpServers": {
"DeveloperKnowledge": {
"httpUrl": "https://developerknowledge.googleapis.com/mcp",
"headers": {
"X-Goog-Api-Key": "<Your DK API Key>"
}
}
},
- Selanjutnya, Anda dapat menambahkan konfigurasi untuk server MCP Cloud SQL kami. Untuk MCP Cloud SQL, Anda akan menggunakan kredensial Google, bukan API. Cara ini lebih aman dan memberi kami kemampuan untuk menentukan peran dan cakupan tindakan yang diizinkan untuk pengguna. Berikut konfigurasi untuk server MCP. Ganti "<YOUR_GCP_PROJECT>" dengan project ID Anda.
"Cloud SQL MCP Server": {
"httpUrl": "https://sqladmin.googleapis.com/mcp",
"authProviderType": "google_credentials",
"oauth": {
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"timeout": 500000,
"trust": false,
"headers": {
"X-Goog-User-Project": "<YOUR_GCP_PROJECT>"
}
},
- Bagian JSON berikutnya ini berisi konfigurasi untuk server MCP Cloud Run. Aplikasi ini mengikuti pola yang sama seperti contoh di atas dan menggunakan kredensial Google untuk autentikasi dan otorisasi. Berikut contoh konfigurasinya.
"CloudRun": {
"httpUrl": "https://run.googleapis.com/mcp",
"authProviderType": "google_credentials",
"oauth": {
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
Semua ini perlu ditambahkan ke file ~/projectmcp/.gemini/settings.json.
Buka file ~/projectmcp/.gemini/settings.json menggunakan editor Cloud Shell.
edit ~/projectmcp/.gemini/settings.json
Kemudian, ganti konten dengan konfigurasi berikut. Masukkan kunci API dan project ID Anda di kolom "X-Goog-Api-Key" dan "X-Goog-User-Project" sesuai dengan lingkungan Anda.
{
"general": {
"preferredEditor": "vscode",
"previewFeatures": true,
"sessionRetention": {
"enabled": true
}
},
"ide": {
"enabled": true,
"hasSeenNudge": true
},
"security": {
"auth": {
"selectedType": "gemini-api-key"
}
},
"mcpServers": {
"DeveloperKnowledge": {
"httpUrl": "https://developerknowledge.googleapis.com/mcp",
"headers": {
"X-Goog-Api-Key": "<Your DK API Key>"
}
},
"Cloud SQL MCP Server": {
"httpUrl": "https://sqladmin.googleapis.com/mcp",
"authProviderType": "google_credentials",
"oauth": {
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"timeout": 500000,
"trust": false,
"headers": {
"X-Goog-User-Project": "<YOUR_GCP_PROJECT>"
}
},
"CloudRun": {
"httpUrl": "https://run.googleapis.com/mcp",
"authProviderType": "google_credentials",
"oauth": {
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"ui": {
"theme": "Default"
},
"tools": {
"shell": {
"enableInteractiveShell": false
}
}
}
Sekarang kita dapat memulai Gemini CLI dan melihat semua server MCP kita diaktifkan di sana.
cd ~/projectmcp/
gemini
Saat Gemini CLI dimulai, Anda dapat menjalankan perintah /mcp untuk melihat semua server MCP yang aktif dan berjalan.

5. Menyiapkan Aplikasi
Dalam contoh berikut, Anda akan mencoba memigrasikan aplikasi lokal contoh ke Google Cloud. Pertama, kita menginstal aplikasi secara lokal dan mengujinya.
1. Meng-clone Kode Sumber
Kita perlu meng-clone aplikasi dari repositori GitHub. Di Cloud Shell atau terminal lokal Anda di folder project, jalankan.
git clone https://github.com/google/mcp.git
2. Mulai Aplikasi Secara Lokal
Mari kita uji aplikasi dan muat beberapa data sampel
Di shell yang sama, beralihlah ke folder aplikasi dan mulai aplikasi menggunakan
cd mcp/examples/allstrides
./start_allstrides.sh
3. Menguji Aplikasi
Jika Anda menggunakan Cloud Shell, tekan tombol Web preview di bagian atas jendela Cloud Shell, lalu pilih Preview on port 8080

Tab browser baru akan terbuka dengan antarmuka aplikasi tempat Anda dapat, misalnya, mengklik tombol Events.

Saat ini Anda tidak memiliki acara.
4. Memuat Data Contoh
Anda dapat mendaftar di aplikasi dan membuat acara, pesan chat, dan pengguna sendiri, atau menggunakan data contoh yang disediakan bersama aplikasi.
Buka tab Cloud Shell lain menggunakan tanda "+" di bagian atas.

Di tab Cloud Shell baru, beralihlah ke direktori aplikasi dan jalankan impor menggunakan utilitas sqllite3:
cd ~/projectmcp/mcp/examples/allstrides
sqlite3 allstrides.db < seed_data.sql
Jika Anda kembali ke halaman aplikasi, lalu mengklik tombol Events lagi, Anda akan melihat beberapa peristiwa.

Anda juga dapat menguji halaman chat dan melihat beberapa pesan di sana.
Sekarang Anda dapat menutup tab kedua dengan mengetik exit
exit
Hentikan aplikasi di tab pertama menggunakan kombinasi ctrl+c.
6. MCP Pengujian Pengetahuan Developer
MCP Pengetahuan Developer memungkinkan kami menggunakan dokumen Google langsung dari alat agnostik kami, sehingga kami dapat memverifikasi petunjuk, membuat tutorial, dan melakukan tugas lain yang dapat ditingkatkan dengan dokumentasi Google terbaru.
Mulai Gemini CLI Anda dan buat daftar alat MCP yang tersedia di server MCP Developer Knowledge.
/mcp
Untuk MCP Pengetahuan Developer, Anda akan melihat tiga alat yang tersedia:
Output yang diharapkan:
🟢 DeveloperKnowledge - Ready (3 tools) Tools: - batch_get_documents - get_document - search_documents
Tugas kita adalah memindahkan aplikasi ke Google Cloud, yang berarti kita perlu beralih dari database Sqlite lokal ke solusi yang lebih skalabel dan cloud-native. Mari minta Gemini untuk menganalisis kode aplikasi kita dan memberikan saran tentang solusi database.
Di perintah Gemini CLI, ketik berikut ini:
Hello, I need to choose a database platform for my allstrides application in Google Cloud. Can you analyze documentation and prepare a tutorial to choose the correct database engine?
Gemini CLI akan mulai menganalisis kode Anda, lalu meminta untuk menjalankan
Output yang diharapkan
? search_documents (DeveloperKnowledge MCP Server) {"query":"choose google cloud database"} ← │
│ │
│ MCP Server: DeveloperKnowledge │
│ Tool: search_documents │
│ │
│ Allow execution of MCP tool "search_documents" from server "DeveloperKnowledge"? │
│ │
│ ● 1. Allow once │
│ 2. Allow tool for this session │
│ 3. Allow all server tools for this session │
│ 4. No, suggest changes (esc)
Kita dapat melihat bahwa alat ini menggunakan MCP untuk mendasari respons dengan dokumentasi Google. Izinkan eksekusi permintaan MCP Developer Knowledge. Mungkin Anda akan diminta satu atau dua kali lagi untuk memberikan informasi lebih lanjut sebelum respons diberikan. Jangan izinkan perubahan apa pun di aplikasi Anda mulai sekarang.
Pada akhirnya, tutorial tersebut membuat ringkasan yang menyatakan bahwa Cloud SQL untuk Postgres adalah pilihan terbaik untuk backend database. Anda mungkin mendapatkan respons yang sedikit berbeda karena sifat model AI Generatif yang nondeterministik.
Output yang diharapkan:
By switching to Cloud SQL for PostgreSQL, AllStrides gains a robust, scalable foundation suitable for production deployment on Google Cloud. The transition is straightforward due to the use of Sequelize ORM.
Kami juga dapat meminta untuk menyiapkan panduan migrasi data langkah demi langkah. Berikan perintah baru ke Gemini CLI:
I agree with the recommendation to use Cloud SQL for PostgreSQL as the new database for my application. Can you prepare a detailed migration tutorial based on Google documentation on how to move data from my local database to Cloud SQL in the cloud?
Sekali lagi, kita berharap Gemini CLI menggunakan MCP Pengetahuan Developer sebagai sumber kebenaran saat menyiapkan tutorial. Urutan tindakan yang dilakukan oleh Gemini CLI dapat sedikit berbeda, bergantung pada model yang tepat dan faktor lainnya. Misalnya, ia dapat meminta untuk menyiapkan skrip migrasi terlebih dahulu dan baru setelah itu mengerjakan dokumentasi tutorial akhir.
Berikut adalah salah satu contoh saat meminta izin untuk menjalankan MCP Pengetahuan Developer:
? search_documents (DeveloperKnowledge MCP Server) {"query":"migrate local database to Cloud SQL for PostgreSQL"} ← │
│ │
│ MCP Server: DeveloperKnowledge │
│ Tool: search_documents │
│ │
│ Allow execution of MCP tool "search_documents" from server "DeveloperKnowledge"? │
│ │
│ ● 1. Allow once │
│ 2. Allow tool for this session │
│ 3. Allow all server tools for this session │
│ 4. No, suggest changes (esc) │
│ │
│ │
│ ⊷ search_documents (DeveloperKnowledge MCP Server) {"query":"import data into Cloud SQL PostgreSQL"}
Selama eksekusi, Gemini CLI mungkin meminta Anda untuk menjalankan beberapa perintah. Misalnya, untuk lebih memahami skema data guna menyiapkan petunjuk yang benar untuk migrasi data.
Pada akhirnya, perintah ini akan menyiapkan petunjuk langkah demi langkah untuk migrasi data.
Kemudian, Anda dapat meminta Gemini CLI untuk menuliskan tutorialnya
Please write the tutorial down
Lalu, file ini akan membuat file markdown baru dengan dokumen tutorial.
Output yang diharapkan:
✦ I have created a detailed migration guide for you. You can find the tutorial in the new file: MIGRATION_GUIDE.md. This guide covers: 1. Exporting your local SQLite data to CSV format. 2. Creating the PostgreSQL schema with compatible data types. 3. Uploading data to Google Cloud Storage. 4. Importing data into Cloud SQL in the correct order to respect relationships. 5. Resetting ID sequences to ensure new data can be added without errors.
Pada langkah berikutnya, kita akan menggunakan MCP Cloud SQL untuk menyiapkan database dan memigrasikan data.
7. Menguji MCP Jarak Jauh Cloud SQL
1. Membuat instance Cloud SQL
Anda dapat memulai dengan memeriksa alat yang tersedia di server MCP Cloud SQL dengan mengetik /mcp di Gemini CLI
/mcp
Saat ini, kami memiliki alat berikut yang tersedia untuk kami.
Output yang diharapkan:
🟢 Cloud SQL MCP Server - Ready (11 tools) Tools: - clone_instance - create_instance - create_user - execute_sql - get_instance - get_operation - import_data - list_instances - list_users - update_instance - update_user
Kita telah memutuskan untuk menggunakan Cloud SQL untuk Postgres sebagai backend aplikasi kita di Google Cloud. Sekarang kita dapat meminta Gemini membuat instance Cloud SQL untuk kita.
Di perintah Gemini CLI, ketik permintaan Anda seperti berikut:
Please create a Cloud SQL for Postgres instance with appropriate edition and version in the us-central1 region to be a backend for our application with a public IPs in the current project with 2 CPU and 8 GB memory.
Untuk menghindari panggilan tambahan guna mengidentifikasi project saat ini, Anda dapat menentukan project ID secara eksplisit saat memasukkan perintah. Jika nama project tidak digunakan dalam konteks sebelum model, model akan meminta project ID atau meminta untuk menjalankan perintah gcloud untuk mengidentifikasi project.
Kemudian, alat ini akan menganalisis alat yang ada dan meminta untuk menjalankan alat MCP Cloud SQL. Anda akan melihat permintaan persetujuan berikut.
? create_instance (Cloud SQL MCP Server MCP Server) {"tier":"db-custom-2-8192","region":"us-central1","project":"gleb-test-short-001-486416","databaseVersion":"POSTGRES_17","edition":"ENTERPRISE","nam... ← │
│ │
│ MCP Server: Cloud SQL MCP Server │
│ Tool: create_instance │
│ │
│ Allow execution of MCP tool "create_instance" from server "Cloud SQL MCP Server"? │
│ │
│ ● 1. Allow once │
│ 2. Allow tool for this session │
│ 3. Allow all server tools for this session │
│ 4. No, suggest changes (esc)
Setelah memulai eksekusi, aplikasi akan meminta untuk memantau status operasi dan kemungkinan permintaan tidur di antara pemeriksaan. Seperti berikut.
✦ I will wait for 30 seconds before checking the status of the instance creation. ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ ⊶ Shell sleep 30 [current working directory /home/gleb/demo] │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ⠋ Refining Instance Configuration (esc to cancel, 11s)
Setelah itu, akan ada alat get_operation untuk MCP Cloud SQL Server.
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ ? get_operation (Cloud SQL MCP Server MCP Server) {"project":"gleb-test-short-001-486416","operation":"73c39ca7-65fe-46d1-bdb8-0dfa00000032"} ← │
│ │
│ MCP Server: Cloud SQL MCP Server │
│ Tool: get_operation │
│ │
│ Allow execution of MCP tool "get_operation" from server "Cloud SQL MCP Server"? │
│ │
│ ● 1. Allow once
Setelah permintaan get_instance terakhir, Anda akan mendapatkan informasi tentang instance yang dibuat. Seperti berikut.
Output yang diharapkan:
✦ I will wait for 30 seconds before checking the status of the instance creation. ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ ⊶ Shell sleep 30 [current working directory /home/gleb/demo] │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ⠋ Refining Instance Configuration (esc to cancel, 11s)
Setelah itu, akan diikuti dengan alat get_operation untuk MCP Cloud SQL Server dan panggilan alat MCP get_insance. Anda mungkin mengalami pemeriksaan tambahan dan panggilan yang dieksekusi oleh Gemini CLI untuk memverifikasi keberhasilan penyelesaian tugas.
The Cloud SQL for Postgres instance allstrides-db has been successfully created in the us-central1 region with 2 vCPUs and 8 GB of RAM. Instance Details: - Project ID: gleb-test-short-001-486416 - Instance Name: allstrides-db - Public IP Address: 35.226.187.246 - Database Version: POSTGRES_17 - Machine Type: db-custom-2-8192 (2 vCPU, 8 GB RAM) - Region: us-central1 - Connection Name: gleb-test-short-001-486416:us-central1:allstrides-db The instance is configured with public IP enabled, IAM authentication turned on, and Data API access allowed.
2. Memigrasikan Data
Instance sudah siap dan sekarang kita dapat melanjutkan migrasi semua data dari database SQLite yang ada ke database baru di cloud.
Di perintah Gemini CLI, ketik permintaan berikut
Now when we have our Cloud SQL instance ready it is time to move the data from our local database. Please migrate all the data to a new database in our Cloud SQL instance where the new user for application would be the database owner? Let's call the new database allstrides-db and the user allstrides. Please use our MCP tools whenever it is possible.
Selama eksekusi, Gemini CLI akan menganalisis model data kita dan untuk melakukannya, Gemini CLI akan meminta izin untuk menjalankan beberapa perintah. Alur kerja tidak 100% deterministik dan beberapa langkah dapat berbeda.
Berikut adalah contoh cara memulainya.
Output yang diharapkan:
✦ I will read the allstrides/README.md and allstrides/seed_data.sql files to understand the local database structure and data. ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ ✓ ReadFile allstrides/README.md │ │ │ │ │ │ ✓ ReadFile allstrides/seed_data.sql │ │ │ ╰─────────────────────────────────────────────────────────────────────────
Kemudian, setelah beberapa langkah, MCP Cloud SQL akan digunakan untuk menyiapkan database, pengguna, dan akhirnya memigrasikan data. Salah satu tindakan pertama yang dilakukan pada database adalah menambahkan Anda sebagai pengguna IAM dan memberi Anda izin untuk membuat database dan pengguna. Anda harus memiliki hak istimewa yang memadai di Google Cloud sebagai IAM
Berikut contoh beberapa langkah selama alur kerja
Output yang diharapkan:
✓ execute_sql (Cloud SQL MCP Server MCP Server) {"project":"gleb-test-short-001-486416","instance":"allstrides-db","sqlStatement":"CREATE DATABASE \"allstrides-db\";","database":"postgres"} │
│ │
│ { │
│ "messages": [ │
│ { │
│ "message": "Execution complete. 1 result set(s) returned.", │
│ "severity": "INFO" │
│ } │
│ ], │
│ "metadata": { │
│ "sqlStatementExecutionTime": "0.075591388s" │
│ }, │
│ "results": [ │
│ {} │
│ ] │
│ } │
│
3. Men-deploy Aplikasi ke Cloud Run
Sekarang, database telah dibuat dan data aplikasi lokal telah dimigrasikan ke database CloudSQL Anda. Sekarang Anda siap men-deploy aplikasi ke Cloud Run. Selama deployment, Anda akan menggunakan kombinasi Google Cloud SDK untuk membuat image di Google Cloud, lalu men-deploy-nya menggunakan Cloud Run MCP.
Di Gemini CLI, jalankan perintah berikut.
Now, when all the data is successfully migrated to our Cloud SQL instance allstrides-db we can migrate our allstrides application to Cloud Run and deploy using my Cloud SQL database. Please put the username and the password for my database user user to Secret Manager to not show openly in Cloud Run.
Let's build the image first and then use MCP to create the Cloud Run service.
Selama eksekusi, skrip akan memeriksa API, menyiapkan data untuk secret manager, dan membuat secret yang diperlukan. Selain itu, aplikasi akan diperbarui agar dapat berfungsi dengan database PostgreSQL dan menambahkan modul npm yang diperlukan.
Kemudian, setelah membangun image dan menempatkannya ke Artifact Registry, layanan ini menggunakan layanan MCP untuk men-deploy aplikasi ke Cloud Run.
Berikut adalah contoh pemanggilan MCP Cloud Run
Output yang diharapkan:
✦ I will deploy the 'allstrides' service to Cloud Run using the deploy_service_from_image tool. I will configure the environment variables and map the
database credentials from Secret Manager. Note that the MCP tool's schema does not explicitly expose the Cloud SQL instance attachment parameter, which is
typically required for the Unix socket connection (/cloudsql/...) to work. I will proceed with the deployment as requested, but if the database connection
fails due to the missing instance attachment, we may need to use gcloud to update that specific configuration.
╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Action Required 1 of 1 │
│ │
│ ? deploy_service_from_image (CloudRun MCP Server) {"service":{"invokerIamDisabled":true,"name":"projects/gleb-test-short-001-486416/locations/us-centra... │
│ │
│ MCP Server: CloudRun │
│ Tool: deploy_service_from_image │
│ Allow execution of MCP tool "deploy_service_from_image" from server "CloudRun"? │
│ │
│ ● 1. Allow once │
│ 2. Allow tool for this session │
│ 3. Allow all server tools for this session │
│ 4. No, suggest changes (esc) │
│ │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Jalur yang tepat untuk menyelesaikan semua operasi dapat bervariasi dari eksekusi ke eksekusi. Agen AI memilih jalur berdasarkan konteks, output perintah, dan beberapa variabel lainnya. Di sinilah letak kekuatan software berbasis agen AI - software ini dapat bereaksi, menyesuaikan pendekatannya, dan mencoba kembali langkah-langkah untuk menyelesaikan tugas dan memberikan hasil yang sukses.
Sekarang Anda telah men-deploy dan menjalankan aplikasi allstrides di Cloud Run dan terhubung ke database Cloud SQL.
Berikut adalah hal yang mungkin dapat Anda lihat di akhir.
Output yang diharapkan:
✦ The application allstrides has been successfully migrated to Cloud Run and is connected to the Cloud SQL database allstrides-db.
Deployment Details:
* Service URL: https://allstrides-812263612774.us-central1.run.app
* Database: allstrides-db (PostgreSQL)
* Database User: allstrides (Password updated and stored in Secret Manager)
* Secrets: db-user and db-pass are mounted as environment variables.
* Region: us-central1
Steps Taken:
1. Database Configuration:
* Updated the allstrides database user password.
* Created db-user and db-pass secrets in Google Cloud Secret Manager.
* Updated database.ts to support PostgreSQL connections via Cloud SQL socket.
2. Build:
* Built the container image gcr.io/gleb-test-short-001-486416/allstrides using Cloud Build.
3. Deployment:
* Initiated deployment using the MCP deploy_service_from_image tool.
* Granted the Secret Manager Secret Accessor role to the Cloud Run service account.
* Attached the Cloud SQL instance connection using gcloud (as the MCP tool currently lacks this specific configuration parameter).
The application is now serving traffic and successfully connected to the database.
Saat membuka URL yang diberikan di browser, Anda akan melihat halaman aplikasi.

Dan semua acara kita akan terlihat di sana

Selamat! Anda dapat menggunakan Gemini CLI dan layanan MCP jarak jauh Google Cloud untuk memindahkan aplikasi lokal Anda ke cloud. Dengan demikian, deployment telah selesai dan semua resource dapat dibersihkan.
8. Membersihkan lingkungan
Cara termudah untuk membersihkan lingkungan adalah dengan meminta Gemini CLI menghapus semua komponen yang telah Anda buat. Objek ini harus mempertahankan semua aset dalam konteksnya. Namun, jika Anda tiba-tiba logout dan tidak memiliki histori yang tersimpan, Anda dapat mencoba lebih presisi dan meminta untuk membersihkan layanan Cloud Run, image, dan instance Cloud SQL. Untuk menghapus layanan, layanan harus diautentikasi dengan pengguna yang memiliki izin yang diperlukan dan akan menggunakan perintah gcloud.
Berikut adalah contoh perintah
Now, when we've tested the application can you please delete the created Cloud Run service, the image we've built and the Cloud SQL instance we've created in the project.
Setelah penghapusan, Anda dapat menggunakan layanan MCP jarak jauh untuk memverifikasi keberhasilan penghapusan layanan Cloud Run atau instance Cloud SQL.
Can you please list all Cloud SQL instances in the project and Cloud Run services in the project.
Anda akan melihat pesan seperti berikut di bagian akhir:
Output yang diharapkan:
✦ There are currently no Cloud SQL instances or Cloud Run services (in us-central1) in the project gleb-test-short-001-486416.
Langkah-langkah lab ini telah selesai.
9. Selamat
Selamat, Anda telah menyelesaikan codelab.
Jalur Pembelajaran Google Cloud
Yang telah kita bahas
- Cara men-deploy dan mengonfigurasi Gemini CLI agar berfungsi dengan MCP jarak jauh Google Cloud
- Cara menggunakan Development KnowledgeMCP
- Cara menggunakan MCP Cloud SQL untuk memigrasikan data ke cloud
- Cara menggunakan MCP Cloud Run untuk men-deploy aplikasi di cloud
- Cara menggunakan Gemini CLI di Google Cloud Shell
10. Survei
Output: