MCP-сервер Google Рекламы: руководство по интеграции для разработчиков

Model Context Protocol (MCP) – это открытый стандарт, который позволяет большим языковым моделям (LLM) безопасно взаимодействовать с внешними данными и приложениями. MCP-сервер Google Рекламы – это стандартизированный мост к Google Ads API. С его помощью ИИ-агенты могут извлекать и анализировать данные в аккаунте, создавать объекты, загружать видео и управлять ярлыками, используя естественный язык.

Ресурсы и поддержка сообщества

Технический обзор

Интеграция сервера MCP Google Рекламы устраняет необходимость писать собственный код для аутентификации Google Ads API, получения ресурсов, синтаксического анализа данных и поддерживаемых изменений объектов или ярлыков. Сервер предоставляет вызываемые инструменты и справочные ресурсы (см. раздел Основные возможности), которые LLM может проверять и вызывать.

Основные характеристики

  • Протокол: MCP (Model Context Protocol).
  • Режим: чтение и частичное изменение (создание объектов, загрузка видео и управление ярлыками с проверкой по принципу "предложение и подтверждение" или настраиваемый режим "только чтение").
  • Язык: Python 3.10 или более поздней версии.
  • Транспорт. Стандартный ввод/вывод (stdio) или потоковый HTTP (streamable-http в Cloud Run).
  • Аутентификация. Application Default Credentials (учетные данные пользователя OAuth 2.0 или сервисного аккаунта) для локального stdio или учетные данные веб-приложения OAuth 2.0 для удаленного HTTP.

Как работает цикл взаимодействия

  1. Запрос. Вы отправляете запрос, например "Какова эффективность моей кампании на этой неделе?" или "Создай объект уточнения для летней распродажи".
  2. Обнаружение. LLM проверяет доступные инструменты и ресурсы и выбирает подходящий инструмент google-ads-mcp.
  3. Выполнение или пробная проверка. Инструменты чтения отправляют запросы напрямую в Google Ads API. Инструменты изменения сначала запускаются в режиме предложения (validate_only=True), чтобы проверить входные данные без внесения изменений (см. раздел Безопасный рабочий процесс с предложением и подтверждением).
  4. Внедрение контекста. MCP-сервер возвращает структурированные результаты запроса или предложенные записи change_items и сводку проверки checksum в окно контекста LLM.
  5. Ответ и подтверждение. LLM предоставляет ответ или просит вас подтвердить предложенные изменения. После того как вы одобрите изменение, LLM снова вызовет инструмент mutate с validate_only=False и соответствующим значением checksum, чтобы применить изменение.

Начать

Чтобы настроить и запустить сервер MCP Google Рекламы локально, выполните следующие действия. Чтобы развернуть общий удаленный сервис, ознакомьтесь с руководством по развертыванию в Google Cloud.

Требования

Прежде чем настраивать сервер, выполните следующие действия в локальной среде и консоли Google Cloud:

  • Проект Google Cloud. Создайте или выберите проект Google Cloud с включенным Google Ads API. Включив API, вы получите тестовый доступ, который позволит вам тестировать рабочие процессы чтения и изменения в тестовых аккаунтах. Чтобы получить доступ к рабочим аккаунтам, проверьте, есть ли у вас доступ уровня Explorer, Basic или стандартный доступ, на обзорной странице Google Ads API или подайте заявку на один из этих уровней доступа. В противном случае вызовы в рабочей среде будут завершаться ошибкой AuthorizationError.CLOUD_PROJECT_NOT_APPROVED_FOR_PRODUCTION. 9 сентября 2026 г. Google прекратит поддержку токенов разработчика (GOOGLE_ADS_DEVELOPER_TOKEN). Уровень доступа к API определяется проектом Google Cloud, которому принадлежит ваш клиент OAuth или сервисный аккаунт.
  • Учетные данные. В локальном режиме stdio аутентификация выполняется с помощью Application Default Credentials (ADC) из JSON-файла с секретным кодом клиента OAuth 2.0 или сервисного аккаунта в вашем облачном проекте. При необходимости задайте переменную среды GOOGLE_CLOUD_PROJECT, чтобы указать квоту по умолчанию или проект ADC. Для удаленного развертывания streamable-http требуется идентификатор клиента и секретный код клиента веб-приложения OAuth 2.0 (см. раздел Развертывание в Google Cloud Run).
  • Локальное ПО (для режима stdio). Установите Python 3.10 или более поздней версии, pipx и инструмент командной строки gcloud (используется для создания файлов ADC пользователя).

