Menggunakan server MCP BigQuery

Dokumen ini menjelaskan cara menggunakan server BigQuery Model Context Protocol (MCP) untuk terhubung ke BigQuery dari aplikasi AI seperti Gemini CLI, mode agen di Gemini Code Assist, Claude Code, atau di aplikasi AI yang Anda kembangkan.

Model Context Protocol (MCP) menstandardisasi cara model bahasa besar (LLM) dan aplikasi atau agen AI terhubung ke sumber data eksternal. Server MCP memungkinkan Anda menggunakan alat, resource, dan perintahnya untuk melakukan tindakan dan mendapatkan data terbaru dari layanan backend-nya.

Server MCP lokal biasanya berjalan di komputer lokal Anda dan menggunakan input dan output stream standar (stdio) untuk komunikasi antar-layanan di perangkat yang sama. Server MCP berjalan di infrastruktur layanan dan menawarkan endpoint HTTPS ke aplikasi AI untuk komunikasi antara klien MCP AI dan server MCP. Untuk mengetahui informasi selengkapnya tentang arsitektur MCP, lihat Arsitektur MCP.

Server Google dan Google Cloud MCP memiliki fitur dan manfaat berikut:

  • Penemuan yang disederhanakan dan terpusat
  • Endpoint HTTPS global atau regional yang dikelola
  • Otorisasi terperinci
  • Keamanan perintah dan respons opsional dengan perlindungan Model Armor
  • Logging audit terpusat

Untuk mengetahui informasi tentang server MCP lainnya dan informasi tentang kontrol keamanan dan tata kelola yang tersedia untuk server MCP Google Cloud, lihat Ringkasan server MCP Google Cloud.

Anda dapat menggunakan server MCP lokal BigQuery karena alasan berikut:

  • Anda perlu membuat alat kustom melalui kueri SQL berparameter.
  • Anda tidak memiliki izin untuk mengaktifkan atau menggunakan server MCP di project Anda.

Untuk mengetahui informasi selengkapnya tentang cara menggunakan server MCP lokal kami, lihat artikel Menghubungkan LLM ke BigQuery dengan MCP. Bagian berikut hanya berlaku untuk server BigQuery MCP.

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  6. Aktifkan BigQuery API.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    Mengaktifkan API

    Untuk project baru, BigQuery API diaktifkan secara otomatis.

  7. Opsional: Aktifkan penagihan untuk project. Jika Anda tidak ingin mengaktifkan penagihan atau memberikan kartu kredit, langkah-langkah dalam dokumen ini tetap berfungsi. BigQuery menyediakan sandbox untuk melakukan langkah-langkah tersebut. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan sandbox BigQuery.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna mengaktifkan server MCP BigQuery, minta administrator Anda untuk memberi Anda peran IAM berikut pada project tempat Anda ingin mengaktifkan server MCP BigQuery:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk mengaktifkan server MCP BigQuery. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengaktifkan server MCP BigQuery:

  • Mengaktifkan server MCP dalam project:
    • serviceusage.mcppolicy.get
    • serviceusage.mcppolicy.update
  • Lakukan panggilan alat MCP: mcp.tools.call
  • Menjalankan tugas BigQuery: bigquery.jobs.create
  • Membuat kueri data BigQuery: bigquery.tables.getData

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Mengaktifkan atau menonaktifkan server BigQuery MCP

Anda dapat mengaktifkan atau menonaktifkan server BigQuery MCP dalam project dengan perintah gcloud beta services mcp enable. Untuk informasi selengkapnya, lihat bagian berikut.

Mengaktifkan server BigQuery MCP dalam project

Jika Anda menggunakan project yang berbeda untuk kredensial klien, seperti kunci akun layanan, ID klien OAuth, atau kunci API, dan untuk menghosting resource, Anda harus mengaktifkan layanan BigQuery dan server BigQuery MCP di kedua project.

Untuk mengaktifkan server MCP BigQuery di Google Cloud project Anda, jalankan perintah berikut:

