Server MCP Google Ads: Panduan integrasi developer

Model Context Protocol (MCP) adalah standar terbuka yang memungkinkan model bahasa besar (LLM) berinteraksi secara aman dengan data dan aplikasi eksternal. Server MCP Google Ads menyediakan jembatan standar ke Google Ads API. Alat ini memungkinkan agen AI mengambil dan menganalisis data akun, membuat aset, mengupload video, dan mengelola label menggunakan bahasa alami.

Referensi dan dukungan komunitas

Ringkasan teknis

Mengintegrasikan server MCP Google Ads menghilangkan kebutuhan untuk menulis kode kustom untuk autentikasi Google Ads API, pengambilan resource, penguraian data, dan mutasi aset atau label yang didukung. Server mengekspos alat yang dapat dipanggil dan resource referensi (lihat Kemampuan inti) yang dapat diperiksa dan dipanggil oleh LLM.

Spesifikasi utama

  • Protokol: MCP (Model Context Protocol)
  • Mode: Baca dan mutasi parsial (pembuatan aset, upload video, dan pengelolaan label dengan validasi usulkan dan konfirmasi, atau mode hanya baca yang dapat dikonfigurasi)
  • Bahasa: Python 3.10 atau yang lebih baru
  • Transport: Input/output standar (stdio) atau HTTP yang dapat di-stream (streamable-http di Cloud Run)
  • Autentikasi: Kredensial Default Aplikasi (kredensial pengguna OAuth 2.0 atau akun layanan) untuk stdio lokal, atau kredensial aplikasi Web OAuth 2.0 untuk HTTP jarak jauh

Cara kerja loop interaksi

  1. Permintaan: Anda mengirimkan perintah seperti "Bagaimana performa kampanye saya minggu ini?" atau "Buat aset info untuk promo musim panas kami".
  2. Penemuan: LLM memeriksa alat dan resource yang tersedia, lalu memilih alat google-ads-mcp yang cocok.
  3. Validasi eksekusi atau uji coba: Alat baca mengkueri Google Ads API secara langsung. Alat mutasi pertama kali dijalankan dalam mode usulan (validate_only=True) untuk memvalidasi input tanpa menerapkan perubahan (lihat Alur kerja keamanan usulkan dan konfirmasi).
  4. Injeksi konteks: Server MCP menampilkan hasil kueri terstruktur, atau entri change_items yang diusulkan dan ringkasan verifikasi checksum, ke jendela konteks LLM.
  5. Respons dan konfirmasi: LLM akan memberikan jawaban atau meminta Anda mengonfirmasi perubahan yang diusulkan. Setelah Anda menyetujui, LLM akan memanggil alat mutasi lagi dengan validate_only=False dan nilai checksum yang cocok untuk melakukan perubahan.

Mulai

Ikuti langkah-langkah berikut untuk mengonfigurasi dan menjalankan server MCP Google Ads secara lokal. Untuk men-deploy layanan jarak jauh bersama, lihat Deployment di Google Cloud.

Prasyarat

Sebelum mengonfigurasi server, selesaikan prasyarat berikut di lingkungan lokal Anda dan Konsol Google Cloud:

  • Project Google Cloud: Buat atau pilih project Google Cloud dengan Google Ads API diaktifkan. Mengaktifkan API akan memberikan Akses pengujian untuk menguji alur kerja baca dan mutasi terhadap akun pengujian. Untuk mengakses akun produksi, periksa halaman ringkasan Google Ads API untuk mengetahui akses Explorer, Dasar, atau akses standar, atau ajukan permohonan untuk salah satu tingkat akses ini. Jika tidak, panggilan produksi akan gagal dengan error AuthorizationError.CLOUD_PROJECT_NOT_APPROVED_FOR_PRODUCTION. Google akan menghentikan token developer (GOOGLE_ADS_DEVELOPER_TOKEN) pada 9 September 2026. Project Google Cloud yang memiliki klien OAuth atau akun layanan Anda menentukan tingkat akses API Anda.
  • Kredensial: Mode stdio lokal melakukan autentikasi dengan Kredensial Default Aplikasi (ADC) dari file JSON rahasia klien OAuth 2.0 atau akun layanan di project Cloud Anda. Tetapkan variabel lingkungan GOOGLE_CLOUD_PROJECT jika diperlukan untuk menentukan kuota default atau project ADC Anda. Deployment streamable-http jarak jauh memerlukan Client ID dan Rahasia klien aplikasi Web OAuth 2.0 (lihat Men-deploy ke Google Cloud Run).
  • Software lokal (untuk mode stdio): Instal Python 3.10 atau yang lebih baru, pipx, dan alat command line gcloud (digunakan untuk membuat file ADC pengguna).

