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 Antigravity, ChatGPT, Claude, dan aplikasi kustom yang Anda kembangkan. Anda dapat menggunakan server MCP jarak jauh Dataform untuk melakukan tugas seperti mengelola aset file tunggal, menulis kode pipeline di ruang kerja pengembangan, mengorkestrasi pipeline, dan 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 dijalankan di komputer lokal Anda dan menggunakan aliran input dan output standar (stdio) 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.

Core stateless

Dengan MCP versi 2026-07-28, MCP berubah dari protokol stateful dua arah menjadi protokol stateless. Setiap permintaan MCP menjelaskan dirinya sendiri dan dapat dirutekan menggunakan header. Tidak perlu handshake initialize/initialized atau Mcp-Session-Id karena setiap permintaan menyertakan semua informasi yang diperlukan dalam header HTTP atau parameter _meta. Server MCP dapat meminta informasi tambahan yang diperlukan oleh alat melalui permintaan multi-pulang pergi (MRTR).

Untuk membantu merutekan dan memproses permintaan tanpa mengurai isi permintaan, beberapa header MCP diperlukan, termasuk:

  • Header yang diperlukan oleh spesifikasi MCP seperti header versi protokol dan header permintaan standar.
  • Header kustom yang ditentukan oleh server MCP. Header ini dicerminkan ke dalam header HTTP dari skema input alat menggunakan properti x-mcp-header. Misalnya, server MCP dapat menentukan header kustom untuk menentukan region atau project ID Google Cloud .

Untuk mengetahui informasi selengkapnya tentang arsitektur MCP, lihat spesifikasi dan perubahan utama MCP versi 28-07-2026.

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 terkelola
  • 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, if any are not already enabled.

    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. Konfigurasikan 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 yang telah ditetapkan 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:

  • Melakukan panggilan alat MCP: mcp.tools.call
  • Membuat repositori, ruang kerja, dan mengedit file Dataform:
    • 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.repositories.update
    • dataform.folders.create
    • 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 identitasGoogle Cloud 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 agen dapat 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 buat identitas terpisah untuk agen yang menggunakan alat MCP agar akses ke resource dapat dikontrol dan dipantau. Untuk mengetahui informasi selengkapnya tentang autentikasi, lihat Melakukan autentikasi ke server MCP.

Cakupan OAuth MCP Dataform

OAuth 2.0 menggunakan cakupan dan kredensial untuk menentukan apakah akun utama yang diautentikasi 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 terhubung 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.

  • Transport: HTTP yang dapat di-streaming

  • Detail autentikasi: bergantung pada cara Anda ingin melakukan autentikasi, Anda dapat memasukkan kredensial Google Cloud , Client ID dan rahasia OAuth, atau identitas dan kredensial agen. Untuk mengetahui informasi selengkapnya tentang autentikasi, lihat Melakukan autentikasi ke server MCP.

  • Cakupan OAuth: cakupan OAuth 2.0 yang ingin Anda gunakan saat terhubung ke server MCP Dataform.

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

Untuk panduan yang lebih umum, 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:

  • Menulis kode pipeline. Agen dapat membuat dan mencantumkan ruang kerja pengembangan, menelusuri dan mengedit beberapa file, serta melakukan commit atau mengirim perubahan ke penyedia Git jarak jauh seperti GitHub atau GitLab.
  • Siapkan aset file tunggal. Agen mengelola penyiapan resource dasar, termasuk pembuatan repositori dan kueri konten direktori.
  • Mengelola pipeline dan rilis. Agen mengelola konfigurasi alur kerja dan rilis, menghasilkan hasil kompilasi, serta memicu atau membatalkan pemanggilan alur kerja.
  • Memecahkan masalah dan memvalidasi. Agen mengidentifikasi alasan kegagalan pipeline dengan mengambil hasil kompilasi dan mengkueri tindakan pemanggilan alur kerja.