gcloud beta services mcp enable bigquery.googleapis.com \
    --project=PROJECT_ID

Ganti kode berikut:

  • PROJECT_ID: Google Cloud project ID

Server BigQuery MCP diaktifkan untuk digunakan di projectGoogle Cloud Anda. Jika layanan BigQuery tidak diaktifkan untuk project Anda, Anda akan diminta untuk mengaktifkan layanan tersebut sebelum mengaktifkan server BigQuery MCP. Google Cloud

Sebagai praktik terbaik keamanan, sebaiknya aktifkan server MCP hanya untuk layanan yang diperlukan agar aplikasi AI Anda berfungsi.

Menonaktifkan server BigQuery MCP dalam project

Untuk menonaktifkan server MCP BigQuery di Google Cloud project Anda, jalankan perintah berikut:

gcloud beta services mcp disable bigquery.googleapis.com \
    --project=PROJECT_ID

Server MCP BigQuery dinonaktifkan untuk digunakan di projectGoogle Cloud Anda.

Autentikasi dan otorisasi

Server MCP BigQuery menggunakan protokol OAuth 2.0 dengan Identity and Access Management (IAM) untuk autentikasi dan otorisasi. Semua Google Cloud identitas didukung untuk autentikasi ke server MCP.

Server MCP BigQuery tidak menerima kunci API.

Cakupan OAuth BigQuery MCP

OAuth 2.0 menggunakan cakupan dan kredensial untuk menentukan apakah akun utama terautentikasi diizinkan untuk melakukan tindakan tertentu pada resource. Untuk mengetahui informasi selengkapnya tentang cakupan OAuth 2.0 di Google, baca Menggunakan OAuth 2.0 untuk mengakses Google API.

BigQuery memiliki cakupan OAuth alat MCP berikut:

URI cakupan untuk gcloud CLI Deskripsi
https://www.googleapis.com/auth/bigquery Melihat dan mengelola data Anda di BigQuery serta melihat alamat email untuk Akun Google Anda.

Cakupan tambahan mungkin diperlukan pada resource yang diakses selama panggilan alat. Untuk melihat daftar cakupan yang diperlukan untuk BigQuery, lihat Cakupan OAuth 2.0 untuk BigQuery API v2.

Mengonfigurasi klien MCP untuk menggunakan server BigQuery MCP

Program host, seperti Claude atau Gemini CLI, dapat membuat instance klien MCP yang terhubung ke satu server MCP. Program host dapat memiliki beberapa klien yang terhubung ke server MCP yang berbeda. Untuk terhubung ke server MCP, klien MCP setidaknya harus mengetahui URL server MCP.

Di host Anda, cari cara untuk terhubung ke server MCP. Anda akan diminta untuk memasukkan detail tentang server, seperti nama dan URL-nya.

Untuk server BigQuery MCP, masukkan hal berikut sesuai kebutuhan:

  • Nama server: Server MCP BigQuery
  • URL Server atau Endpoint: https://bigquery.googleapis.com/mcp
  • Transportasi: HTTP
  • Detail autentikasi: kredensial Anda, ID Klien dan secret OAuth Anda, atau identitas dan kredensial agen Google Cloud

    Detail autentikasi yang Anda pilih bergantung pada cara Anda ingin mengautentikasi. Untuk mengetahui informasi selengkapnya, lihat Mengautentikasi ke server MCP.

Untuk panduan khusus host, lihat artikel berikut:

Untuk panduan yang lebih umum, lihat Menghubungkan ke server MCP jarak jauh.

Alat yang tersedia

Untuk melihat detail alat MCP yang tersedia dan deskripsinya untuk server MCP BigQuery, lihat referensi BigQuery MCP.

Batasan

Alat MCP BigQuery memiliki batasan berikut:

  • Alat execute_sql tidak mendukung kueri tabel eksternal Google Drive.
  • Secara default, alat execute_sql membatasi waktu pemrosesan kueri hingga tiga menit. Kueri yang berjalan lebih dari tiga menit akan otomatis dibatalkan.
  • Hasil kueri dibatasi hingga maksimum 3.000 baris.