Konfigurasi

  1. Buat Kredensial Default Aplikasi (ADC) menggunakan klien OAuth dari project Google Cloud yang mendukung API dan sertakan cakupan Google Ads API:

    gcloud auth application-default login \
      --scopes=https://www.googleapis.com/auth/adwords,https://www.googleapis.com/auth/cloud-platform \
      --client-id-file=PATH_TO_CLIENT_SECRET_JSON
    

    Ganti kode berikut:

    • PATH_TO_CLIENT_SECRET_JSON: jalur ke file JSON rahasia klien OAuth 2.0 Anda.

    Perintah ini mencetak Credentials saved to file: [PATH_TO_CREDENTIALS_JSON] (seperti ~/.config/gcloud/application_default_credentials.json di Linux dan macOS). Untuk melakukan autentikasi dengan akun layanan, lewati langkah ini dan arahkan GOOGLE_APPLICATION_CREDENTIALS ke file JSON kunci akun layanan Anda, atau teruskan --impersonate-service-account ke gcloud auth application-default login.

  2. Tambahkan server ke file konfigurasi MCP host Anda (seperti ~/.gemini/config/mcp_config.json, ~/.gemini/settings.json, atau ~/.claude/settings.json):

    {
      "mcpServers": {
        "google-ads-mcp": {
          "command": "pipx",
          "args": [
            "run",
            "--spec",
            "google-ads-mcp==0.0.6",
            "google-ads-mcp"
          ],
          "env": {
            "GOOGLE_CLOUD_PROJECT": "PROJECT_ID",
            "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON"
          }
        }
      }
    }
    

    Ganti kode berikut:

    • PROJECT_ID: Project ID Google Cloud Anda.
    • PATH_TO_CREDENTIALS_JSON: jalur ke file JSON ADC yang dicetak di langkah 1, atau ke file JSON kunci akun layanan Anda. Anda dapat menghilangkan GOOGLE_APPLICATION_CREDENTIALS saat menggunakan lokasi file ADC gcloud default.

    Untuk mengakses akun klien melalui akun pengelola, tetapkan GOOGLE_ADS_LOGIN_CUSTOMER_ID (10 digit, tanpa tanda hubung) di env, atau teruskan parameter login_customer_id pada panggilan alat individual.

Opsional: Lengkapi agen Anda dengan keterampilan dan Developer Assistant

