Перейти к содержимому

Подключаем Google Keyword Planner к ИИ через MCP: практика

В сентябре 2026 года я подключил Google Keyword Planner к Claude через MCP-сервер: выбор сервера, OAuth, регистрация в ассистенте — и отказ 403 из-за нового порядка доступа Google.

Карточка планировщика ключевых слов с частотностью запросов, окно терминала и значок ИИ: подключение Google Keyword Planner к ассистенту

Что умеет планировщик и зачем он в чате

Keyword Planner — штатный инструмент Google Ads: по нескольким словам-затравкам он выдаёт список связанных запросов, среднее число поисков в месяц за последний год, уровень конкуренции в рекламе и вилку ставок за клик, а ещё считает прогноз показов и кликов при заданном бюджете. Это данные первоисточника: их же видит Google, когда решает, кому и что показывать.

Проблема не в данных, а в рутине. Чтобы проверить одну идею для страницы, нужно открыть кабинет, выбрать регион и язык, вбить затравки, отфильтровать мусор, выгрузить таблицу — и всё это ради одного ответа: стоит ли вообще писать такой текст. Если ассистент уже помогает с текстами, логично отдать ему и проверку спроса — пусть спрашивает цифры сам и сопоставляет их с темой страницы.

MCP (Model Context Protocol) — открытый протокол, через который ассистент вызывает внешние инструменты. Подробнее я разбирал его в статье про подключение Search Console. Здесь достаточно одного: MCP-сервер — это небольшая программа-посредник на вашем компьютере, которая с одной стороны отвечает ассистенту, а с другой ходит в API Google.

Какой сервер я выбрал

Вариантов оказалось три типа. Официальный MCP-сервер Google для Ads API — общего назначения: запросы к аккаунту, метаданные, произвольные выборки; инструментов планировщика я в нём не нашёл. Сторонние сборки «всё в одном» — тридцать с лишним инструментов, включая управление кампаниями, ставками и бюджетами. И компактные утилиты на несколько команд.

Взял компактный вариант, google-keyword-planner-mcp: ровно три инструмента — идеи по ключевым словам, историческая статистика, прогноз кликов. Нативный исполняемый файл на 28 МБ, без Python и Node.js, открытый код под MIT, который читается за вечер.

Логика выбора простая, и она же главная мысль всей моей возни с ИИ-инструментами: ассистенту выдаётся ровно та поверхность, которая нужна задаче. Сервер с управлением кампаниями умеет тратить деньги — значит, однажды сможет потратить их без спроса. Сервер на три чтения не умеет ничего, кроме как ответить цифрами. Тот же принцип — в услуге по безопасному внедрению ИИ-агентов.

Главное: с 9 сентября 2026 года developer token отменён

Здесь я потерял больше всего времени, поэтому выношу вперёд. Раньше схема была такая: заводишь управляющий аккаунт Google Ads (MCC), в разделе «Центр API» получаешь developer token — строку из 22 символов — и шлёшь её заголовком в каждом запросе. Почти все инструкции, которые выдаёт поиск, описывают именно это.

Я прошёл по ней целиком: создал управляющий аккаунт, получил токен, вписал его в настройки сервера. И только потом добрался до документации, где чёрным по белому: developer token отменён 9 сентября 2026 года. Токен в заголовке теперь игнорируется, а уровень доступа определяется проектом Google Cloud, из которого выпущены OAuth-учётные данные. Заявки через «Центр API» больше не обрабатываются, а те, что висели в очереди, Google закрыл и попросил подать заново — уже в Cloud Console.

Новая лестница доступа выглядит так:

  • Test — выдаётся автоматически, как только вы включаете Google Ads API в своём проекте Cloud. Работает только с тестовыми аккаунтами.
  • Explorer — первый уровень, который видит живые аккаунты: 2 880 операций в сутки. Важная деталь: инструменты планировщика на этом уровне недоступны, Google относит их к ограниченной функциональности.
  • Basic — 15 000 операций в сутки, и именно он открывает Keyword Planner. Требует верификации бренда для проекта Cloud; после неё заявку рассматривают автоматически, счёт идёт на минуты.
  • Standard — без суточного лимита, для больших сервисов; рассмотрение до десяти рабочих дней.

Вывод, который стоило бы прочитать в самом начале: если нужен именно планировщик, путь один — проект в Google Cloud, включённый Ads API, верификация бренда и заявка на Basic. Управляющий аккаунт для этого не нужен вообще.

