Menggunakan server MCP

Server MCP memungkinkan Anda mengakses dan menjalankan alat untuk membuat, mengelola, dan membuat kueri Google Cloud resource menggunakan platform agen AI. Dokumen ini menjelaskan cara terhubung ke Google Cloud server Model Context Protocol (MCP) jarak jauh dari ekstensi Google Cloud Data Agent Kit untuk IDE Antigravity.

Server MCP yang didukung

Server MCP jarak jauh berikut didukung untuk digunakan di ekstensi Data Agent Kit untuk IDE Antigravity. Untuk mengetahui detail khusus produk, lihat panduan berikut:

Server MCP jarak jauh diaktifkan saat Anda mengaktifkan API yang sesuai. Misalnya, saat Anda mengaktifkan Spanner API di project Anda, MCP jarak jauh Spanner akan otomatis diaktifkan.

Google Cloud server MCP jarak jauh

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

  • 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 keamanan dan kontrol tata kelola yang tersedia untuk server MCP Google Cloud, lihat Ringkasan server MCP Google Cloud.

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

Sebelum memulai

  1. Instal ekstensi Data Agent Kit untuk IDE Antigravity.
  2. Siapkan dan konfigurasi ekstensi. Pastikan untuk mengaktifkan semua API.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna mengakses Google Cloud server MCP dari IDE Anda, minta administrator Anda untuk memberi Anda peran IAM Pengguna Alat MCP (roles/mcp.toolUser) di project yang sedang Anda kerjakan.

Bergantung pada resource yang Anda rencanakan untuk diakses, Anda mungkin memerlukan peran tambahan selain peran yang memungkinkan Anda menggunakan ekstensi. Untuk melihat peran minimum yang diperlukan untuk mengakses server MCP jarak jauh untuk setiap layanan yang didukung Google Cloud, lihat panduan khusus produk.

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

Peniruan akun layanan

Saat terhubung ke server MCP dari ekstensi Data Agent Kit untuk IDE Antigravity, Anda dapat menggunakan kredensial pengguna atau menggunakan peniruan akun layanan. Sebaiknya gunakan peniruan akun layanan untuk gcloud CLI dan kredensial default aplikasi (ADC) saat Anda terhubung ke server MCP.

Hal ini melibatkan memulai dengan kredensial yang Anda gunakan untuk login ke Google Cloud dan gcloud CLI di IDE Antigravity – biasanya akun pengguna Anda. Kemudian, Anda meminta kredensial berjangka pendek untuk akun layanan Anda dan menggunakan kredensial akun layanan, bukan kredensial pengguna Anda. Untuk mengetahui informasi selengkapnya, lihat Menggunakan peniruan akun layanan.

Untuk panduan tentang cara menggunakan peniruan akun layanan untuk mengautentikasi ke server MCP, lihat Peniruan akun layanan.

Autentikasi dan otorisasi

Saat Anda menggunakan IDE Antigravity, kredensial default aplikasi Anda akan mengautentikasi Anda ke Google Cloud server MCP.

Mengonfigurasi Google Cloud server MCP jarak jauh di ekstensi

Dengan menggunakan alat agentic di IDE, Anda dapat membuat instance klien MCP yang terhubung ke satu server MCP. Anda dapat memiliki beberapa klien yang terhubung ke server MCP yang berbeda. Untuk terhubung ke server MCP jarak jauh, klien MCP harus mengetahui setidaknya URL server MCP jarak jauh.

Untuk setiap klien, gunakan hal berikut sesuai kebutuhan.

  • Nama server: SERVER_NAME
  • Endpoint: ENDPOINT
  • Transportasi: HTTP
  • Detail autentikasi: Bergantung pada cara Anda ingin mengautentikasi, Anda dapat memasukkan Google Cloud kredensial, ID klien dan rahasia OAuth, atau identitas dan kredensial agen.
  • Cakupan OAuth: cakupan OAuth 2.0 yang ingin Anda gunakan saat terhubung ke server MCP AlloyDB.

Ganti SERVER_NAME dan ENDPOINT dengan nilai untuk layanan yang Anda hubungkan. Untuk AlloyDB, Anda harus menentukan region, seperti us-east4.

Layanan

Nama server

Endpoint

AlloyDB

Server MCP AlloyDB

https://alloydb.REGION.rep.googleapis.com/mcp

BigQuery

Server MCP BigQuery

https://bigquery.googleapis.com/mcp

Cloud SQL

Server MCP Cloud SQL

https://sqladmin.googleapis.com/mcp

Knowledge Catalog

Server MCP Knowledge Catalog

https://dataplex.googleapis.com/mcp

Managed Service untuk Apache Spark

Server MCP Managed Service untuk Apache Spark

https://dataproc-us-central1.googleapis.com/mcp

Spanner

Server MCP Spanner

https://spanner.googleapis.com/mcp

Konfigurasi MCP untuk toolbox dan server MCP jarak jauh

Gunakan konfigurasi berikut untuk setiap layanan Google Cloud Data Agent Kit yang ingin Anda hubungkan.

AlloyDB

Jarak jauh

'datacloud_alloydb_remote': {
  serverUrl: 'https://alloydb.REGION.rep.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  },
},

Lokal

'datacloud_alloydb-postgres-admin_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'alloydb-postgres-admin',
    '--stdio'
  ],
  'env': {},
},
'datacloud_alloydb-postgres_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'alloydb-postgres',
    '--stdio'
  ],
  'env': {
    'ALLOYDB_POSTGRES_CLUSTER': '',
    'ALLOYDB_POSTGRES_DATABASE': '',
    'ALLOYDB_POSTGRES_INSTANCE': '',
    'ALLOYDB_POSTGRES_IP_TYPE': '',
    'ALLOYDB_POSTGRES_PASSWORD': '',
    'ALLOYDB_POSTGRES_PROJECT': '',
    'ALLOYDB_POSTGRES_REGION': '',
    'ALLOYDB_POSTGRES_USER': '',
  },
},