Конфигурация

  1. Создайте учетные данные по умолчанию для приложения (ADC), используя клиент OAuth из проекта Google Cloud с включенным API, и добавьте область действия 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
    

    Замените следующее:

    • PATH_TO_CLIENT_SECRET_JSON – путь к JSON-файлу с секретным кодом клиента OAuth 2.0.

    Эта команда выводит Credentials saved to file: [PATH_TO_CREDENTIALS_JSON] (например, ~/.config/gcloud/application_default_credentials.json в Linux и macOS). Чтобы выполнить аутентификацию с помощью сервисного аккаунта, пропустите этот шаг и укажите в GOOGLE_APPLICATION_CREDENTIALS путь к JSON-файлу ключа сервисного аккаунта или передайте --impersonate-service-account в gcloud auth application-default login.

  2. Добавьте сервер в файл конфигурации MCP хоста (например, ~/.gemini/config/mcp_config.json, ~/.gemini/settings.json или ~/.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"
          }
        }
      }
    }
    

    Замените следующее:

    • PROJECT_ID – идентификатор проекта Google Cloud.
    • PATH_TO_CREDENTIALS_JSON – путь к JSON-файлу ADC, указанному на шаге 1, или к JSON-файлу ключа сервисного аккаунта. Если вы используете расположение файла ADC по умолчанию (gcloud), то можете не указывать GOOGLE_APPLICATION_CREDENTIALS.

    Чтобы получить доступ к клиентским аккаунтам через управляющий аккаунт, задайте GOOGLE_ADS_LOGIN_CUSTOMER_ID (10 цифр без дефисов) в env или передайте параметр login_customer_id при вызове отдельных инструментов.

Дополнительно: добавьте навыки и помощника разработчика

MCP-сервер Google Рекламы предоставляет вашему ИИ-клиенту доступ к данным отчетов аккаунта, а также к инструментам для создания объектов, загрузки видео и управления ярлыками. Чтобы агент мог создавать корректные запросы на языке запросов Google Рекламы (GAQL) и диагностировать изменения эффективности аккаунта, используйте сервер MCP вместе со следующими инструментами: Эти инструменты также генерируют код клиентской библиотеки, например скрипты для связывания созданных объектов с кампаниями или выполнения других неподдерживаемых изменений:

  • Навыки агента Google Ads API. Портативные модули рабочих процессов (включая google-ads-api-mcp-setup, google-ads-api-account-diagnostics и google-ads-api-quickstart), которые помогают агенту использовать сервер MCP Google Рекламы с меньшими затратами токенов. Чтобы установить их, выполните следующую команду (требуется Node.js). Инструкции по настройке Antigravity, Claude Code, Codex и Cursor вы найдете в руководстве по навыкам агента Google Ads API.

    npx skills add google/skills/skills/ads
    
  • Google Ads API Developer Assistant. Модульный плагин для Google Antigravity и Claude Code, который позволяет проверять локальные схемы Protobuf, GAQL-запросы и устранять неполадки с офлайн-конверсиями, а также генерировать код клиентской библиотеки. Прочитайте статью Что такое Google Ads API Developer Assistant? или следуйте руководству по установке.

Основные возможности

В следующих разделах описываются инструменты сервера для чтения, инструменты для частичного изменения и справочные ресурсы. Начиная с версии v0.0.6 инструменты по умолчанию регистрируются с префиксом пространства имен категории (например, search_search). При обновлении подсказок или белых списков из выпусков без префикса обновите названия инструментов или задайте пустой префикс ("") в tools_config.yaml (см. раздел Как настроить пространства имен инструментов и режим "только чтение").

