MCP Reference: cloudcli.googleapis.com

Server MCP Cloud CLI menyediakan alat untuk menjalankan perintah Cloud CLI di lingkungan sandbox jarak jauh.

Server Model Context Protocol (MCP) bertindak sebagai proxy antara layanan eksternal yang menyediakan konteks, data, atau kemampuan ke Model Bahasa Besar (LLM) atau aplikasi AI. Server MCP menghubungkan aplikasi AI ke sistem eksternal seperti database dan layanan web, serta menerjemahkan responsnya ke dalam format yang dapat dipahami oleh aplikasi AI.

Penyiapan Server

Anda harus mengaktifkan server MCP dan menyiapkan autentikasi sebelum digunakan. Untuk mengetahui informasi selengkapnya tentang cara menggunakan server MCP jarak jauh Google dan Google Cloud, lihat Ringkasan server MCP Google Cloud.

Endpoint Server

Endpoint layanan MCP adalah alamat jaringan dan antarmuka komunikasi (biasanya URL) server MCP yang digunakan aplikasi AI (Host untuk klien MCP) untuk membuat koneksi yang aman dan standar. Agen ini adalah titik kontak bagi LLM untuk meminta konteks, memanggil alat, atau mengakses resource. Endpoint MCP Google dapat bersifat global atau regional.

Server MCP Cloud CLI Execution API memiliki endpoint MCP global berikut:

  • https://cloudcli.googleapis.com/mcp

Alat MCP

Alat MCP adalah fungsi atau kemampuan yang dapat dieksekusi yang diekspos server MCP ke aplikasi LLM atau AI untuk melakukan tindakan di dunia nyata.

Alat

Server MCP cloudcli.googleapis.com memiliki alat berikut:

Alat MCP
run_gcloud_command

Menjalankan satu perintah gcloud CLI dalam project Google Cloud pengguna. PERINGATAN KESELAMATAN KRITIS (BERPOTENSI MERUSAK): Alat ini dapat membuat, memperbarui, atau menghapus resource GCP (misalnya, gcloud compute instances delete). Tidak terbatas pada perintah hanya baca. Gunakan dengan sangat hati-hati. PERINTAH YANG DILARANG: Agen TIDAK BOLEH menjalankan perintah gcloud berikut (termasuk varian alfa/beta-nya): app deploy, app instances ssh, auth, billing, components, config, docker, feedback, info, init, meta, survey. ATURAN EKSEKUSI YANG KETAT:

  1. Anda HARUS memberikan parameter 'project' (yaitu project="projects/PROJECT_ID") saat menggunakan alat ini (digunakan untuk pemeriksaan pengaktifan Cloud CLI Execution API, penagihan, kuota, dll.). Ini TIDAK sama dengan flag --project dalam perintah gcloud yang digunakan untuk menentukan project yang dioperasikan gcloud.
  2. Pemformatan Flag: Anda HARUS selalu menggunakan tanda '=' untuk memisahkan kunci flag dari nilainya untuk semua opsi panjang. Benar: --zone=us-central1-a atau --project=my-project. Salah: --zone us-central1-a atau --project my-project.
  3. Project Penagihan: Anda tidak dapat mengasumsikan project atau setelan penagihan yang telah dikonfigurasi sebelumnya di lingkungan eksekusi. Untuk perintah yang tidak memiliki cakupan project (misalnya, level folder atau organisasi) atau skenario tertentu seperti Cloud Storage Requester Pays, Anda HARUS meneruskan tanda --billing-project=PROJECT. Untuk perintah cakupan project, Anda JUGA DAPAT menentukan --billing-project=PROJECT untuk mengganti project kuota, yang akan berlaku untuk GCP API yang tidak mendukung penggantian project resource.
  4. Cakupan Project: Anda HARUS SELALU meneruskan tanda --project=PROJECT_ID untuk perintah yang memiliki cakupan project. Jangan menggunakannya untuk perintah tingkat organisasi atau folder. Jika Anda tidak memberikan tanda --project untuk perintah yang tercakup dalam project, project resource akan ditetapkan secara default ke project yang ditetapkan dalam tanda --billing-project.
  5. Jika menentukan tanda --billing-project dalam perintah gcloud, pastikan nilainya adalah project ID atau nomor project. Nilai TIDAK BOLEH berupa nilai khusus (yaitu LEGACY, CURRENT_PROJECT, CURRENT_PROJECT_WITH_FALLBACK).
  6. Setidaknya salah satu dari --project atau --billing-project HARUS ditentukan dalam string perintah.
  7. Operasi Asinkron: Untuk operasi sinkron yang berjalan lama (misalnya, membuat VM atau database), Anda HARUS SELALU meneruskan tanda --async untuk mencegah waktu tunggu agen habis.
  8. Pembatasan Kecepatan Log: Saat menggunakan gcloud logging read, Anda HARUS SELALU menyertakan tanda --limit (misalnya, --limit=100) untuk mencegah waktu tunggu koneksi dan kredensial habis.
  9. Koreksi Mandiri: Jika perintah menampilkan error, analisis stderr, perbaiki sintaksis atau flag, lalu coba lagi pada iterasi berikutnya.
  10. input_files: (Opsional) Daftar file yang akan dibuat di lingkungan sebelum menjalankan perintah. Setiap file harus memiliki 'path' (relatif terhadap direktori saat ini) dan 'contents'. 'contents' harus berupa teks biasa yang merepresentasikan konten file. Hal ini berguna untuk perintah yang membaca dari file (misalnya, gcloud builds submit --config=cloudbuild.yaml --async --project=PROJECT_ID).