Untuk repositori yang terhubung ke host Git jarak jauh, agen harus menggunakan alat ruang kerja seperti create_workspace dan commit_workspace_changes untuk pengembangan pipeline. Alat repositori langsung gagal di repositori ini, karena alat tersebut hanya ditujukan untuk aset file tunggal di repositori yang dihosting oleh Google.

Alat yang tersedia

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

Alat daftar

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

curl -X POST https://dataform.googleapis.com/TOOLSET_ENDPOINT \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'MCP-Protocol-Version: MCP_PROTOCOL_VERSION' \
    -H 'Mcp-Method: tools/list' \
    -d '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "tools/list",
      "params": {
        "_meta": {
          "io.modelcontextprotocol/protocolVersion": "MCP_PROTOCOL_VERSION",
          "io.modelcontextprotocol/clientCapabilities": {
            "extensions": {
              "io.modelcontextprotocol/ui": {
                "mimeTypes": ["text/html;profile=mcp-app"]
              }
            }
          }
        }
      }
    }'

Ganti kode berikut:

  • TOOLSET_ENDPOINT: sisa endpoint MCP setelah nama layanan. Misalnya, untuk Dataform, ini mungkin mcp/toolset-name.
  • MCP_PROTOCOL_VERSION: versi protokol MCP. Contoh, 2026-07-28.

Contoh perintah

Gunakan contoh perintah berikut untuk mendapatkan informasi tentang resource Dataform, menulis kode pipeline di ruang kerja, mengorkestrasi alur kerja, atau memecahkan masalah eksekusi:

  • "Buat repositori Dataform baru bernama REPOSITORY_ID di project PROJECT_ID."
  • "Buat folder baru bernama FOLDER_NAME di project saya."
  • "Buat ruang kerja baru bernama WORKSPACE_NAME di repositori saya."
  • "Telusuri file bernama FILE_NAME di ruang kerja saya."
  • "Baca konten FILE_NAME dari ruang kerja saya."
  • "Lakukan commit pada perubahan ruang kerja saya dan kirim ke cabang Git jarak jauh."
  • "Buat aset notebook baru di project PROJECT_ID."
  • "Commit perubahan pada kueri tersimpan saya 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 tertentu yang gagal."
  • "Cantumkan semua repositori Dataform di region REGION dari project PROJECT_ID."
  • "Batalkan pemanggilan alur kerja bernama WORKFLOW_INVOCATION_ID di repositori REPOSITORY_ID, yang sekarang sedang berjalan."

Dalam perintah, ganti kode berikut:

  • FILE_NAME: nama file.
  • FOLDER_NAME: nama folder.
  • 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.
  • WORKSPACE_NAME: nama ruang kerja.

Konfigurasi keamanan dan keselamatan opsional

MCP menimbulkan 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 Google Cloud layanan 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 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 di log Anda.

Pemilihan rute permintaan MCP ke Model Armor

Server MCP Dataform menggunakan perutean lintas yurisdiksi. Saat Anda mengaktifkan Model Armor, server MCP akan mengirimkan semua permintaan ke Model Armor untuk penyaringan. Pemilihan rute lintas yurisdiksi dapat melanggar komitmen kepatuhan residensi data yang ada untuk data yang sedang digunakan dan 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. Aktifkan Model Armor API, jika belum diaktifkan.

    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 Service Usage Admin (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 Google Cloud dan Google

Untuk membantu melindungi panggilan dan respons alat MCP, Anda dapat menggunakan setelan dasar 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.

Menyiapkan setelan tingkat Model Armor dengan sanitasi MCP yang diaktifkan. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi setelan batas 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 dasar 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 project ID Google Cloud . Model Armor tidak otomatis menerapkan aturan yang ditentukan dalam setelan dasar project ini ke traffic server MCP Google mana pun.

Setelan minimum dan konfigurasi umum Model Armor dapat memengaruhi lebih dari sekadar MCP. Karena Model Armor terintegrasi dengan layanan seperti Vertex AI, setiap perubahan yang Anda buat pada setelan batas bawah 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 dan server MCP Google.

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

  • Akun 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