Инструменты чтения

  • customers_list_accessible_customers (инструмент list_accessible_customers) – возвращает идентификаторы клиентов Google Рекламы, напрямую доступные аутентифицированному пользователю.
  • search_search (инструмент search) – создает и выполняет запросы GAQLSearchStream на основе структурированных параметров (customer_id, resource и fields, а также необязательных conditions, orderings, limit и login_customer_id), а не необработанной строки GAQL. Каждый запрос добавляет PARAMETERS omit_unselected_resource_names=true, чтобы получить атрибуты ресурсов, показатели, сегменты, бюджеты и статус.
  • metadata_get_resource_metadata (инструмент get_resource_metadata). Извлекает атрибуты, показатели и сегменты, которые можно выбирать, фильтровать и сортировать, для типа ресурса Google Ads API (например, "campaign"). Используйте эти метаданные, чтобы найти допустимые поля запроса, включая показатели и сегменты, добавленные в минорных выпусках, таких как v26.2, перед вызовом инструмента search_search.

Инструменты изменения (частичная поддержка)

  • assets_create_asset (инструмент create_asset): создает отдельные объекты Google Рекламы со специальными параметрами для объектов типа TEXT, IMAGE, YOUTUBE_VIDEO, SITELINK, CALLOUT и STRUCTURED_SNIPPET. Передайте словарь extra_params для других изменяемых типов AssetService (например, PRICE, PROMOTION, CALL или BUSINESS_MESSAGE) и включите final_urls корневого уровня вместе с sitelink_link_text для объектов SITELINK. Пути к локальным файлам (image_asset_path) работают только в локальном режиме (stdio). Для удаленных развертываний HTTP передайте параметр image_asset_data в кодировке base64, задав для image_asset_mime_type значение IMAGE_PNG, IMAGE_JPEG или IMAGE_GIF (до 20 МБ).
  • assets_upload_video_asset (инструмент upload_video_asset): загружает локальный видеофайл (.3gp, .avi, .flv, .mkv, .mov, .mp4, .mpeg, .mpg, .ogg, .webm или .wmv) на YouTube через Google Ads API только в локальном режиме stdio. Параметры video_title и video_description являются обязательными. По умолчанию для параметра privacy задается значение UNLISTED (или PUBLIC на каналах бренда, принадлежащих рекламодателю, с OAuth пользователя). Этот инструмент возвращает значение video_upload_id Google Рекламы (и название ресурса), а не 11-символьный video_id YouTube. Запрос you_tube_video_upload с помощью инструмента search_search (фильтрация по you_tube_video_upload.video_upload_id) до you_tube_video_upload.state = 'PROCESSED'. Затем передайте you_tube_video_upload.video_id в качестве параметра youtube_video_id в assets_create_asset (asset_type="YOUTUBE_VIDEO").
  • labels_manage_labels (инструмент manage_labels) – создает, обновляет и удаляет ярлыки аккаунтов, включая название, описание и шестнадцатеричный код цвета фона.
  • labels_manage_label_associations (инструмент manage_label_associations): поддерживает операции связывания ярлыков CREATE и REMOVE (UPDATE не поддерживается) для ресурсов CAMPAIGN, CUSTOMER, AD_GROUP и AD_GROUP_CRITERION. Для ресурсов CUSTOMER параметр resource_id является необязательным и по умолчанию имеет значение customer_id. Передайте составной идентификатор {ad_group_id}~{criterion_id} для ресурсов AD_GROUP_CRITERION и удалите связи, передав resource_id и label_id или association_resource_name. Ярлыки на уровне объявлений AD_GROUP_AD не поддерживаются.

Справочные ресурсы

