Протокол контекста модели (MCP) — это открытый стандарт, позволяющий большим языковым моделям (LLM) безопасно взаимодействовать с внешними данными и приложениями. Сервер Google Ads MCP предоставляет стандартизированный мост к API Google Ads, что позволяет агентам ИИ анализировать и получать данные о кампаниях, используя естественный язык.
Общественные ресурсы и поддержка
Репозиторий GitHub: Найдите демонстрации, примеры и сообщите об ошибках или предложите новые функции в репозитории google-ads-mcp .
Для сообщений об ошибках и предложений по улучшению используйте вкладку «Проблемы» .
Сообщество: Присоединяйтесь к каналу
#ads-api-ai-toolsв Discord-сообществе Google Advertising .
Технический обзор
Внедрение этого MCP-сервера избавляет от необходимости писать собственный «связующий код» для аутентификации в Google Ads API, получения ресурсов и анализа данных. Сервер предоставляет доступ к определенным инструментам , которые LLM может обнаружить и вызвать автономно.
Основные характеристики
- Протокол: MCP (Model Context Protocol)
- Режим: Только для чтения (текущая версия)
- Язык программирования: Python
- Транспорт: Стандартный ввод/вывод (
stdio) - Аутентификация: OAuth 2.0 или служебная учетная запись.
Как работает цикл взаимодействия
- Запрос: Пользователь отправляет запрос, например: «Как обстоят дела с эффективностью моей кампании на этой неделе?» .
- Исследование: Магистр права изучает доступные инструменты и определяет возможности поиска по запросу
google-ads-mcp. - Выполнение: Сервер MCP выполняет базовую логику на языке Python для запроса к API Google Ads.
- Внедрение контекста: Структурированные результаты возвращаются в контекстное окно LLM.
- Ответ: LLM синтезирует данные в удобочитаемый ответ.
Начать
Выполните следующие шаги, чтобы настроить и использовать сервер Google Ads MCP.
Предварительные требования
Перед настройкой убедитесь, что у вас есть следующие учетные данные из консоли разработчика Google Ads :
- Токен разработчика: Ваша уникальная строка доступа из 22 символов.
- Идентификатор проекта: ваш идентификатор проекта в Google Cloud.
- Учетные данные OAuth: либо пара идентификатор клиента OAuth2/секрет клиента, либо набор учетных данных приложения по умолчанию .
Конфигурация
Для интеграции сервера в хост, совместимый с MCP, добавьте следующую запись в конфигурационный файл MCP вашего хоста, например, settings.json . Точное местоположение и имя файла конфигурации указаны в документации вашего хоста.
JSON
{
"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_ADS_DEVELOPER_TOKEN": "YOUR_DEVELOPER_TOKEN"
}
}
}
}
Развертывание в облаке Google
Вместо локального размещения сервера MCP вы можете разместить его в Google Cloud Run или на любой другой облачной инфраструктуре. Это полезно, если вы хотите использовать сервер совместно разными агентами или запустить его как веб-сервис.
Предварительные требования
- Проект Google Cloud.
Инструмент командной строки
gcloudустановлен, авторизован и имеет активный настроенный проект:gcloud config set project YOUR_PROJECT_ID
Создайте и загрузите образ Docker.
С помощью Cloud Build можно собрать и отправить образ в реестр артефактов без необходимости локальной установки Docker.
Создайте репозиторий в реестре артефактов:
gcloud artifacts repositories create mcp-servers --repository-format=docker --location=us-central1Создайте и отправьте образ:
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. -
GOOGLE_ADS_DEVELOPER_TOKEN: Токен разработчика , который вы хотите использовать на сервере MCP. -
GOOGLE_ADS_MCP_OAUTH_CLIENT_ID: Идентификатор клиента OAuth, который должен использовать сервер MCP. -
GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET: Секретный ключ клиента OAuth, который должен использовать сервер MCP. -
GOOGLE_ADS_MCP_BASE_URL: Базовый URL-адрес, по которому доступен ваш MCP-сервер: он будет автоматически назначен Google Cloud Run после первого развертывания. Вы можете обновить переменные среды после развертывания. -
FASTMCP_HOST: Установите это значение равным 0.0.0.0, чтобы FastMCP мог принимать соединения со всех IP-адресов.
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_DEVELOPER_TOKEN=YOUR_DEVELOPER_TOKEN,GOOGLE_ADS_MCP_OAUTH_CLIENT_ID=YOUR_CLIENT_ID,GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET=YOUR_CLIENT_SECRET,GOOGLE_ADS_MCP_BASE_URL=YOUR_BASE_URL,FASTMCP_HOST=0.0.0.0"
Настройте клиент MCP.
После развертывания обновите конфигурацию клиента MCP (например, ~/.gemini/settings.json ), чтобы использовать URL-адрес Cloud Run.
{
"mcpServers": {
"google-ads-mcp": {
"httpUrl": "https://your-cloud-run-url.a.run.app/mcp"
}
}
}
Основные возможности (инструменты)
Сервер предоставляет инструменты, предназначенные для поиска учетных записей и составления отчетов о производительности:
-
list_accessible_customers: Возвращает список идентификаторов клиентов и имен учетных записей Google Ads, доступных авторизованному пользователю. -
search: Выполняет запросы Google Ads Query Language (GAQL) для получения метрик ресурсов, бюджетов и статуса. get_resource_metadata: Извлекает метаданные о типе ресурса Google Ads API, например, "кампания".Это полезно для понимания структуры данных и того, какие поля доступны для запросов.
Примеры подсказок для начала
Спросите, что может делать сервер :
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