Contoh perintah/pola gcloud:

  1. Baca log instance GCE dengan severity>=ERROR: gcloud logging read "severity>=ERROR AND resource.type='gce_instance'" --limit=10 --order=DESC --project=PROJECT_ID
    • Perhatikan penggunaan tanda kutip untuk ekspresi filter.
  2. Mencantumkan semua endpoint PSC: gcloud compute forwarding-rules list --project=PROJECT_ID
  3. Mendeskripsikan endpoint PSC: gcloud compute forwarding-rules describe FORWARDING_RULE_NAME --region=REGION --project=PROJECT_ID
    • Perhatikan penggunaan '=' untuk tanda --region.
  4. Mencantumkan semua cluster: gcloud container clusters list --project=PROJECT_ID
  5. Mendeskripsikan cluster: gcloud container clusters describe CLUSTER_NAME --region=REGION --project=PROJECT_ID
  6. Mencantumkan instance komputasi: gcloud compute instances list --project=PROJECT_ID
  7. Mendapatkan kebijakan IAM untuk project: gcloud projects get-iam-policy PROJECT_ID --project=PROJECT_ID

String respons diformat untuk output terminal secara default (stdout atau stderr). Gunakan tanda --format untuk mengubah format.

run_bq_command

Menjalankan satu perintah BigQuery CLI (bq). Alat ini memungkinkan Anda menjalankan perintah bq apa pun di project pengguna, termasuk perintah yang membuat, memperbarui, atau menghapus resource GCP (yaitu, mutasi). PERINGATAN KESELAMATAN KRITIS (BERPOTENSI MERUSAK): Alat ini dapat membuat, mengupdate, atau menghapus resource BigQuery (misalnya, bq rm, bq cancel, bq query). Tidak terbatas pada perintah hanya baca. Gunakan dengan sangat hati-hati. PERINTAH YANG DILARANG: Agen TIDAK BOLEH menjalankan perintah bq berikut: bq init, bq load, bq pyshell, bq shell. ATURAN EKSEKUSI YANG KETAT:

  1. Setidaknya salah satu dari --project_id atau --quota_project_id HARUS ditentukan dalam string perintah.
  2. Project ID vs. Project Kuota: Flag --project_id menentukan project resource yang dioperasikan perintah (mencerminkan flag --project gcloud). Flag --quota_project_id menentukan project yang ditagih untuk penagihan/kuota panggilan BigQuery API downstream (mencerminkan flag --billing-project gcloud). Jika --project_id ditentukan dalam perintah, project tersebut akan digunakan sebagai project penagihan/kuota. Jika --project_id tidak ditentukan ATAU --quota_project_id juga ditentukan, project penagihan/kuota akan menjadi project yang ditetapkan di flag --quota_project_id.
  3. Pemformatan Flag: Anda HARUS selalu menggunakan tanda '=' untuk memisahkan kunci flag dari nilainya untuk semua opsi panjang. Benar: '--project_id=my-project' atau '--location=us'. Salah: '--project_id my-project' atau '--location us'. Jangan gunakan spasi di antara flag dan nilainya.
  4. Tidak Ada Default Konfigurasi: Perintah bq dieksekusi tanpa status; perintah ini tidak memuat file konfigurasi lokal seperti .bigqueryrc. Oleh karena itu, untuk semua operasi regional (misalnya, membuat set data atau membuat kueri set data regional), Anda HARUS menentukan flag --location secara eksplisit (misalnya, --location=us atau --location=EU).
  5. Operasi Asinkron: Beberapa perintah memulai operasi yang berjalan lama dan sinkron (misalnya, menjalankan tugas kueri). Anda HARUS SELALU meneruskan tanda --nosync untuk perintah ini guna mencegah waktu tunggu agen habis.
  6. Batasan Perintah: Anda TIDAK BOLEH menggunakan perintah bq berikut: bq init, bq pyshell, bq shell. Penyaluran atau penggabungan perintah TIDAK didukung.
  7. Koreksi Mandiri: Jika perintah menampilkan error, analisis stderr, perbaiki sintaksis atau flag, lalu coba lagi pada iterasi berikutnya.