Server MCP Google Ads memberi klien AI Anda akses langsung ke data pelaporan akun beserta alat pembuatan aset, upload video, dan pengelolaan label. Gabungkan server MCP dengan alat pendamping berikut untuk membantu agen Anda membuat kueri Google Ads Query Language (GAQL) yang valid dan mendiagnosis perubahan performa akun. Alat ini juga menghasilkan kode library klien, seperti skrip untuk menautkan aset yang dibuat ke kampanye atau melakukan mutasi lain yang tidak didukung:

  • Kemampuan agen Google Ads API: Modul alur kerja portabel (termasuk google-ads-api-mcp-setup, google-ads-api-account-diagnostics, dan google-ads-api-quickstart) yang membantu agen Anda menggunakan server MCP Google Ads dengan overhead token yang lebih rendah. Jalankan perintah berikut untuk menginstalnya (memerlukan Node.js), atau lihat panduan kemampuan agen Google Ads API untuk penyiapan Antigravity, Claude Code, Codex, dan Cursor:

    npx skills add google/skills/skills/ads
    
  • Asisten Developer Google Ads API: Plugin modular untuk Google Antigravity dan Claude Code yang menyediakan pemeriksaan skema Protobuf lokal, validasi GAQL, pembuatan kode library klien, dan pemecahan masalah konversi offline. Baca Apa yang dimaksud dengan Asisten Developer Google Ads API? atau ikuti panduan penginstalan.

Kemampuan inti

Bagian berikut menjelaskan alat baca, alat mutasi parsial, dan resource referensi server. Mulai v0.0.6, alat akan didaftarkan secara default dengan awalan namespace kategorinya (seperti search_search). Saat mengupgrade perintah atau daftar yang diizinkan dari rilis tanpa awalan, perbarui nama alat atau tetapkan awalan kosong ("") di tools_config.yaml (lihat Mengonfigurasi namespace alat dan mode hanya baca).

Alat baca

  • customers_list_accessible_customers (alat list_accessible_customers): Menampilkan ID pelanggan Google Ads yang dapat diakses langsung oleh pengguna yang diautentikasi.
  • search_search (alat search): Mem-build dan menjalankan kueri GAQL SearchStream dari parameter terstruktur (customer_id, resource, dan fields, plus conditions, orderings, limit, dan login_customer_id opsional), bukan string GAQL mentah. Setiap kueri menambahkan PARAMETERS omit_unselected_resource_names=true untuk mengambil atribut, metrik, segmen, anggaran, dan status resource dengan jelas.
  • metadata_get_resource_metadata (alat get_resource_metadata): Mengambil atribut, metrik, dan segmen yang dapat dipilih, difilter, dan diurutkan untuk jenis resource Google Ads API (misalnya, "campaign"). Gunakan metadata ini untuk menemukan kolom kueri yang valid—termasuk metrik dan segmen yang ditambahkan dalam rilis minor seperti v26.2—sebelum memanggil alat search_search.

Alat mutasi (dukungan parsial)

  • assets_create_asset (alat create_asset): Membuat aset Google Ads mandiri dengan parameter khusus untuk jenis aset TEXT, IMAGE, YOUTUBE_VIDEO, SITELINK, CALLOUT, dan STRUCTURED_SNIPPET. Teruskan kamus extra_params untuk jenis AssetService yang dapat diubah lainnya (seperti PRICE, PROMOTION, CALL, atau BUSINESS_MESSAGE), dan sertakan final_urls tingkat root bersama sitelink_link_text untuk aset SITELINK. Jalur file lokal (image_asset_path) hanya berfungsi dalam mode stdio lokal. Untuk deployment HTTP jarak jauh, teruskan parameter image_asset_data berenkode base64 dengan image_asset_mime_type yang ditetapkan ke IMAGE_PNG, IMAGE_JPEG, atau IMAGE_GIF (hingga 20 MB).
  • assets_upload_video_asset (alat upload_video_asset): Mengupload file video lokal (.3gp, .avi, .flv, .mkv, .mov, .mp4, .mpeg, .mpg, .ogg, .webm, atau .wmv) ke YouTube melalui Google Ads API hanya dalam mode stdio lokal. video_title dan video_description adalah parameter wajib, dan privasi ditetapkan secara default ke UNLISTED (atau PUBLIC di channel brand milik pengiklan dengan OAuth pengguna). Alat ini menampilkan nilai video_upload_id (dan nama resource) Google Ads, bukan video_id YouTube yang berisi 11 karakter. Buat kueri you_tube_video_upload dengan alat search_search (pemfilteran menurut you_tube_video_upload.video_upload_id) hingga you_tube_video_upload.state = 'PROCESSED'. Kemudian, teruskan you_tube_video_upload.video_id sebagai parameter youtube_video_id ke assets_create_asset (asset_type="YOUTUBE_VIDEO").
  • labels_manage_labels (alat manage_labels): Membuat, memperbarui, dan menghapus label akun, termasuk nama, deskripsi, dan warna latar belakang hex.
  • labels_manage_label_associations (alat manage_label_associations): Mendukung operasi pengaitan label CREATE dan REMOVE (UPDATE tidak didukung) pada resource CAMPAIGN, CUSTOMER, AD_GROUP, dan AD_GROUP_CRITERION. Untuk resource CUSTOMER, resource_id bersifat opsional dan ditetapkan secara default ke customer_id. Teruskan ID {ad_group_id}~{criterion_id} gabungan untuk resource AD_GROUP_CRITERION, dan hapus pengaitan dengan meneruskan resource_id dan label_id atau association_resource_name. Label AD_GROUP_AD tingkat iklan tidak didukung.

