Google Ads MCP сервер (экспериментальный)
Этот репозиторий содержит исходный код для запуска локального MCP-сервера, который взаимодействует с Google Ads API. Сервер предоставляет LLM-агентам доступ к данным вашего рекламного аккаунта Google.
Инструменты
Сервер использует Google Ads API и предоставляет следующие MCP-инструменты:
- search — поиск информации об аккаунте Google Ads.
- list_accessible_customers — возвращает список клиентов, напрямую доступных пользователю, прошедшему аутентификацию.
Важные замечания
- MCP-сервер предоставляет агенту или LLM доступ к вашим данным. Убедитесь, что вы доверяете источнику.
- При возникновении технических проблем используйте GitHub Issues.
- Для улучшения продукта в API-запросы добавляется дополнительный заголовок для сбора статистики использования.
Установка и настройка
Настройка включает несколько шагов:
- Установка Python и pipx.
- Получение Developer Token.
- Включение API в проекте Google Cloud.
- Настройка учётных данных.
- Настройка Gemini CLI или Gemini Code Assist.
1. Установка Python и pipx
Установите pipx.
2. Получение Developer Token
Следуйте инструкции по получению Developer Token. Сохраните полученный токен — он понадобится на шаге 5.
3. Включение API в проекте Google Cloud
Включите следующие API в вашем проекте Google Cloud:
4. Настройка учётных данных
Выберите один из двух вариантов:
Вариант 1: Application Default Credentials (ADC)
Настройте ADC. Учётные данные должны иметь доступ к вашим аккаунтам Google Ads и включать OAuth-область:
https://www.googleapis.com/auth/adwords
Примеры команд gcloud:
# Аутентификация через OAuth desktop/web клиент
gcloud auth application-default login \
--scopes https://www.googleapis.com/auth/adwords,https://www.googleapis.com/auth/cloud-platform \
--client-id-file=YOUR_CLIENT_JSON_FILE
# Или через сервисный аккаунт
gcloud auth application-default login \
--impersonate-service-account=SERVICE_ACCOUNT_EMAIL \
--scopes=https://www.googleapis.com/auth/adwords,https://www.googleapis.com/auth/cloud-platform
После выполнения команды скопируйте путь до файла с учётными данными (PATH_TO_CREDENTIALS_JSON) — он потребуется далее.
Вариант 2: Python client library
Следуйте инструкции по настройке Python-клиента Google Ads API. Если у вас уже есть рабочий файл google-ads.yaml, вы можете использовать его. В файле utils.py измените метод get_googleads_client() на использование load_from_storage().
5. Настройка Gemini
Установите Gemini CLI или Gemini Code Assist.
Создайте или отредактируйте файл ~/.gemini/settings.json и добавьте сервер в список mcpServers.
Для варианта 1 (ADC):
{
"mcpServers": {
"google-ads-mcp": {
"command": "pipx",
"args": [
"run",
"--spec",
"git+https://github.com/googleads/google-ads-mcp.git",
"google-ads-mcp"
],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
"GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID",
"GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_DEVELOPER_TOKEN"
}
}
}
}
Для варианта 2 (Python client library):
{
"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_ADS_LOGIN_CUSTOMER_ID с ID менеджера.
{
"mcpServers": {
"google-ads-mcp": {
"command": "pipx",
"args": [
"run",
"--spec",
"git+https://github.com/googleads/google-ads-mcp.git",
"google-ads-mcp"
],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
"GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID",
"GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_DEVELOPER_TOKEN",
"GOOGLE_ADS_LOGIN_CUSTOMER_ID": "YOUR_MANAGER_CUSTOMER_ID"
}
}
}
}
Проверка работы
Запустите Gemini Code Assist или Gemini CLI и введите команду /mcp. В списке должен появиться google-ads-mcp.
Примеры запросов:
- Что умеет сервер? "what can the 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?"
Замечание о Customer ID
Для большинства запросов агенту потребуется ID клиента (Customer ID). Если вы работаете с несколькими клиентами, указывайте ID прямо в запросе, например: "How many active campaigns do I have for customer id 1234567890?"
Вклад в проект
Приветствуются любые вклады. См. Contributing Guide.
Комментарии
Комментариев пока нет. Будьте первым.