BigQuery

Jarak jauh

'datacloud_bigquery_remote': {
  serverUrl: 'https://bigquery.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: [
      'https://www.googleapis.com/auth/bigquery',
      'https://www.googleapis.com/auth/cloud-platform',
    ],
},

Lokal

'datacloud_bigquery_toolbox': {
  command: 'npx',
  args: [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'bigquery',
    '--stdio'
  ],
  env: {
    'BIGQUERY_LOCATION': '',
    'BIGQUERY_PROJECT': '',
  },
},

Cloud SQL

Jarak jauh

'datacloud_cloud-sql_remote': {
  serverUrl: 'https://sqladmin.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  },
},

Lokal

'datacloud_cloud-sql-postgresql-admin_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'cloud-sql-postgres-admin',
    '--stdio'
  ],
  'env': {},
},
'datacloud_cloud-sql-postgresql_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'cloud-sql-postgres',
    '--stdio'
  ],
  'env': {
    'CLOUD_SQL_POSTGRES_DATABASE': '',
    'CLOUD_SQL_POSTGRES_INSTANCE': '',
    'CLOUD_SQL_POSTGRES_IP_TYPE': '',
    'CLOUD_SQL_POSTGRES_PASSWORD': '',
    'CLOUD_SQL_POSTGRES_PROJECT': '',
    'CLOUD_SQL_POSTGRES_REGION': '',
    'CLOUD_SQL_POSTGRES_USER': '',
  },
},

Knowledge Catalog

Jarak jauh

'datacloud_knowledge_catalog_remote': {
  serverUrl: 'https://dataplex.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  },
},

Lokal

'datacloud_knowledge_catalog_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'dataplex',
    '--stdio'
  ],
  'env': {
      'DATAPLEX_PROJECT': '${PROJECT_ID}',
    }

Managed Service untuk Apache Spark

Jarak jauh

'datacloud_managed_apache_spark_remote': {
          serverUrl: 'https://dataproc-${REGION}.googleapis.com/mcp',
          authProviderType: 'google_credentials',
          oauth: {
            scopes: ['https://www.googleapis.com/auth/dataproc'],
          },
        },

Lokal

'datacloud_managed_apache_spark_toolbox': {
        '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
        'command': 'npx',
        'args': [
          '-y',
          TOOLBOX_VERSION,
          '--prebuilt',
          'dataproc',
          '--stdio',
          '--user-agent-metadata',
          'google-cloud-data-agent-kit-${IDE_TYPE}',
        ],
        'env': {
          'DATAPROC_PROJECT': '${PROJECT_ID}',
          'DATAPROC_REGION': '${REGION}',
        },
      },
      'datacloud_serverless-spark_toolbox': {
        '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
        'command': 'npx',
        'args': [
          '-y',
          TOOLBOX_VERSION,
          '--prebuilt',
          'serverless-spark',
          '--stdio',
          '--user-agent-metadata',
          'google-cloud-data-agent-kit-${IDE_TYPE}',
        ],
        'env': {
          'SERVERLESS_SPARK_PROJECT': '${PROJECT_ID}',
          'SERVERLESS_SPARK_LOCATION': '${REGION}',
        },
      },

Spanner

Jarak jauh

'datacloud_spanner_remote': {
  serverUrl: 'https://spanner.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: [
      'https://www.googleapis.com/auth/spanner.admin',
      'https://www.googleapis.com/auth/spanner.data',
    ],
  },
},

Lokal

'datacloud_spanner_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'spanner',
    '--stdio'
  ],
  'env': {
    'SPANNER_DATABASE': '',
    'SPANNER_DIALECT': '',
    'SPANNER_INSTANCE': '',
    'SPANNER_PROJECT': '',
  },
},

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 Google Cloud organisasi atau project 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. Layanan ini berfungsi 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, maupun 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 dalam log Anda.

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, aktifkan Cloud Shell. Google Cloud

    Aktifkan Cloud Shell

    Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan prompt 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 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 Google Cloud

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

Siapkan setelan minimum Model Armor dengan sanitasi MCP diaktifkan. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi setelan minimum 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 Google Cloud project IDAnda.

Perhatikan setelan berikut:

  • INSPECT_AND_BLOCK: Jenis penerapan 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 kepercayaan untuk setelan filter AI yang Bertanggung Jawab - Berbahaya. Anda dapat mengubah setelan ini, meskipun nilai yang lebih rendah dapat menghasilkan lebih banyak positif palsu. Untuk mengetahui informasi selengkapnya, lihat Tingkat kepercayaan Model Armor.

Menonaktifkan pemindaian traffic MCP dengan Model Armor

Untuk menghentikan Model Armor agar tidak otomatis memindai traffic ke dan dari server MCP Google berdasarkan setelan minimum 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 the Google Cloud project ID. Model Armor tidak otomatis menerapkan aturan yang ditentukan dalam setelan minimum project ini ke traffic server MCP Google mana pun.

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

Mengontrol penggunaan MCP dengan kebijakan penolakan IAM

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

Misalnya, Anda dapat menolak atau mengizinkan akses berdasarkan:

  • Akun utama
  • Properti alat seperti hanya baca
  • ID klien OAuth aplikasi

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

Memecahkan masalah

Untuk menemukan metode dalam mendiagnosis dan menyelesaikan error ekstensi Data Agent Kit untuk IDE Antigravity, lihat Memecahkan masalah.

Langkah berikutnya