Referensi referensi

Server mengekspos empat resource MCP hanya baca yang tetap terpasang, terlepas dari setelan tools_config.yaml Anda:

  • resource://discovery-document: Ringkasan penemuan REST JSON untuk resource, metode layanan, dan skema Google Ads API. Alat ini melengkapi alat metadata_get_resource_metadata, yang menampilkan kolom kueri GAQL yang dapat dipilih, difilter, dan diurutkan.
  • resource://metrics: Dokumentasi referensi HTML untuk metrik Google Ads API.
  • resource://segments: Dokumentasi referensi HTML untuk segmen Google Ads API.
  • resource://release-notes: Catatan rilis Google Ads API HTML yang mencakup perubahan versi dan fitur baru.

Alur kerja keamanan usulkan dan konfirmasi

Setiap alat mutasi (assets_create_asset, assets_upload_video_asset, labels_manage_labels, dan labels_manage_label_associations) menerapkan alur kerja usulkan dan konfirmasi dua langkah untuk membantu mencegah modifikasi akun yang tidak diinginkan:

  1. Propose (validate_only=True, default): Memvalidasi input tanpa melakukan perubahan. Alat aset dan label menjalankan uji coba validate_only Google Ads API secara langsung. Karena YouTubeVideoUploadService tidak memiliki mode uji coba, assets_upload_video_asset akan memvalidasi file lokal dan mengikat ukuran serta stempel waktu modifikasinya. Setiap alat menampilkan entri change_items yang dapat dibaca manusia dan ringkasan checksum SHA-256 stateless yang terikat ke parameter customer_id dan payload permintaan.
  2. Konfirmasi (validate_only=False): Setelah menampilkan daftar change_items dan menerima persetujuan Anda, agen akan memanggil alat lagi dengan validate_only=False, parameter dan argumen customer_id yang identik, dan nilai checksum dari langkah 1. Server akan menolak checksum yang tidak ada atau tidak cocok sebelum mengubah akun.

Mengonfigurasi namespace alat dan mode hanya baca

Server memaketkan file tools_config.yaml default dengan kelima kategori alat (customers, search, metadata, labels, dan assets) diaktifkan. Sesuaikan tools_config.yaml untuk mengaktifkan atau menonaktifkan alat atau namespace tertentu secara selektif, mengubah atau menghapus awalan namespace, atau menerapkan deployment hanya baca yang ketat.

Saat memulai, server akan me-resolve tools_config.yaml dalam urutan berikut:

  1. Jalur eksplisit dalam variabel lingkungan GOOGLE_ADS_MCP_TOOLS_CONFIG (direkomendasikan untuk host stdio lokal, yang direktori kerjanya dapat berbeda dari folder project Anda).
  2. File tools_config.yaml di direktori kerja server saat ini.
  3. File tools_config.yaml default yang dipaketkan dengan paket.