Шаг за шагом: что делал руками

  1. Проект в Google Cloud. Включил Google Ads API — проект сразу получает уровень Test.
  2. OAuth-клиент типа Desktop app. Он даёт пару «идентификатор клиента — секрет». Для настольной программы это штатный сценарий: секрет такого клиента Google не считает конфиденциальным.
  3. Разовая авторизация. Небольшой скрипт поднимает на локальном порту приёмник, открывает окно согласия Google с областью доступа к Ads, ловит код возврата и меняет его на токен обновления. Ключевые параметры запроса — offline-доступ и принудительное согласие, иначе токен обновления просто не выдадут.
  4. Идентификатор аккаунта. Десять цифр без дефисов — тот рекламный аккаунт, по которому запрашиваются данные.
  5. Сервер на диск. Скачал сборку под свою систему, положил в отдельную папку. Среду выполнения ставить не пришлось: это один файл. У меня он уехал на диск D — на системном не было места.
  6. Регистрация в ассистенте. Одной командой, с областью видимости «пользователь», чтобы сервер был доступен во всех проектах, а не в одном каталоге.
claude mcp add keyword-planner \
  --scope user \
  -e GOOGLE_ADS_CLIENT_ID=... \
  -e GOOGLE_ADS_REFRESH_TOKEN=... \
  -e GOOGLE_ADS_CUSTOMER_ID=... \
  -- D:\mcp\kwp-mcp.exe

Деталь, на которой спотыкаются все: список инструментов клиент читает при запуске. После регистрации сервера в уже открытой сессии его не видно — нужен новый чат или перезапуск приложения. Это не ошибка установки.

Проверка протокола без ассистента

Прежде чем искать проблему в ассистенте, стоит убедиться, что сервер вообще живой. MCP работает по JSON-RPC через стандартный ввод-вывод, поэтому его можно опросить вручную: запустить исполняемый файл, отправить ему в поток ввода три строки и прочитать ответы.

  1. initialize — рукопожатие с версией протокола;
  2. notifications/initialized — подтверждение;
  3. tools/list — список инструментов.

Если в ответ пришёл список из трёх инструментов, сервер и учётные данные в порядке — дальше можно звать tools/call с настоящим запросом. Такой тест экономит часы: он сразу делит проблему на «сервер не отвечает» и «клиент его не видит».

Где всё встало: отказ 403 от Google

Протокол ожил, инструменты на месте, а первый же реальный запрос вернул отказ:

PERMISSION_DENIED
ACTION_NOT_PERMITTED
The Google Cloud project is only
approved for use with test accounts.

Сообщение честное: у проекта уровень Test, живой рекламный аккаунт ему не отдают. К подбору слов, затравкам и регионам это отношения не имеет.

И вот ловушка, в которую я всё-таки попал: увидев отказ, первым делом хочется переформулировать запрос — сменить язык, убрать часть затравок, попробовать другую страну. Бесполезно. Ошибка про уровень доступа проекта целиком, а не про конкретный вызов. Лекарство одно — верификация бренда и заявка на Basic.

Ещё мелочь для тех, кто будет искать текст ошибки: в старых версиях API отказ приходит как ACTION_NOT_PERMITTED, в свежей — с другим кодом. Одна и та же причина выглядит по-разному, и это сбивает с толку.

Сколько времени это заняло

Техническая часть — около часа: скачать файл, создать OAuth-клиент, получить токен обновления, зарегистрировать сервер, проверить протокол. Всё остальное съела административная сторона Google: сначала путь по устаревшей инструкции с управляющим аккаунтом, потом разбор новой схемы, потом верификация бренда, которая требует подтверждённого домена и заполненного окна согласия.

Если планируете такую интеграцию — закладывайте день на бюрократию и час на установку, а не наоборот.

Безопасность: что стоит сделать иначе

  • Секреты — не в скриптах. У меня они на время отладки лежали прямо в тестовом файле, и это плохая привычка: место им в переменных окружения или в хранилище секретов, а сам файл — в исключениях системы контроля версий.
  • Меньше инструментов — меньше поверхность. Три функции чтения не могут ни создать кампанию, ни изменить ставку. Сервер, который это умеет, требует совсем другого уровня доверия.
  • Отдельный проект Cloud под интеграцию. Так проще отозвать доступ целиком и не задеть остальные сервисы.
  • Код — прочитать до запуска. Двадцать восемь мегабайт — это собранный бинарник, но исходники открыты: полчаса чтения дешевле одного инцидента.

Что это даёт в работе

Когда доступ открыт, сценарий выглядит так: пишешь текст страницы и спрашиваешь, сколько людей в Польше ищут эту фразу и какие формулировки популярнее, — цифры приходят в том же окне, без выгрузок. По той же схеме проверяются идеи новых услуг, список минус-слов для рекламы и сезонность спроса.

Честно про свой статус на момент публикации: мой проект всё ещё на уровне Test, заявка на Basic в очереди. Поэтому цифр по живому аккаунту в статье нет — только рабочая схема и грабли. Как доступ откроется, вернусь и дополню статью реальными замерами.

Стоит ли повторять

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

И последнее: сентябрьская реформа доступа означает, что большинство инструкций по Google Ads API сейчас устарели. Прежде чем повторять чужой гайд, сверьтесь с официальной документацией — дата у неё важнее, чем количество звёзд у репозитория.

Подключим Keyword Planner к ИИ-ассистенту за вас — на вашем компьютере или в вашем облаке, вместе с настройкой доступа в Google.