Menggunakan server MCP jarak jauh Dataform

Dokumen ini menunjukkan cara menggunakan server Model Context Protocol (MCP) jarak jauh Dataform untuk terhubung dengan aplikasi AI, termasuk Gemini CLI, ChatGPT, Claude, dan aplikasi kustom yang Anda kembangkan. Anda dapat menggunakan server MCP jarak jauh Dataform untuk melakukan tugas seperti mengelola aset kode seperti notebook dan kueri tersimpan, menjadwalkan dan menjalankan pipeline dalam BigQuery, serta memecahkan masalah kegagalan eksekusi Server MCP jarak jauh Dataform diaktifkan saat Anda mengaktifkan Dataform API.

Model Context Protocol (MCP) menstandarkan 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.

Apa perbedaan antara server MCP lokal dan jarak jauh?

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

Server MCP jarak jauh Google Cloud dan Google

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

  • Penemuan yang disederhanakan dan terpusat
  • Endpoint HTTP 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.

Sebelum memulai

  1. 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

  2. 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.

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  5. Hubungkan repositori Dataform Anda ke penyedia Git seperti GitHub atau GitLab. Untuk mengetahui informasi selengkapnya, lihat Menghubungkan ke repositori Git pihak ketiga.
  6. Konfigurasi agen AI Anda dengan token OAuth yang valid menggunakan cakupan BigQuery.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk menggunakan server MCP Dataform, minta administrator untuk memberi Anda peran IAM berikut di project Google Cloud Anda:

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

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

Izin yang diperlukan

Izin berikut diperlukan untuk menggunakan server MCP Dataform:

  • Lakukan panggilan alat MCP: mcp.tools.call
  • Buat repositori, ruang kerja Dataform, dan edit file:
    • dataform.workspaces.create
    • dataform.workspaces.get
    • dataform.workspaces.list
    • dataform.workspaces.delete
    • dataform.workspaces.readFile
    • dataform.workspaces.writeFile
    • dataform.workspaces.moveFile
    • dataform.workspaces.removeFile
    • dataform.workspaces.queryDirectoryContents
    • dataform.workspaces.searchFiles
    • dataform.workspaces.commit
    • dataform.workspaces.push
    • dataform.workspaces.pull
    • dataform.workspaces.fetchHistory
    • dataform.workspaces.fetchDiff
    • dataform.workspaces.fetchFileGitStatuses
    • dataform.compilationResults.create
    • dataform.compilationResults.get
    • dataform.compilationResults.list
    • dataform.workflowInvocations.create
    • dataform.workflowInvocations.get
    • dataform.workflowInvocations.list
    • dataform.repositories.get
    • dataform.repositories.list
    • dataform.locations.get
    • dataform.locations.list
  • Menjalankan tugas BigQuery:
    • bigquery.jobs.create
    • bigquery.config.get

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

Autentikasi dan otorisasi

Server MCP jarak jauh Dataform 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 Dataform mengelola akses melalui mekanisme autentikasi dan otorisasi berikut:

  • Permintaan penemuan (tools/list) tidak memerlukan autentikasi, sehingga memungkinkan agen mengidentifikasi alat Dataform yang tersedia tanpa memerlukan otorisasi sebelumnya.
  • Permintaan eksekusi (tools/call) diautentikasi menggunakan OAuth, sehingga mengharuskan agen memberikan token OAuth yang valid yang menggunakan cakupan BigQuery. Untuk mengetahui informasi selengkapnya, lihat Cakupan OAuth MCP Dataform.

Sebaiknya Anda membuat identitas terpisah untuk agen yang menggunakan alat MCP agar akses ke resource dapat dikontrol dan dipantau. Untuk mengetahui informasi selengkapnya tentang autentikasi, lihat Mengautentikasi ke server MCP.

Cakupan OAuth MCP Dataform

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

Untuk berinteraksi dengan server MCP Dataform, agen harus menggunakan cakupan OAuth BigQuery. Cakupan ini memungkinkan agen mengelola kode transformasi dan memicu eksekusi yang berjalan sebagai tugas BigQuery.

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

Mengonfigurasi klien MCP untuk menggunakan server MCP Dataform

Aplikasi dan agen AI, seperti Claude atau Antigravity, dapat membuat instance klien MCP yang terhubung ke satu server MCP. Aplikasi AI dapat memiliki beberapa klien yang terhubung ke server MCP yang berbeda. Jika aplikasi Anda tidak tercantum dalam panduan khusus klien, Anda dapat menggunakan informasi berikut untuk terhubung dari sebagian besar aplikasi.

Di aplikasi AI Anda, cari cara untuk menambahkan atau menghubungkan ke server MCP jarak jauh. Untuk server MCP Dataform, lakukan hal berikut:

  • Nama server: Server MCP Dataform
  • URL Server atau Endpoint: https://dataform.REGION.rep.googleapis.com/mcp

    Ganti REGION dengan region tempat repositori Anda berada, misalnya, us-central1.

  • Transportasi: HTTP

  • Detail autentikasi: Bergantung pada cara autentikasi yang diinginkan, Anda dapat memasukkan Google Cloud kredensial, ID Klien OAuth dan rahasia, atau identitas dan kredensial agen. Untuk mengetahui informasi selengkapnya tentang autentikasi, lihat Mengautentikasi ke server MCP.

Untuk panduan khusus aplikasi tentang cara menyiapkan dan terhubung ke server MCP, lihat Panduan khusus klien.