Jika GOOGLE_ADS_MCP_TOOLS_CONFIG mengarah ke file yang tidak ada, atau jika file konfigurasi yang di-resolve tidak valid, server akan memunculkan error saat memulai, bukan kembali ke setelan default.

File tools_config.yaml minimal berikut menerapkan deployment yang benar-benar hanya baca:

namespaces:
  customers: true
  search: true
  metadata: true
  labels: false
  assets: false

File tools_config.yaml berikut menyesuaikan awalan dan memfilter setiap alat (misalnya, mengekspos alat create_asset base64 di Cloud Run sekaligus menonaktifkan alat upload_video_asset khusus lokal):

namespaces:
  # Default prefix ("customers_list_accessible_customers")
  customers: true

  # Empty prefix mounts unprefixed tool names ("search")
  search: ""

  # Custom prefix ("schema_get_resource_metadata")
  metadata: "schema"

  # Enable only specific tools in a multi-tool category
  assets:
    enabled_tools:
      - create_asset

Contoh perintah untuk memulai

Coba perintah berikut di klien MCP Anda setelah menghubungkan server.

Menanyakan apa yang dapat dilakukan server

What can the google-ads-mcp server do?

Bertanya tentang pelanggan

What customers do I have access to?

Tanyakan tentang kampanye

How many active campaigns do I have?
How is my campaign performance this week?
Give me a report of the top spending campaigns split by device category over the last 7 days for account 1234567890

Membuat aset, mengupload video, dan mengelola label

Create a callout asset with the text "Free Shipping" for account 1234567890
Upload /path/to/promo.mp4 with title "Summer Sale" and description "Summer promo video" for account 1234567890
Create a label named "Q4 Promo" with background color #34A853 and apply it to campaign 9876543210 in account 1234567890

Deployment di Google Cloud

Untuk membagikan server MCP ke beberapa agen atau menjalankannya sebagai layanan web, hosting server tersebut di Google Cloud Run atau penyedia infrastruktur cloud lainnya, bukan menjalankannya secara lokal.

Prasyarat

  1. Project Google Cloud dengan Google Ads API diaktifkan (lihat Prasyarat untuk persyaratan akses produksi).
  2. Alat command line gcloud diinstal, diautentikasi, dan dikonfigurasi dengan project aktif:

    gcloud config set project PROJECT_ID
    

    Ganti kode berikut:

    • PROJECT_ID: Project ID Google Cloud Anda.

Membangun dan mengirim image Docker

Gunakan Cloud Build untuk membangun dan mengirim image container ke Artifact Registry tanpa menginstal Docker secara lokal:

  1. Buat repositori di Artifact Registry:

    gcloud artifacts repositories create mcp-servers \
      --repository-format=docker --location=us-central1
    
  2. Bangun dan kirim image dari tag rilis di repositori GitHub (atau dari . di checkout lokal jika Anda menyesuaikan Dockerfile atau tools_config.yaml):

    gcloud builds submit https://github.com/googleads/google-ads-mcp \
      --git-source-revision=v0.0.6 \
      --tag=us-central1-docker.pkg.dev/PROJECT_ID/mcp-servers/google-ads-mcp:v0.0.6
    

    Ganti kode berikut:

    • PROJECT_ID: Project ID Google Cloud Anda.

    Bangun ulang dan deploy ulang image setiap kali Anda mengupdate google-ads-mcp atau mengupgrade library klien Python google-ads yang dipaketkan untuk rilis Google Ads API baru (seperti v26.2).

Men-deploy ke Google Cloud Run

