Menggunakan server MCP

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

Server MCP yang didukung

Server MCP jarak jauh berikut didukung untuk pekerjaan di ekstensi Data Agent Kit untuk VS Code. 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, MCP jarak jauh Spanner akan otomatis diaktifkan.

Google Cloud server MCP jarak jauh

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.

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.

Apa perbedaan antara server MCP lokal dan jarak jauh?

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 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 ekstensi VS Code.
  2. Siapkan dan konfigurasi ekstensi. Pastikan untuk mengaktifkan semua API.

Peran yang diperlukan

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

Bergantung pada resource yang ingin Anda akses, 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 Google Cloudyang didukung, 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 VS Code, Anda dapat menggunakan kredensial pengguna atau peniruan akun layanan. Sebaiknya gunakan peniruan identitas akun layanan untuk gcloud CLI dan kredensial default aplikasi (ADC) saat Anda terhubung ke server MCP.

Hal ini melibatkan penggunaan kredensial yang Anda gunakan untuk login ke Google Cloud dan gcloud CLI di VS Code – biasanya akun pengguna Anda. Kemudian, Anda meminta kredensial dengan masa aktif singkat untuk akun layanan Anda dan menggunakan kredensial akun layanan tersebut, bukan kredensial pengguna Anda. Untuk mengetahui informasi selengkapnya, lihat Menggunakan peniruan identitas akun layanan.

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

Autentikasi dan otorisasi

Selesaikan langkah-langkah autentikasi dan otorisasi berikut. Untuk mengetahui informasi selengkapnya tentang otorisasi Akun Google, lihat Menggunakan OAuth 2.0 untuk Mengakses Google API.

Mulai proses autentikasi di IDE

Untuk memulai proses, kirimkan perintah ke chat berbasis agen di IDE.

  1. Jika panel Chat tidak ditampilkan, buka palet perintah dengan menekan Cmd/Ctrl+Shift+P, lalu cari dan jalankan Open Chat.
  2. Di panel Chat, kirimkan perintah berikut:

    list BigQuery datasets using mcp server
    

    Agen akan menyarankan perintah gcloud CLI berikut:

    gcloud config get-value project
    
  3. Klik Izinkan.

    Dialog akan muncul untuk menanyakan apakah Anda ingin memberikan ID klien.

  4. Klik Salin URI & Lanjutkan.

    Palet perintah akan terbuka dan meminta client ID OAuth.

Mendapatkan client ID OAuth

Selanjutnya, dapatkan client ID OAuth Anda dari konsol Google Cloud .

  1. Di browser, buka Google Cloud console.
  2. Klik Select a project.
  3. Pilih project yang sama dengan yang Anda gunakan di ekstensi Data Agent Kit untuk VS Code.
  4. Di API navigation menu, klik Credentials.
  5. Di bagian OAuth 2.0 Client IDs, klik ID klien yang ingin Anda gunakan.
  6. Di panel detail, di bagian Informasi tambahan, temukan dan salin nilai untuk ID Klien.

Memberikan kredensial ke VS Code

Masukkan client ID dan rahasia klien Anda di IDE.

  1. Kembali ke VS Code.
  2. Tempelkan ID Klien ke dialog Tambahkan Detail Pendaftaran Klien.
  3. Tekan Enter.
  4. Kembali ke konsol dan salin nilai untuk Client secret.
  5. Kembali ke VS Code.
  6. Tempelkan rahasia klien ke dialog Tambahkan Detail Pendaftaran Klien, lalu tekan Enter.

    Agen terus berjalan, lalu dialog akan muncul yang menyatakan bahwa server MCP ingin melakukan autentikasi.

  7. Klik Izinkan.

  8. Jika Anda diminta untuk login ke Akun Google Anda lagi, ikuti petunjuk dan kembali ke IDE.

    Agen mendapatkan set data BigQuery yang Anda minta dari server MCP dan menampilkan daftar tersebut.

Mengonfigurasi Google Cloud server MCP jarak jauh di ekstensi

Dengan menggunakan alat agentik 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 setidaknya harus mengetahui 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 autentikasi yang Anda inginkan, Anda dapat memasukkan Google Cloud kredensial, ID dan secret klien OAuth, atau kredensial dan identitas 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

Eksternal

'alloydb': {
  remote: {
    vscode: {
      'datacloud_alloydb_remote': {
        type: 'http',
        url: '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

Eksternal

'datacloud_bigquery_remote': {
  type: 'http',
  url: '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

Eksternal

'datacloud_cloud-sql_remote': {
  type: 'http',
  url: '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

Eksternal

'datacloud_knowledge_catalog_remote': {
  type: 'http',
  url: '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

Eksternal

'datacloud_managed_apache_spark_remote': {
          type: 'http',
          url: '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

Eksternal

'datacloud_spanner_remote': {
  type: 'http',
  url: '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 organisasi atau project Google CloudAnda.

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

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

Untuk menghentikan Model Armor memindai traffic secara otomatis ke dan dari server MCP Google berdasarkan setelan batas bawah 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 batas bawah project ini ke traffic server MCP Google.

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

Memecahkan masalah

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

Langkah berikutnya