Untuk panduan umum lainnya, lihat referensi berikut:

Kemampuan agen

Server MCP Dataform menyediakan serangkaian alat yang memungkinkan agen AI berinteraksi dengan dan men-debug alur kerja transformasi data dengan mengatur panggilan API Dataform. Server menyediakan alat untuk melakukan hal berikut:

  • Siapkan aset file tunggal. Agen mengelola penyiapan resource dasar, termasuk pembuatan repositori dan kueri konten direktori.
  • Mengelola pipeline dan rilis. Agen mengelola alur kerja dan merilis konfigurasi, membuat hasil kompilasi, serta memicu atau membatalkan pemanggilan alur kerja.
  • Pecahkan masalah dan validasi. Agen mengidentifikasi alasan kegagalan pipeline dengan mengambil hasil kompilasi dan mengkueri tindakan pemanggilan alur kerja.

Alat yang tersedia

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

Alat daftar

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

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

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

Contoh perintah

Gunakan perintah contoh berikut untuk mendapatkan informasi tentang resource Dataform, mengatur alur kerja, atau memecahkan masalah eksekusi:

  • "Buat repositori Dataform baru bernama REPOSITORY_ID di project PROJECT_ID."
  • "Buat aset notebook baru di project PROJECT_ID."
  • "Baca konten FILE_NAME di repositori saya."
  • "Commit the changes to in ." (Lakukan perubahan pada FILE_NAME di REPOSITORY_ID).
  • "Buat konfigurasi alur kerja yang menjadwalkan pipeline saya untuk berjalan setiap hari pukul 08.00."
  • "Memicu eksekusi baru untuk konfigurasi alur kerja WORKFLOW_CONFIGURATION_ID."
  • "Periksa status eksekusi pipeline terbaru saya dan beri tahu saya jika ada yang gagal, termasuk detail errornya."
  • "Tampilkan detail eksekusi spesifik yang gagal."
  • "List all Dataform repositories in the region of project." (Cantumkan semua repositori Dataform di region REGION project PROJECT_ID.)
  • "Batalkan pemanggilan alur kerja bernama WORKFLOW_INVOCATION_ID di repositori REPOSITORY_ID, yang kini sedang berjalan."

Dalam perintah, ganti kode berikut:

  • FILE_NAME: nama file.
  • PROJECT_ID: Google Cloud Project ID
  • REGION: nama region.
  • REPOSITORY_ID: ID unik untuk repositori Dataform Anda, misalnya, quickstart-repository.
  • WORKFLOW_CONFIGURATION_ID: ID unik konfigurasi alur kerja.
  • WORKFLOW_INVOCATION_ID: ID unik untuk eksekusi alur kerja tertentu. Anda bisa mendapatkan ID ini dari hasil permintaan workflowInvocations.list atau dari kolom name respons workflowInvocations.create.

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 setelan default dan kebijakan yang dapat disesuaikan untuk mengontrol penggunaan alat MCP di organisasi atau project Google Cloud Anda.

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. Layanan ini 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, menjaga kepatuhan, dan menerapkan kebijakan keamanan dan keselamatan AI Anda secara konsisten di seluruh lanskap AI Anda yang beragam.

Jika Model Armor diaktifkan dengan logging diaktifkan, Model Armor akan mencatat seluruh payload. Hal ini dapat mengekspos informasi sensitif dalam log Anda.

Perutean permintaan MCP ke Model Armor

Server MCP Dataform menggunakan perutean lintas yurisdiksi. Saat Anda mengaktifkan Model Armor, server MCP akan mengirim semua permintaan ke Model Armor untuk disaring. Perutean lintas wilayah hukum dapat melanggar komitmen kepatuhan residensi data yang ada untuk data aktif dan data dalam pengiriman. Untuk mengetahui informasi selengkapnya tentang perilaku server MCP lainnya, lihat Produk yang didukung Model Armor.

Mengaktifkan Model Armor

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

Konsol

  1. Mengaktifkan API Model Armor.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). 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. Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

    gcloud init

  2. Jalankan perintah berikut untuk menetapkan endpoint API untuk 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 tingkat 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

Untuk menghentikan Model Armor memindai traffic secara otomatis ke dan dari server MCP Google berdasarkan setelan tingkat project, 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 otomatis menerapkan aturan yang ditentukan dalam setelan tingkat project ini ke traffic server MCP Google.

Setelan tingkat Model Armor dan konfigurasi umum dapat memengaruhi lebih dari sekadar MCP. Karena Model Armor terintegrasi dengan layanan seperti Vertex AI, setiap perubahan yang Anda lakukan pada setelan tingkat dapat memengaruhi pemindaian traffic dan perilaku keamanan di semua layanan terintegrasi, bukan hanya MCP.

Mengontrol penggunaan MCP dengan kebijakan penolakan IAM

Kebijakan penolakan dan kebijakan izin Identity and Access Management (IAM) membantu Anda mengamankan Google Cloud server Google MCP.

Anda dapat menggabungkan beberapa kriteria untuk membuat kebijakan keamanan dan tata kelola yang disesuaikan dengan mengizinkan atau menolak akses berdasarkan hal berikut:

  • Entitas utama.
  • Properti alat seperti atribut hanya baca.
  • Nama layanan atau nama alat.
  • Client ID klien OAuth aplikasi.

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

Langkah berikutnya