Сервер предоставляет четыре ресурса MCP, доступных только для чтения. Они остаются подключенными независимо от настроек tools_config.yaml:

  • resource://discovery-document. Обзор ресурсов, методов сервиса и схем Google Ads API в JSON REST. Он дополняет инструмент metadata_get_resource_metadata, который возвращает поля запросов GAQL, доступные для выбора, фильтрации и сортировки.
  • resource://metrics: справочная документация по показателям Google Ads API в формате HTML.
  • resource://segments – справочная документация по сегментам Google Ads API в формате HTML.
  • resource://release-notes: HTML-примечания к выпуску Google Ads API, в которых рассказывается об изменениях в версиях и новых функциях.

Процесс обеспечения безопасности "Предложение и подтверждение"

Каждый инструмент изменения (assets_create_asset, assets_upload_video_asset, labels_manage_labels и labels_manage_label_associations) использует двухэтапный рабочий процесс предложения и подтверждения, чтобы предотвратить непреднамеренные изменения аккаунта:

  1. Propose (validate_only=True, по умолчанию). Проверяет входные данные без внесения изменений. Инструменты для работы с объектами и ярлыками выполняют пробный запуск Google Ads API. validate_only Поскольку в YouTubeVideoUploadService нет режима пробного выполнения, assets_upload_video_asset проверяет локальный файл и привязывает его размер и временную метку изменения. Каждый инструмент возвращает человекочитаемые записи change_items и дайджест SHA-256 checksum без сохранения состояния, привязанный к параметру customer_id и полезной нагрузке запроса.
  2. Подтверждение (validate_only=False). После того как агент покажет список change_items и получит ваше одобрение, он снова вызовет инструмент с параметром validate_only=False, тем же параметром customer_id и аргументами, а также значением checksum из шага 1. Сервер отклоняет любые отсутствующие или несовпадающие контрольные суммы перед изменением аккаунта.

Настройте пространства имен инструментов и режим "только чтение"

Сервер поставляется с файлом tools_config.yaml по умолчанию, в котором включены все пять категорий инструментов (customers, search, metadata, labels и assets). Настройте tools_config.yaml, чтобы выборочно включать или отключать отдельные инструменты или пространства имен, изменять или удалять префиксы пространств имен или принудительно развертывать строго только для чтения.

При запуске сервер разрешает tools_config.yaml в следующем порядке:

  1. Явный путь в переменной среды GOOGLE_ADS_MCP_TOOLS_CONFIG (рекомендуется для локальных хостов stdio, рабочие каталоги которых могут отличаться от папки проекта).
  2. Файл tools_config.yaml в текущем рабочем каталоге сервера.
  3. Файл tools_config.yaml по умолчанию, который входит в пакет.

Если GOOGLE_ADS_MCP_TOOLS_CONFIG указывает на отсутствующий файл или если какой-либо разрешенный файл конфигурации недействителен, сервер выдает ошибку при запуске вместо возврата к значениям по умолчанию.

Ниже приведен пример минимального файла tools_config.yaml, который обеспечивает развертывание только для чтения:

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

В следующем файле tools_config.yaml настраиваются префиксы и фильтруются отдельные инструменты (например, инструмент create_asset base64 становится доступен в Cloud Run, а локальный инструмент upload_video_asset отключается):

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

Примеры запросов

После подключения сервера попробуйте ввести в MCP-клиенте следующие запросы.

Спросите, что может сделать сервер

What can the google-ads-mcp server do?

Задайте вопрос о клиентах

What customers do I have access to?

Задать вопрос о кампаниях

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

Как создавать объекты, загружать видео и управлять ярлыками

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

Развертывание в Google Cloud

Чтобы использовать MCP-сервер с несколькими агентами или запустить его как веб-сервис, разместите его в Google Cloud Run или у другого поставщика облачной инфраструктуры, а не запускайте локально.

Требования

  1. Проект Google Cloud с включенным Google Ads API (требования для доступа к рабочей версии см. в разделе Предварительные требования).
  2. Установлен инструмент командной строки gcloud, выполнена аутентификация и настроен активный проект.

    gcloud config set project PROJECT_ID
    

    Замените следующее:

    • PROJECT_ID – идентификатор проекта Google Cloud.