Konfigurasikan variabel lingkungan dan secret berikut untuk layanan Cloud Run Anda:

  • GOOGLE_ADS_MCP_OAUTH_CLIENT_ID: Client ID Aplikasi web OAuth 2.0 dari project Google Cloud yang mendukung API untuk autentikasi OAuth tingkat aplikasi. Selesaikan langkah-langkah konfigurasi OAuth berikut:
    • Tambahkan URI pengalihan yang diizinkan untuk klien AI yang ingin Anda hubungkan (seperti https://claude.ai/api/mcp/auth_callback, https://chatgpt.com/connector_platform_oauth_redirect, atau https://antigravity.google/oauth-callback).
    • Tambahkan cakupan https://www.googleapis.com/auth/adwords ke layar izin OAuth di bagian APIs & Services > OAuth consent screen > Data Access (Add or remove scopes).
    • Jika status publikasi layar izin OAuth Anda ditetapkan ke Pengujian (default), tambahkan Akun Google yang terhubung ke server MCP sebagai Pengguna pengujian di bagian APIs & Services > OAuth consent screen > Audience (Test users > + Add users).
  • GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET: Rahasia Klien OAuth yang sesuai dengan Client ID OAuth Anda.
  • GOOGLE_ADS_MCP_BASE_URL: URL dasar publik server MCP Anda (misalnya, https://google-ads-mcp-xyz-uc.a.run.app). Cloud Run menetapkan URL ini selama deployment awal, jadi deploy tanpa variabel ini terlebih dahulu dan update layanan setelahnya.
  • GOOGLE_ADS_MCP_JWT_SIGNING_KEY (direkomendasikan untuk Cloud Run multi-instance): Secret persisten yang menandatangani JWT FastMCP di seluruh mulai ulang container dan penskalaan horizontal.
  • GOOGLE_ADS_MCP_STORAGE_TYPE (direkomendasikan untuk Cloud Run multi-instance): Backend persisten untuk pendaftaran dan token klien OAuth (redis dengan GOOGLE_ADS_MCP_STORAGE_REDIS_URL, atau firestore). Karena v0.0.6 Dockerfile standar hanya menginstal backend dalam memori, instal py-key-value-aio[redis] atau .[firestore] di Dockerfile kustom terlebih dahulu. Penggunaan firestore juga memerlukan database Firestore dan peran IAM roles/datastore.user di akun layanan Cloud Run. Untuk pengujian instance tunggal dengan penyimpanan dalam memori, teruskan --max-instances=1.
  • GOOGLE_ADS_LOGIN_CUSTOMER_ID (opsional): ID pelanggan pengelola 10 digit default (tanpa tanda hubung) yang digunakan saat panggilan alat menghilangkan parameter login_customer_id.
  • GOOGLE_ADS_MCP_TOOLS_CONFIG (opsional): Jalur container ke file tools_config.yaml kustom (misalnya, dipasang dari Secret Manager di /etc/mcp/tools_config.yaml untuk menerapkan mode hanya baca tanpa membangun ulang image). Lihat Mengonfigurasi namespace alat dan mode hanya baca.

Simpan GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET dan GOOGLE_ADS_MCP_JWT_SIGNING_KEY di Secret Manager dan deploy layanan ke Google Cloud Run:

gcloud run deploy google-ads-mcp \
  --image=us-central1-docker.pkg.dev/PROJECT_ID/mcp-servers/google-ads-mcp:v0.0.6 \
  --platform=managed \
  --region=us-central1 \
  --allow-unauthenticated \
  --set-env-vars="GOOGLE_ADS_MCP_OAUTH_CLIENT_ID=CLIENT_ID" \
  --set-secrets="GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET=MCP_OAUTH_CLIENT_SECRET:latest,GOOGLE_ADS_MCP_JWT_SIGNING_KEY=MCP_JWT_SIGNING_KEY:latest"

Setelah Cloud Run menyelesaikan deployment, ambil URL layanan yang ditetapkan dan perbarui layanan dengan variabel lingkungan GOOGLE_ADS_MCP_BASE_URL:

gcloud run services update google-ads-mcp \
  --region=us-central1 \
  --update-env-vars="GOOGLE_ADS_MCP_BASE_URL=https://CLOUD_RUN_SERVICE_URL"

Ganti kode berikut:

  • PROJECT_ID: Project ID Google Cloud Anda.
  • CLIENT_ID: Client ID aplikasi Web OAuth 2.0 Anda.
  • MCP_OAUTH_CLIENT_SECRET: nama secret Secret Manager yang menyimpan rahasia Klien OAuth 2.0 Anda.
  • MCP_JWT_SIGNING_KEY: nama secret Secret Manager yang menyimpan kunci penandatanganan JWT Anda.
  • CLOUD_RUN_SERVICE_URL: nama host yang ditetapkan ke layanan Cloud Run Anda (misalnya, google-ads-mcp-xyz-uc.a.run.app).

Model autentikasi dan keamanan

Men-deploy dengan --allow-unauthenticated akan menonaktifkan pemeriksaan IAM infrastruktur Cloud Run (roles/run.invoker) sehingga klien AI eksternal dapat terhubung tanpa token akun layanan Google Cloud. Autentikasi didelegasikan ke lapisan aplikasi:

  • Jika GOOGLE_ADS_MCP_OAUTH_CLIENT_ID dan GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET ditetapkan, server akan menerapkan Google OAuth 2.0 pada setiap permintaan dan menampilkan kode status HTTP 401 Unauthorized kepada pemanggil yang tidak diautentikasi. Setiap panggilan alat dijalankan di bawah identitas OAuth pemanggil yang diautentikasi.
  • Jika --allow-unauthenticated dihilangkan, pemanggil harus meneruskan token identitas OIDC Google Cloud dengan setiap permintaan. Klien AI standar (seperti Claude dan ChatGPT) menggunakan OAuth pengguna akhir, bukan token Google Cloud IAM, sehingga koneksi langsung memerlukan --allow-unauthenticated yang dipasangkan dengan OAuth tingkat aplikasi.

Mengonfigurasi klien MCP

Setelah deployment, konfigurasikan klien MCP Anda dengan URL layanan Cloud Run. Karena server menerapkan OAuth 2.0, klien Anda harus mendukung alur OAuth MCP atau menyediakan token pemilik yang diotorisasi:

  • Klien yang mendukung OAuth: Di klien yang mendukung penemuan OAuth MCP (seperti Antigravity), menghubungkan akan memicu dialog login Google untuk memberikan cakupan https://www.googleapis.com/auth/adwords (ditampilkan sebagai .../auth/adwords di Konsol Google Cloud).
  • Platform AI pihak ketiga (Claude, ChatGPT): Di setelan konektor klien, tambahkan konektor kustom yang mengarah ke URL layanan Anda dengan jalur /mcp (misalnya, https://google-ads-mcp-xyz-uc.a.run.app/mcp). Pilih autentikasi OAuth 2.0 dengan Client ID dan Rahasia klien OAuth Anda, dan pastikan URI callback klien ada di URI pengalihan yang diizinkan klien OAuth Anda.
  • Klien tanpa dukungan OAuth: Klien yang tidak mendukung alur OAuth HTTP akan menerima kode status HTTP 401 Unauthorized. Untuk klien tersebut, gunakan konfigurasi stdio lokal.

Contoh berikut mengonfigurasi alat command line gemini di ~/.gemini/settings.json (untuk Google Antigravity di ~/.gemini/config/mcp_config.json, ganti "httpUrl" dengan "serverUrl" atau "url"):

{
  "mcpServers": {
    "google-ads-mcp": {
      "httpUrl": "https://CLOUD_RUN_SERVICE_URL/mcp"
    }
  }
}

Ganti kode berikut:

  • CLOUD_RUN_SERVICE_URL: nama host yang ditetapkan ke layanan Cloud Run Anda (misalnya, google-ads-mcp-xyz-uc.a.run.app).

Langkah berikutnya