Alat daftar

Gunakan pemeriksa MCP untuk mencantumkan alat, atau kirim permintaan HTTP tools/list langsung ke server BigQuery MCP. Metode tools/list tidak memerlukan autentikasi.

POST /mcp HTTP/1.1
Host: bigquery.googleapis.com
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "method": "tools/list",
}

Kasus penggunaan sampel

Berikut adalah contoh kasus penggunaan untuk server MCP BigQuery:

  • Buat alur kerja yang menggunakan insight dari data BigQuery untuk memicu tindakan tertentu seperti membuat masalah dan menyusun email.

  • Gunakan kemampuan lanjutan BigQuery seperti peramalan untuk mendapatkan insight tingkat yang lebih tinggi.

  • Buat pengalaman percakapan bagi pengguna Anda dengan petunjuk agen kustom.

Contoh perintah

Anda dapat menggunakan contoh perintah berikut untuk mendapatkan informasi tentang resource BigQuery, mendapatkan insight, dan menganalisis data BigQuery:

  • Mencantumkan set data dalam project PROJECT_ID.
  • Temukan semua kueri yang saya jalankan di project PROJECT_ID menggunakan server MCP di region REGION. Gunakan tag goog-mcp-server:true untuk mengidentifikasi tugas kueri yang dijalankan melalui server MCP.
  • Temukan pesanan teratas berdasarkan volume dari DATASET_ID dalam project PROJECT_ID. Identifikasi tabel yang sesuai, temukan skema yang benar, dan tunjukkan hasilnya.
  • Buat perkiraan pada tabel PROJECT_ID.DATASET_ID.TABLE_ID untuk tahun-tahun mendatang. Gunakan COLUMN_NAME sebagai kolom data dan COLUMN_NAME sebagai kolom stempel waktu. Tampilkan 10 perkiraan teratas.

Dalam perintah, ganti kode berikut:

  • PROJECT_ID: Google Cloud project ID
  • REGION: nama region
  • DATASET_ID: nama set data
  • TABLE_ID: nama tabel
  • COLUMN_NAME: nama kolom

Konfigurasi keamanan dan keselamatan opsional

MCP memperkenalkan risiko dan pertimbangan keamanan baru karena berbagai tindakan yang dapat Anda lakukan dengan alat MCP. Untuk meminimalkan dan mengelola risiko ini,Google Cloud menawarkan kebijakan default dan yang dapat disesuaikan untuk mengontrol penggunaan alat MCP di organisasi atau project Anda. Google Cloud

Untuk mengetahui informasi selengkapnya tentang keamanan dan tata kelola MCP, lihat Keamanan dan keselamatan AI.

Menggunakan Model Armor

Model Armor adalah layanan Google Cloud yang dirancang untuk meningkatkan keamanan dan keselamatan aplikasi AI Anda. Model Armor bekerja dengan menyaring perintah dan respons LLM secara proaktif, melindungi dari berbagai risiko, dan mendukung praktik AI yang bertanggung jawab. Baik Anda men-deploy AI di lingkungan cloud Anda, atau di penyedia cloud eksternal, Model Armor dapat membantu Anda mencegah input berbahaya, memverifikasi keamanan konten, melindungi data sensitif, mempertahankan kepatuhan, dan menerapkan kebijakan keamanan AI Anda secara konsisten di seluruh lanskap AI Anda yang beragam.

Model Armor hanya tersedia di lokasi regional tertentu. Jika Model Armor diaktifkan untuk project, dan panggilan ke project tersebut berasal dari region yang tidak didukung, Model Armor akan melakukan panggilan lintas region. Untuk mengetahui informasi selengkapnya, lihat Lokasi Model Armor.

Mengaktifkan Model Armor

Anda harus mengaktifkan Model Armor API sebelum dapat menggunakan Model Armor.

Konsol

  1. Aktifkan Model Armor API.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    Mengaktifkan API

  2. Pilih project tempat Anda ingin mengaktifkan Model Armor.

