Model Context Protocol (MCP) – это открытый стандарт, который позволяет большим языковым моделям (LLM) безопасно взаимодействовать с внешними данными и приложениями. Сервер MCP Google Рекламы – это стандартизированный мост к Google Ads API, который позволяет ИИ-агентам анализировать и получать данные кампаний с помощью естественного языка.
Ресурсы и поддержка сообщества
Репозиторий GitHub. В репозитории google-ads-mcp вы найдете демоверсии и примеры, а также сможете сообщить об ошибках или предложить новые функции.
Для отчетов об ошибках и запросов на добавление функций используйте вкладку Issues (Проблемы).
Сообщество. Присоединяйтесь к каналу
#ads-api-ai-toolsв сообществе Google по рекламе в Discord.
Технический обзор
Внедрив этот MCP-сервер, вы избавитесь от необходимости писать собственный связующий код для аутентификации Google Ads API, получения ресурсов и синтаксического анализа данных. Сервер предоставляет определенные инструменты, которые LLM может обнаруживать и вызывать автономно.
Основные характеристики
- Протокол: MCP (Model Context Protocol).
- Режим: Только чтение (текущая версия)
- Язык: Python.
- Транспорт: стандартный ввод/вывод (
stdio) или потоковый HTTP (streamable-http/ Cloud Run). - Аутентификация: OAuth 2.0 или сервисный аккаунт.
Как работает цикл взаимодействия
- Запрос. Пользователь отправляет запрос, например "Какова эффективность моей кампании на этой неделе?".
- Обнаружение. LLM проверяет доступные инструменты и определяет возможности
google-ads-mcp. - Выполнение. MCP-сервер выполняет базовую логику Python для запроса к Google Ads API.
- Внедрение контекста. Структурированные результаты возвращаются в окно контекста LLM.
- Ответ. LLM синтезирует данные в человекочитаемый ответ.
Начать
Чтобы настроить и использовать сервер MCP Google Рекламы, выполните следующие действия:
Требования
Перед настройкой убедитесь, что у вас есть следующие учетные данные из консоли Google Cloud:
- Идентификатор проекта. Идентификатор вашего проекта Google Cloud (
GOOGLE_PROJECT_ID). На обзорной странице Google Ads API убедитесь, что у вашего проекта есть доступ уровня Explorer, Basic или Standard. Если нет, подайте заявку на один из этих уровней доступа. Обратите внимание, что токены разработчика (GOOGLE_ADS_DEVELOPER_TOKEN) были упразднены 9 сентября 2026 г. и больше не требуются в последней версии сервера MCP Google Рекламы, поскольку уровни доступа к API связаны с облачным проектом Google Cloud. - Учетные данные OAuth. Пара "идентификатор клиента/секретный код клиента" OAuth 2.0 или набор учетных данных по умолчанию для приложения.
Конфигурация
Чтобы интегрировать сервер в хост, совместимый с MCP, добавьте следующую запись в файл конфигурации MCP хоста, например settings.json, и укажите в GOOGLE_APPLICATION_CREDENTIALS путь к JSON-файлу ADC (или настройте ADC по умолчанию с помощью gcloud auth application-default login). Если вы получаете доступ к аккаунтам через управляющий аккаунт, вы также можете задать GOOGLE_ADS_LOGIN_CUSTOMER_ID.
Точное местоположение и название файла конфигурации можно найти в документации хостинга.
{
"mcpServers": {
"google-ads-mcp": {
"command": "pipx",
"args": [
"run",
"--spec",
"git+https://github.com/googleads/google-ads-mcp.git",
"google-ads-mcp"
],
"env": {
"GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID",
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/credentials.json"
}
}
}
}
Дополнительно: добавьте навыки и помощника разработчика
MCP-сервер Google Рекламы предоставляет вашему ИИ-клиенту доступ только для чтения к данным аккаунта в реальном времени. Чтобы помочь агенту создавать действительные запросы на языке запросов Google Рекламы (GAQL), диагностировать изменения эффективности аккаунта и генерировать код клиентской библиотеки, используйте MCP-сервер вместе со следующими инструментами:
Навыки агента Google Ads API. Портативные модули инструкций и рабочих процессов, связанных с Google Ads API, включая
google-ads-api-mcp-setup,google-ads-api-account-diagnosticsиgoogle-ads-api-quickstart, которые учат агента эффективно использовать сервер MCP Google Рекламы с меньшими затратами токенов. Установите их с помощью одной команды (требуется Node.js) или ознакомьтесь с руководством по навыкам агента Google Ads API для Antigravity, Claude Code, Codex и Cursor:npx skills add google/skills/skills/adsGoogle Ads API Developer Assistant. Модульный плагин для Google Antigravity и Claude Code, который позволяет проверять локальные схемы Protobuf, выполнять программную валидацию GAQL, генерировать код клиентской библиотеки (включая скрипты изменения) и устранять неполадки с офлайн-конверсиями. Подробнее о том, как работает Google Ads API Developer Assistant… Вы также можете ознакомиться с руководством по установке.
Развертывание в Google Cloud
Вместо локального хостинга MCP-сервера вы можете разместить его в Google Cloud Run или любой другой облачной инфраструктуре. Это полезно, если вы хотите использовать сервер для разных агентов или запустить его как веб-сервис.
Требования
- Проект Google Cloud.
Установленный и аутентифицированный инструмент командной строки
gcloudс настроенным активным проектом.gcloud config set project YOUR_PROJECT_ID
Как создать и отправить образ Docker
Вы можете использовать Cloud Build, чтобы создать образ и отправить его в Artifact Registry, не устанавливая Docker локально.
Создайте хранилище в Artifact Registry:
gcloud artifacts repositories create mcp-servers \ --repository-format=docker --location=us-central1Перейдите в каталог проекта:
cd <full path>/google-ads-mcpСоздайте и отправьте образ:
gcloud builds submit \ --tag us-central1-docker.pkg.dev/YOUR_PROJECT_ID/mcp-servers/google-ads-mcp:latest .Обратите внимание, что этот шаг необходимо выполнять каждый раз, когда вы хотите обновить развернутый сервер до последней версии.
Развернуть в Google Cloud Run
Убедитесь, что вы задали необходимые переменные среды:
GOOGLE_PROJECT_ID– идентификатор проекта Google Cloud с нужными уровнями доступа к API.GOOGLE_ADS_MCP_OAUTH_CLIENT_ID– идентификатор клиента OAuth 2.0 (настроенный как веб-приложение в вашем облачном проекте Google Cloud) для аутентификации 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, в качестве тестовых пользователей в разделе API и сервисы > Окно запроса доступа OAuth > Аудитория (Тестовые пользователи > + Добавить пользователей).
- Вы добавили подходящие авторизованные URI перенаправления для всех ИИ-клиентов, которые планируете подключить (например,
GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET– секретный код клиента OAuth, соответствующий идентификатору клиента OAuth.GOOGLE_ADS_MCP_BASE_URL– общедоступный базовый URL, по которому можно получить доступ к серверу MCP (например,https://google-ads-mcp-xyz-uc.a.run.app). Поскольку Google Cloud Run генерирует этот URL во время первоначального развертывания, сначала выполните развертывание без этой переменной, а затем обновите сервис.FASTMCP_HOST: задайте значение0.0.0.0, чтобы разрешить FastMCP принимать подключения со всех IP-адресов.
Разверните сервис в Google Cloud Run:
gcloud run deploy google-ads-mcp \
--image us-central1-docker.pkg.dev/YOUR_PROJECT_ID/mcp-servers/google-ads-mcp:latest \
--platform managed \
--region us-central1 \
--allow-unauthenticated \
--set-env-vars="GOOGLE_PROJECT_ID=YOUR_PROJECT_ID,GOOGLE_ADS_MCP_OAUTH_CLIENT_ID=YOUR_CLIENT_ID,GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET=YOUR_CLIENT_SECRET,FASTMCP_HOST=0.0.0.0"
После того как 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://your-cloud-run-url.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, MCP-сервер применяет Google OAuth 2.0 ко всем входящим запросам, отправляя неаутентифицированным вызывающим абонентам ответ HTTP 401. Все запросы инструментов выполняются строго в рамках идентификационных данных OAuth аутентифицированного вызывающего абонента. - Если не указать
--allow-unauthenticated, будет применяться IAM инфраструктуры Cloud Run, требующий от вызывающих объектов передавать токены идентификации OIDC Google Cloud с каждым запросом. Поскольку стандартные ИИ-клиенты (такие как Claude и ChatGPT) выполняют аутентификацию с помощью OAuth конечного пользователя, а не токенов идентификации Google Cloud IAM, для прямых подключений с этих платформ требуется--allow-unauthenticatedс OAuth на уровне приложения.
Настройте MCP-клиент
После развертывания настройте клиент MCP, указав URL Cloud Run. Поскольку серверу требуется аутентификация OAuth 2.0, клиент должен поддерживать поток MCP OAuth или предоставить авторизованный токен на предъявителя:
- Клиенты с поддержкой OAuth. Для клиентов, поддерживающих обнаружение MCP OAuth (например, Antigravity), подключение к конечной точке вызывает окно аутентификации для входа с аккаунтом Google и предоставления области действия
https://www.googleapis.com/auth/adwords(в консоли Google Cloud она указана как.../auth/adwords). - Сторонние ИИ-платформы (Claude, ChatGPT). В настройках коннектора или интеграции клиента добавьте собственный коннектор, указывающий на URL Cloud Run с путем
/mcp(например,https://your-cloud-run-url.a.run.app/mcp), выберите аутентификацию OAuth 2.0 (используя собственный идентификатор клиента OAuth и секретный код клиента) и убедитесь, что URI обратного вызова клиента добавлен в авторизованные URI перенаправления клиента OAuth. Участники пилотного проекта по размещению конечных точек, добавленные в белый список, могут также ознакомиться с руководством по настройке размещенной конечной точки MCP. - Клиенты без поддержки OAuth. Клиенты, которые не поддерживают потоки HTTP OAuth, получат ответ HTTP 401 Unauthorized. Для таких инструментов используйте локальную конфигурацию stdio.
Пример конфигурации для клиента с поддержкой OAuth (например, ~/.gemini/settings.json):
{
"mcpServers": {
"google-ads-mcp": {
"httpUrl": "https://your-cloud-run-url.a.run.app/mcp"
}
}
}
Основные возможности (инструменты)
Сервер предоставляет инструменты для поиска аккаунтов и создания отчетов об эффективности:
list_accessible_customers– возвращает список идентификаторов клиентов Google Рекламы и названий аккаунтов, доступных аутентифицированному пользователю.searchвыполняет запросы GAQL для получения показателей ресурсов, бюджетов и статусов.get_resource_metadata: извлекает метаданные о типе ресурса Google Ads API, например"campaign".Это позволяет понять структуру данных и узнать, какие поля доступны для запросов.
Примеры запросов
Спросите, что может сделать сервер.
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
Дальнейшие действия
- Как установить навыки агента Google Ads API
- Источник знаний о помощнике разработчика Google Ads API
- Как установить и использовать Google Ads API Developer Assistant