Contoh perintah bq yang mengubah mencakup: bq mk, bq rm, bq update, bq insert, bq query (tanpa --dry_run), dll. Penggunaan: RunBq(command="bq query --project_id=PROJECT_ID 'SELECT 1'", project="projects/PROJECT_ID", input_files=[{"path": "PATH", "contents": "CONTENTS"}]) Anda HARUS memberikan perintah bq lengkap sebagai satu string dalam parameter 'command'. Anda HARUS memberikan parameter 'project' (format: projects/PROJECT_ID) sebagai project eksekusi API untuk penagihan, pengaktifan API, dan pemeriksaan penggunaan kuota.

Contoh perintah/pola bq:

  1. Jalankan kueri: bq query --use_legacy_sql=false --project_id=PROJECT_ID 'SELECT * FROM project.dataset.table LIMIT 10'
  2. Buat set data: bq mk --dataset --location=us --project_id=PROJECT_ID myDataset
  3. Buat tabel: bq mk --table --project_id=PROJECT_ID myDataset.myTable name:string,value:integer
  4. Menghapus set data: bq rm -f --dataset --project_id=PROJECT_ID myDataset
  5. Menghapus tabel: bq rm -f -t --project_id=PROJECT_ID myDataset.myTable
  6. Perbarui deskripsi tabel: bq update --description="New description" --project_id=PROJECT_ID myDataset.myTable
  7. Mencantumkan set data dalam project: bq ls --datasets=true --project_id=PROJECT_ID

Mendapatkan spesifikasi alat MCP

Untuk mendapatkan spesifikasi alat MCP untuk semua alat di server MCP, gunakan metode tools/list. Contoh berikut menunjukkan cara menggunakan curl untuk mencantumkan semua alat dan spesifikasinya yang saat ini tersedia dalam server MCP.

Permintaan Curl
                      
curl --location 'https://cloudcli.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'