Как создать и отправить образ Docker

Используйте Cloud Build, чтобы создать образ контейнера и отправить его в Artifact Registry, не устанавливая Docker локально.

  1. Создайте хранилище в Artifact Registry:

    gcloud artifacts repositories create mcp-servers \
      --repository-format=docker --location=us-central1
    
  2. Создайте и отправьте образ из тега выпуска в хранилище GitHub (или из . в локальной копии, если вы настроили Dockerfile или 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
    

    Замените следующее:

    • PROJECT_ID – идентификатор проекта Google Cloud.

    Пересобирайте и повторно развертывайте образ при каждом обновлении google-ads-mcp или обновлении встроенной клиентской библиотеки Python google-ads для новых выпусков Google Ads API (например, версии 26.2).

Развернуть в Google Cloud Run

Настройте следующие переменные среды и секреты для сервиса Cloud Run:

  • GOOGLE_ADS_MCP_OAUTH_CLIENT_ID: идентификатор клиента OAuth 2.0 веб-приложения из облачного проекта Google Cloud с включенным API для аутентификации OAuth на уровне приложения. Выполните следующие действия по настройке OAuth:
    • Добавьте авторизованные URI перенаправления для всех клиентов ИИ, которые вы планируете подключить (например, https://claude.ai/api/mcp/auth_callback, https://chatgpt.com/connector_platform_oauth_redirect или https://antigravity.google/oauth-callback).
    • Добавьте область действия https://www.googleapis.com/auth/adwords в окно запроса доступа OAuth в разделе APIs & Services (API и сервисы) > OAuth consent screen (Окно запроса доступа OAuth) > Data Access (Доступ к данным) (Add or remove scopes (Добавить или удалить области действия)).
    • Если для статуса публикации окна запроса доступа OAuth установлено значение Тестирование (по умолчанию), добавьте аккаунты Google, подключающиеся к серверу MCP, в качестве тестовых пользователей в разделе APIs & Services (API и сервисы) > OAuth consent screen (Окно запроса доступа OAuth) > Audience (Аудитория) (Test users (Тестовые пользователи) > + Add users (+ Добавить пользователей)).
  • GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET – секретный код клиента OAuth, соответствующий вашему идентификатору клиента OAuth.
  • GOOGLE_ADS_MCP_BASE_URL – общедоступный базовый URL вашего MCP-сервера (например, https://google-ads-mcp-xyz-uc.a.run.app). Cloud Run назначает этот URL во время первоначального развертывания, поэтому сначала выполните развертывание без этой переменной, а затем обновите сервис.
  • GOOGLE_ADS_MCP_JWT_SIGNING_KEY (рекомендуется для Cloud Run с несколькими экземплярами) – постоянный секрет, который подписывает JWT FastMCP при перезапуске контейнеров и горизонтальном масштабировании.
  • GOOGLE_ADS_MCP_STORAGE_TYPE (рекомендуется для Cloud Run с несколькими экземплярами) – постоянный серверный компонент для регистраций и токенов клиентов OAuth (redis с GOOGLE_ADS_MCP_STORAGE_REDIS_URL или firestore). Поскольку стандартный v0.0.6 Dockerfile устанавливает только серверный компонент в памяти, сначала установите py-key-value-aio[redis] или .[firestore] в пользовательском Dockerfile. Для использования firestore также требуется база данных Firestore и роль IAM roles/datastore.user в сервисном аккаунте Cloud Run. Для тестирования одного экземпляра с хранилищем в памяти передайте --max-instances=1.
  • GOOGLE_ADS_LOGIN_CUSTOMER_ID (необязательно) – идентификатор клиента управляющего аккаунта по умолчанию (10 цифр без дефисов), который используется, если в вызовах инструмента не указан параметр login_customer_id.
  • GOOGLE_ADS_MCP_TOOLS_CONFIG (необязательно) – путь к контейнеру для пользовательского файла tools_config.yaml (например, смонтированного из Secret Manager в /etc/mcp/tools_config.yaml, чтобы принудительно включить режим только для чтения без пересборки образа). Подробнее о настройке пространств имен инструментов и режима "Только чтение"…

Сохраните GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET и GOOGLE_ADS_MCP_JWT_SIGNING_KEY в Secret Manager и разверните сервис в 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"

После того как Cloud Run завершит развертывание, получите назначенный URL сервиса и обновите сервис с помощью переменной среды 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"

Замените следующее:

  • PROJECT_ID – идентификатор проекта Google Cloud.
  • CLIENT_ID – идентификатор клиента веб-приложения OAuth 2.0.
  • MCP_OAUTH_CLIENT_SECRET – название секрета Secret Manager, в котором хранится секретный код клиента OAuth 2.0.
  • MCP_JWT_SIGNING_KEY – название секрета Secret Manager, в котором хранится ключ подписи JWT.
  • CLOUD_RUN_SERVICE_URL – имя хоста, назначенное вашему сервису Cloud Run (например, google-ads-mcp-xyz-uc.a.run.app).

Модель аутентификации и безопасности

Развертывание с помощью --allow-unauthenticated отключает проверку IAM инфраструктуры Cloud Run (roles/run.invoker), чтобы внешние ИИ-клиенты могли подключаться без токенов сервисных аккаунтов Google Cloud. Аутентификация делегируется прикладному уровню:

  • Если заданы параметры GOOGLE_ADS_MCP_OAUTH_CLIENT_ID и GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET, сервер применяет Google OAuth 2.0 к каждому запросу и возвращает код статуса HTTP 401 Unauthorized неаутентифицированным вызывающим объектам. Каждый вызов инструмента выполняется с использованием идентификационных данных OAuth аутентифицированного вызывающего абонента.
  • Если не указать --allow-unauthenticated, вызывающие абоненты должны будут передавать токены идентификации OIDC Google Cloud с каждым запросом. Стандартные ИИ-клиенты (например, Claude и ChatGPT) используют OAuth конечного пользователя, а не токены Google Cloud IAM, поэтому для прямых подключений требуется --allow-unauthenticated в сочетании с OAuth на уровне приложения.

Настройте MCP-клиент

После развертывания настройте клиент MCP, указав URL сервиса Cloud Run. Поскольку сервер использует OAuth 2.0, ваш клиент должен поддерживать процесс OAuth для MCP или предоставлять авторизованный токен на предъявителя:

  • Клиенты с поддержкой OAuth. В клиентах, поддерживающих обнаружение MCP OAuth (например, Antigravity), при подключении появляется запрос на вход в аккаунт Google, чтобы предоставить область действия https://www.googleapis.com/auth/adwords (в консоли Google Cloud она отображается как .../auth/adwords).
  • Сторонние ИИ-платформы (Claude, ChatGPT). В настройках коннектора клиента добавьте собственный коннектор, указывающий на URL вашего сервиса с путем /mcp (например, https://google-ads-mcp-xyz-uc.a.run.app/mcp). Выберите аутентификацию OAuth 2.0 с идентификатором клиента OAuth и секретным кодом клиента и убедитесь, что URI обратного вызова клиента указан в списке разрешенных URI перенаправления клиента OAuth.
  • Клиенты без поддержки OAuth. Клиенты, которые не поддерживают потоки HTTP OAuth, получают код статуса HTTP 401 Unauthorized. Для таких клиентов используйте локальную конфигурацию stdio.

В примере ниже показано, как настроить инструмент командной строки gemini в ~/.gemini/settings.json. Если вы используете Google Antigravity в ~/.gemini/config/mcp_config.json, замените "httpUrl" на "serverUrl" или "url".

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

Замените следующее:

  • CLOUD_RUN_SERVICE_URL – имя хоста, назначенное вашему сервису Cloud Run (например, google-ads-mcp-xyz-uc.a.run.app).

Дальнейшие действия