gcloud

Sebelum memulai, ikuti langkah-langkah berikut menggunakan Google Cloud CLI dengan Model Armor API:

  1. Di konsol Google Cloud , aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.

  2. Jalankan perintah berikut untuk menetapkan endpoint API bagi layanan Model Armor.

    gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"

    Ganti LOCATION dengan region tempat Anda ingin menggunakan Model Armor.

Mengonfigurasi perlindungan untuk server MCP jarak jauh dan Google Cloud Google

Untuk membantu melindungi panggilan dan respons alat MCP, Anda dapat menggunakan setelan batas bawah Model Armor. Setelan minimum menentukan filter keamanan minimum yang berlaku di seluruh project. Konfigurasi ini menerapkan serangkaian filter yang konsisten ke semua panggilan dan respons alat MCP dalam project.

Siapkan setelan minimum Model Armor dengan pengamanan MCP diaktifkan. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi setelan batas bawah Model Armor.

Lihat contoh perintah berikut:

gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--enable-floor-setting-enforcement=TRUE \
--add-integrated-services=GOOGLE_MCP_SERVER \
--google-mcp-server-enforcement-type=INSPECT_AND_BLOCK \
--enable-google-mcp-server-cloud-logging \
--malicious-uri-filter-settings-enforcement=ENABLED \
--add-rai-settings-filters='[{"confidenceLevel": "MEDIUM_AND_ABOVE", "filterType": "DANGEROUS"}]'

Ganti PROJECT_ID dengan project ID Google Cloud Anda.

Perhatikan setelan berikut:

  • INSPECT_AND_BLOCK: Jenis penegakan yang memeriksa konten untuk server MCP Google dan memblokir perintah dan respons yang cocok dengan filter.
  • ENABLED: Setelan yang mengaktifkan filter atau penerapan.
  • MEDIUM_AND_ABOVE: Tingkat keyakinan untuk setelan filter Responsible AI - Berbahaya. Anda dapat mengubah setelan ini, meskipun nilai yang lebih rendah dapat menghasilkan lebih banyak positif palsu. Untuk mengetahui informasi selengkapnya, lihat Tingkat keyakinan Model Armor.

Menonaktifkan pemindaian traffic MCP dengan Model Armor

Jika Anda ingin berhenti memindai traffic MCP Google dengan Model Armor, jalankan perintah berikut:

gcloud model-armor floorsettings update \
  --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
  --remove-integrated-services=GOOGLE_MCP_SERVER

Ganti PROJECT_ID dengan ID project Google Cloud .

Model Armor tidak akan memindai traffic MCP dalam project.

Mengontrol penggunaan MCP dengan kebijakan penolakan IAM

Kebijakan penolakan Identity and Access Management (IAM) membantu Anda mengamankan server MCP jarak jauh Google Cloud . Konfigurasi kebijakan ini untuk memblokir akses alat MCP yang tidak diinginkan.

Misalnya, Anda dapat menolak atau mengizinkan akses berdasarkan:

  • Kepala sekolah
  • Properti alat seperti hanya baca
  • Client ID OAuth aplikasi

Untuk mengetahui informasi selengkapnya, lihat Mengontrol penggunaan MCP dengan Identity and Access Management.

Kuota dan batas

Server MCP BigQuery tidak memiliki kuotanya sendiri. Tidak ada batasan jumlah panggilan yang dapat dilakukan ke server MCP.

Anda tetap tunduk pada kuota yang diterapkan oleh API yang dipanggil oleh alat server MCP. Metode API berikut dipanggil oleh alat server MCP:

Alat Metode API Kuota
list_dataset_ids datasets.list Kuota dan batas set data
list_table_ids tables.list Kuota dan batas tabel
get_dataset_info datasets.get Kuota dan batas set data
get_table_info tables.get Kuota dan batas tabel
execute_sql jobs.Query Kuota dan batas tugas kueri

Untuk mengetahui informasi selengkapnya tentang kuota BigQuery, lihat Kuota dan batas.

Langkah berikutnya