Skip to main content
Glama
yandex-marketing-mcp

yandex-marketing-mcp

by skiddgoddamn

yandex-marketing-mcp

MCP-сервер для управления Яндекс Директом, аналитикой в Яндекс Метрике, подбором ключевых слов через Wordstat и SEO-инструментами Яндекс Вебмастера — с самонастраивающимся OAuth прямо из AI-ассистента.

155 инструментов для полного цикла работы с рекламой и поиском из Claude Code, Cursor, Windsurf и других MCP-клиентов.

Установка

npm install && npm run build

Требуется Node.js 20+.

Related MCP server: Yandex Webmaster MCP Server

Подключение к MCP-клиенту

Добавьте в конфигурацию MCP-клиента (например, ~/.claude.json, секция mcpServers):

{
  "yandex-marketing": {
    "type": "stdio",
    "command": "node",
    "args": ["F:/projects/yandex-marketing-mcp/build/index.js"]
  }
}

Поправьте путь к build/index.js под вашу систему.


Авторизация (самонастройка)

Сервер не требует токенов при запуске — он проведёт авторизацию через инструменты. Конфигурация хранится в ~/.yandex-marketing-mcp/config.json и обновляется автоматически. Переменные окружения (YANDEX_OAUTH_CLIENT_ID, YD_OAUTH_TOKEN, YC_FOLDER_ID) читаются один раз при старте как начальные значения — источник правды всегда файл конфигурации.

Шаг 1. Зарегистрируйте OAuth-приложение

Перейдите на https://oauth.yandex.ru/client/new и создайте приложение:

  • Redirect URI: выберите «Подставить URL для разработки» (https://oauth.yandex.ru/verification_code)

  • В разделе «Доступ к данным» отметьте следующие скоупы:

    • direct:api — управление рекламой в Яндекс Директе

    • metrika:read — чтение данных Метрики

    • metrika:write — управление целями и счётчиками

    • cloud:auth — IAM-токен (для Wordstat больше не работает, см. «Настройка Wordstat» ниже)

    • webmaster:hostview — просмотр данных Вебмастера

    • webmaster:verify — верификация сайтов в Вебмастере

  • Сохраните и запомните Client ID

Шаг 2. Сохраните Client ID через инструмент

Вызовите yd_set_client_id с вашим Client ID — инструмент сохранит его и вернёт ссылку для авторизации.

Шаг 3. Получите токен

Откройте ссылку из ответа yd_set_client_id в браузере, подтвердите доступ. После редиректа скопируйте значение параметра access_token из адресной строки.

Шаг 4. Сохраните токен

Вызовите yd_set_token с полученным токеном. Токен проверяется через API Метрики перед сохранением.

Проверка статуса: yd_auth_status — показывает, что настроено, валиден ли токен, и подсказывает следующий шаг. Поле token_valid относится к Директу, Метрике и Вебмастеру; готовность Wordstat показывается отдельно в wordstat_ready.

Шаг 5. Настройка Wordstat — сервисный аккаунт Yandex Cloud

Wordstat ходит через Yandex Cloud и требует IAM-токен. С 1 июня 2026 года Облако не обменивает на IAM пользовательские OAuth-токены, выпущенные начиная с этой даты — запрет привязан к дате выпуска токена, поэтому перевыпуск не помогает. Скоупа cloud:auth теперь недостаточно, нужен сервисный аккаунт.

# ID каталога
yc resource-manager folder list

# Сервисный аккаунт и авторизованный ключ
yc iam service-account create --name wordstat-mcp
yc iam key create --service-account-name wordstat-mcp -o key.json

Приватный ключ в Облаке не хранится и повторно не выдаётся — если потеряете key.json, придётся создавать новый ключ.

Дальше вызовите yd_set_service_account:

{ "key_file": "~/key.json", "yc_folder_id": "b1g..." }

Сервер подпишет JWT (PS256) и сам будет обменивать его на IAM-токен, продлевая по мере истечения. Проверить: yd_wordstat_regions_tree.

Временный вариант, если сервисный аккаунт заводить некогда: yc iam create-token и затем yd_set_iam_token. IAM-токен живёт не больше 12 часов, после чего вызовы упадут — это костыль на один сеанс, не решение.

Сервисному аккаунту нужна роль на каталог для доступа к Wordstat, а к облаку — привязанный платёжный аккаунт. Актуальные названия ролей и тарифы смотрите в документации Yandex Search API: сверьте их в браузере перед первым платным вызовом.


Возможности

Сервис

Инструментов

Описание

Авторизация

5

Self-setup OAuth + сервисный аккаунт Yandex Cloud

Яндекс Директ (основной)

46

Кампании, группы, объявления, ключевики, ставки, корректировки, минус-фразы, сайтлинки, ретаргетинг, изображения, отчёты

Яндекс Директ (расширенный)

26

Визитки, фиды, смарт-таргеты, видео, креативы, площадки, стратегии

Wordstat

5

Частотность запросов, динамика, регионы

Яндекс Метрика

43

Счётчики, цели, сегменты, фильтры, доступы, отчёты, аннотации, офлайн-данные, метки

Яндекс Вебмастер

30

Хосты, верификация, индексирование, поисковые запросы, ссылки, рекроул


Полный список инструментов

Авторизация

Инструмент

Описание

yd_auth_status

Проверить статус: client_id, токен, folder_id, готовность Wordstat

yd_set_client_id

Сохранить Client ID OAuth-приложения и получить ссылку для авторизации

yd_set_token

Сохранить OAuth access_token (с валидацией через Метрику); опционально — folder_id

yd_set_service_account

Настроить сервисный аккаунт Yandex Cloud для Wordstat (key_file или key_json)

yd_set_iam_token

Временно сохранить готовый IAM-токен из yc iam create-token (≤12 ч)


Яндекс Директ — Кампании

Инструмент

Описание

yd_campaigns_get

Список кампаний с фильтрами (тип, статус, ID)

yd_campaigns_add

Создать текстовую кампанию (все стратегии: PAY_FOR_CONVERSION, WB_MAXIMUM_CLICKS и др.)

yd_campaigns_update

Обновить настройки кампании (имя, бюджет, минус-фразы, дата окончания)

yd_campaigns_action

Приостановить / возобновить / архивировать / разархивировать кампанию

Яндекс Директ — Группы объявлений

Инструмент

Описание

yd_adgroups_add

Создать группы объявлений в кампании

yd_adgroups_get

Получить группы по кампании или ID групп

yd_adgroups_update

Обновить группу (имя, регионы, минус-фразы, UTM-параметры)

Яндекс Директ — Объявления

Инструмент

Описание

yd_ads_add

Создать текстовые объявления (с сайтлинками и картинками)

yd_ads_update

Обновить текстовые объявления

yd_ads_get

Получить объявления по кампании, группе или ID

yd_ads_action

Модерация / пауза / возобновление / архив объявлений

yd_ads_add_dynamic

Создать динамическое текстовое объявление

yd_ads_add_image

Создать графическое объявление (TextImageAd)

yd_ads_add_shopping

Создать товарное объявление (v501 API)

Яндекс Директ — Ключевые фразы

Инструмент

Описание

yd_keywords_add

Добавить ключевые фразы в группу

yd_keywords_get

Получить фразы по кампании, группе или ID

yd_keywords_has_volume

Проверить наличие трафика у фраз (до 10 000)

yd_keywords_research

Дедупликация и устранение пересечений фраз

Яндекс Директ — Ставки

Инструмент

Описание

yd_bids_set

Установить ставки для ключевых фраз

yd_keyword_bids_get

Получить ставки и прогнозы трафика

yd_keyword_bids_set

Установить ставки (поиск и сеть)

yd_keyword_bids_set_auto

Автоматические ставки по целевой позиции

Яндекс Директ — Корректировки ставок

Инструмент

Описание

yd_bid_modifiers_add

Добавить корректировки (устройства, демография, регионы)

yd_bid_modifiers_get

Получить корректировки

yd_bid_modifiers_set

Обновить корректировки по ID

yd_bid_modifiers_delete

Удалить корректировки

yd_bid_modifiers_toggle

Включить / выключить корректировки

Яндекс Директ — Минус-фразы

Инструмент

Описание

yd_negative_keywords_sets_add

Создать набор минус-фраз (общий, до 30 наборов)

yd_negative_keywords_sets_get

Получить наборы минус-фраз

yd_negative_keywords_sets_update

Обновить набор минус-фраз

yd_negative_keywords_sets_delete

Удалить набор минус-фраз

Яндекс Директ — Сайтлинки и уточнения

Инструмент

Описание

yd_sitelinks_add

Создать набор быстрых ссылок (1–8 штук)

yd_sitelinks_get

Получить наборы быстрых ссылок

yd_sitelinks_delete

Удалить наборы быстрых ссылок

yd_ad_extensions_add

Создать уточнения (callouts, до 25 символов)

yd_ad_extensions_get

Получить уточнения

yd_ad_extensions_delete

Удалить уточнения

yd_callouts_link

Привязать уточнения к объявлению (v501)

Яндекс Директ — Ретаргетинг и аудитории

Инструмент

Описание

yd_retargeting_lists_add

Создать список ретаргетинга на основе целей Метрики

yd_retargeting_lists_get

Получить списки ретаргетинга

yd_retargeting_lists_delete

Удалить списки ретаргетинга

yd_audience_targets_add

Добавить аудиторный таргетинг в группу

yd_audience_targets_get

Получить аудиторные таргетинги

yd_audience_targets_delete

Удалить аудиторные таргетинги

Яндекс Директ — Изображения

Инструмент

Описание

yd_ad_images_add

Загрузить изображения (base64, до 100 за раз)

yd_ad_images_get

Получить изображения

yd_ad_images_delete

Удалить изображения

Яндекс Директ — Видео и креативы

Инструмент

Описание

yd_videos_upload

Загрузить видео из файла

yd_videos_get

Получить видео

yd_creatives_add

Создать видеокреатив

yd_creatives_get

Получить креативы

Яндекс Директ — Фиды

Инструмент

Описание

yd_feeds_add

Добавить фид (RETAIL, HOTELS, REALTY, AUTOMOBILES, FLIGHTS, OTHER)

yd_feeds_get

Получить фиды

yd_feeds_update

Обновить фид

yd_feeds_delete

Удалить фиды

Яндекс Директ — Визитки

Инструмент

Описание

yd_vcards_add

Создать визитку для кампании

yd_vcards_get

Получить визитки

yd_vcards_delete

Удалить визитки

Яндекс Директ — Смарт-таргеты

Инструмент

Описание

yd_smart_targets_add

Создать смарт-таргет (фильтр фида)

yd_smart_targets_get

Получить смарт-таргеты

yd_smart_targets_action

Пауза / возобновление / удаление смарт-таргетов

Яндекс Директ — Площадки и стратегия

Инструмент

Описание

yd_excluded_sites_get

Получить список заблокированных площадок

yd_excluded_sites_update

Обновить список заблокированных площадок

yd_blocked_ips_update

Заблокировать IP-адреса (до 25 шт.)

yd_campaign_strategy_update

Сменить стратегию ставок, CPA, цель, недельный бюджет

Яндекс Директ — Отчёты и справочники

Инструмент

Описание

yd_report

Статистика (TSV, любой тип: кампании, группы, объявления, фразы)

yd_dictionaries

Справочники (регионы, валюты, категории, временные зоны и др.)

yd_regions_get

Справочник регионов

yd_interests_get

Справочник интересов

yd_changes_check

Проверка изменений с заданной временной метки

yd_clients_get

Информация об аккаунте (баланс, настройки, логин)

yd_businesses_get

Организации из Яндекс Бизнеса


Wordstat API

Инструмент

Описание

yd_wordstat_top_requests

Популярные запросы с ключевым словом (частотность, регионы, устройства)

yd_wordstat_dynamics

Динамика частотности по периодам (день / неделя / месяц)

yd_wordstat_regions

Региональное распределение запросов

yd_wordstat_regions_tree

Дерево регионов Wordstat (ID для фильтрации)

yd_wordstat_user_info

Квота API Wordstat


Яндекс Метрика — Счётчики

Инструмент

Описание

yd_metrika_counters_get

Список счётчиков

yd_metrika_counter_get

Детали счётчика

yd_metrika_counter_create

Создать счётчик

yd_metrika_counter_update

Обновить счётчик

yd_metrika_counter_delete

Удалить счётчик

Яндекс Метрика — Цели

Инструмент

Описание

yd_metrika_goals_get

Список целей счётчика

yd_metrika_goal_create

Создать цель

yd_metrika_goal_update

Обновить цель

yd_metrika_goal_delete

Удалить цель

Яндекс Метрика — Сегменты

Инструмент

Описание

yd_metrika_segments_get

Список сегментов

yd_metrika_segment_create

Создать сегмент

yd_metrika_segment_update

Обновить сегмент

yd_metrika_segment_delete

Удалить сегмент

Яндекс Метрика — Фильтры

Инструмент

Описание

yd_metrika_filters_get

Список фильтров счётчика

yd_metrika_filter_create

Создать фильтр (IP, URL, заголовок и др.)

yd_metrika_filter_update

Обновить фильтр

yd_metrika_filter_delete

Удалить фильтр

Яндекс Метрика — Доступы

Инструмент

Описание

yd_metrika_grants_get

Список прав доступа к счётчику

yd_metrika_grant_add

Добавить доступ (view или edit)

yd_metrika_grant_update

Обновить доступ

yd_metrika_grant_delete

Удалить доступ

yd_metrika_delegates_get

Список делегатов (глобальный доступ)

yd_metrika_delegate_add

Добавить делегата

yd_metrika_delegate_delete

Удалить делегата

Яндекс Метрика — Отчёты

Инструмент

Описание

yd_metrika_report

Табличный отчёт (визиты, пользователи, конверсии, произвольные метрики)

yd_metrika_report_by_time

Отчёт по времени (группировка: день, неделя, месяц)

yd_metrika_report_comparison

Сравнение двух периодов (A vs B)

yd_metrika_report_drilldown

Иерархический drilldown

Яндекс Метрика — Метки и аннотации

Инструмент

Описание

yd_metrika_labels_get

Список меток

yd_metrika_label_create

Создать метку

yd_metrika_label_update

Обновить метку

yd_metrika_label_delete

Удалить метку

yd_metrika_label_link

Привязать счётчик к метке

yd_metrika_label_unlink

Отвязать счётчик от метки

yd_metrika_annotations_get

Список аннотаций на графиках

yd_metrika_annotation_create

Создать аннотацию

yd_metrika_annotation_update

Обновить аннотацию

yd_metrika_annotation_delete

Удалить аннотацию

Яндекс Метрика — Офлайн-данные

Инструмент

Описание

yd_metrika_upload_conversions

Загрузить офлайн-конверсии

yd_metrika_conversions_status

Статус загрузки конверсий

yd_metrika_upload_calls

Загрузить данные о звонках

yd_metrika_upload_expenses

Загрузить рекламные расходы

yd_metrika_upload_user_params

Загрузить параметры пользователей


Яндекс Вебмастер — Хосты

Инструмент

Описание

yd_webmaster_user_get

Получить данные текущего пользователя (user_id)

yd_webmaster_hosts_get

Список всех хостов (верифицированных и нет)

yd_webmaster_host_add

Добавить хост на верификацию

yd_webmaster_host_get

Детали хоста

yd_webmaster_host_delete

Удалить (отвязать) хост

yd_webmaster_host_summary

Сводка хоста: SQI и количество проблем

yd_webmaster_owners_get

Список владельцев хоста

Яндекс Вебмастер — Верификация

Инструмент

Описание

yd_webmaster_verification_get

Статус верификации хоста

yd_webmaster_verification_start

Запустить верификацию (DNS, HTML-файл, мета-тег и др.)

Яндекс Вебмастер — Диагностика и SQI

Инструмент

Описание

yd_webmaster_diagnostics_get

Диагностика и список проблем хоста

yd_webmaster_sqi_history

История SQI (Site Quality Index)

Яндекс Вебмастер — Индексирование

Инструмент

Описание

yd_webmaster_indexing_history

История crawled-страниц

yd_webmaster_indexing_samples

Примеры проиндексированных страниц

yd_webmaster_insearch_history

История страниц в поиске

yd_webmaster_insearch_samples

Примеры страниц в поиске

yd_webmaster_search_events_samples

Примеры страниц, добавленных или удалённых из поиска

Яндекс Вебмастер — Поисковые запросы

Инструмент

Описание

yd_webmaster_search_queries_popular

Популярные поисковые запросы (показы, клики, CTR, позиция)

yd_webmaster_search_queries_history

Агрегированная история поисковых запросов

Яндекс Вебмастер — Карты сайта

Инструмент

Описание

yd_webmaster_sitemaps_get

Карты сайта, известные Яндексу

yd_webmaster_user_sitemaps_get

Карты сайта, добавленные пользователем

yd_webmaster_user_sitemap_add

Добавить карту сайта

yd_webmaster_user_sitemap_delete

Удалить карту сайта

Яндекс Вебмастер — Ссылки

Инструмент

Описание

yd_webmaster_external_links_samples

Примеры внешних ссылок (бэклинков)

yd_webmaster_external_links_history

История количества внешних ссылок

yd_webmaster_broken_links_samples

Примеры битых внутренних ссылок

Яндекс Вебмастер — Рекроул

Инструмент

Описание

yd_webmaster_recrawl_submit

Отправить URL на переиндексацию

yd_webmaster_recrawl_list

Список задач очереди рекроула

yd_webmaster_recrawl_task

Статус задачи рекроула

yd_webmaster_recrawl_quota

Дневная квота рекроула

yd_webmaster_important_urls

Мониторируемые важные страницы


Переменные окружения

Все переменные опциональны — сервер запускается без них и проведёт настройку через инструменты.

Переменная

Описание

YANDEX_OAUTH_CLIENT_ID

Client ID OAuth-приложения (seed; сохраняется через yd_set_client_id)

YD_OAUTH_TOKEN

OAuth access_token (seed; сохраняется через yd_set_token)

YC_FOLDER_ID

ID каталога Yandex Cloud для Wordstat (seed; сохраняется через yd_set_token)

YC_SA_ID

ID сервисного аккаунта Yandex Cloud (seed; сохраняется через yd_set_service_account)

YC_SA_KEY_ID

ID авторизованного ключа сервисного аккаунта (seed)

YC_SA_PRIVATE_KEY

Приватный ключ сервисного аккаунта в PEM (seed)

YC_IAM_TOKEN

Готовый IAM-токен из yc iam create-token (seed; временный обходной путь)

YD_SANDBOX

true — тестовый режим Директа (sandbox)

YD_LOGIN

Логин клиента по умолчанию (для агентских аккаунтов)

YD_READONLY

true — блокирует все изменяющие инструменты; только чтение и отчёты

YD_CONFIRM

true — изменяющие вызовы сначала возвращают превью; для выполнения нужен confirm=true

YD_ALLOWED_LOGINS

Белый список логинов клиентов через запятую (только для инструментов Директа)

YD_LOG_LEVEL

DEBUG / INFO / WARNING / ERROR (по умолчанию INFO)

YD_LOG_FILE

Путь к лог-файлу (пусто — только stderr, файл не создаётся)

YD_LOG_BODIES

true — писать тела запросов и ответов в лог

Режимы безопасности

  • Read-only (YD_READONLY=true) — агент видит и анализирует данные, но физически не может создать, изменить или удалить кампании, ставки, счётчики или цели.

  • Confirm-режим (YD_CONFIRM=true) — любой изменяющий вызов сначала возвращает превью операции; для выполнения нужно повторить вызов с confirm=true.

  • Мульти-аккаунт — инструменты Директа принимают необязательный аргумент client_login; YD_ALLOWED_LOGINS ограничивает доступные логины.

  • Partial-success — изменяющие ответы Директа разбираются на per-item Errors/Warnings и сводятся в поле _partial_success.

  • Логи — файл создаётся только при заданном YD_LOG_FILE; тела запросов пишутся только при YD_LOG_BODIES=true.


Лицензия

MIT

Available Tools

153 tools
yd_ad_extensions_addB

Create ad extensions (callouts — short texts shown under ads, max 25 chars each).

Inputs: callouts (required), client_login.

yd_ad_extensions_deleteC

Delete ad extensions.

Inputs: ids (required), client_login.

yd_ad_extensions_getC

Get ad extensions by IDs.

Inputs: ids (required), client_login.

yd_adgroups_addC

Create ad groups in a campaign.

Inputs: campaign_id (required), groups (required), client_login.

yd_adgroups_getB

Get ad groups by campaign or group IDs.

Inputs: campaign_ids, group_ids, client_login.

yd_adgroups_updateC

Update an ad group (name, regions, negatives, tracking).

Inputs: adgroup_id (required), name, region_ids, negative_keywords, +2 more.

yd_ad_images_addC

Upload ad images (base64-encoded). Max 100 per request (recommended <=3).

Inputs: images (required), client_login.

yd_ad_images_deleteB

Delete ad images by hashes.

Inputs: ids (required), client_login.

yd_ad_images_getB

Get ad images by IDs or linked entities.

Inputs: ids, associated, client_login.

yd_ads_actionB

Moderate, suspend, resume, archive, or unarchive ads.

Inputs: ad_ids (required), action (required), client_login.

yd_ads_addA

Create text ads in ad groups. Supports bulk creation, sitelinks, and images.

Inputs: ads (required), client_login.

yd_ads_add_dynamicC

Create a dynamic text ad.

Inputs: adgroup_id (required), text (required), ad_image_hash, sitelink_set_id, +1 more.

yd_ads_add_imageB

Create an image ad (TextImageAd).

Inputs: adgroup_id (required), ad_image_hash (required), href (required), client_login.

yd_ads_add_shoppingC

Create a shopping ad (uses v501 API).

Inputs: adgroup_id (required), feed_id (required), conditions, default_texts, +2 more.

yd_ads_getB

Get ads by campaign, ad group, or ad IDs.

Inputs: campaign_ids, ad_group_ids, ad_ids, client_login.

yd_ads_updateC

Update existing text ads. Can change title, text, href, sitelinks, image, etc.

Inputs: ads (required), client_login.

yd_audience_targets_addC

Add audience targeting conditions to ad groups (retargeting lists or interests).

Inputs: targets (required), client_login.

yd_audience_targets_deleteC

Delete audience targeting conditions.

Inputs: ids (required), client_login.

yd_audience_targets_getB

Get audience targets by campaign, ad group, or target IDs.

Inputs: campaign_ids, ad_group_ids, ids, client_login.

yd_auth_statusA

Show Yandex auth status: whether client_id, OAuth token, and Wordstat folder_id are configured.

Inputs: client_login.

yd_bid_modifiers_addB

Add bid modifiers (adjustments) for demographics, devices, regions, etc.

Inputs: campaign_id, ad_group_id, mobile_adjustment, desktop_adjustment, +4 more.

yd_bid_modifiers_deleteB

Delete bid modifiers by IDs.

Inputs: ids (required), client_login.

yd_bid_modifiers_getC

Get bid modifiers for campaigns or ad groups.

Inputs: campaign_ids, ad_group_ids, client_login.

yd_bid_modifiers_setB

Update existing bid modifiers by their IDs.

Inputs: modifiers (required), client_login.

yd_bid_modifiers_toggleC

Enable or disable bid modifiers.

Inputs: bid_modifier_ids (required), enabled (required), client_login.

yd_bids_setC

Set bids for keywords.

Inputs: bids (required), client_login.

yd_blocked_ips_updateA

Set blocked IPs for a campaign (max 25). Only exact IPs, no subnets.

Inputs: campaign_id (required), ips (required), client_login.

yd_businesses_getB

Get organization profiles from Yandex Business linked to ads.

Inputs: ids (required), client_login.

yd_campaigns_actionC

Suspend, resume, archive, or unarchive campaigns.

Inputs: campaign_ids (required), action (required), client_login.

yd_campaigns_addB

Create a new text campaign. Supports all strategies: PAY_FOR_CONVERSION, WB_MAXIMUM_CLICKS, WB_MAXIMUM_CONVERSION_RATE, AVERAGE_CPA, SERVING_OFF, etc.

Inputs: name (required), start_date (required), end_date, daily_budget_amount, +11 more.

yd_campaigns_getC

Get list of campaigns. Filters: types, states, statuses, ids.

Inputs: types, states, ids, client_login.

yd_campaign_strategy_updateB

Update campaign bidding strategy. Change CPA, weekly limit, goal, or strategy type.

Inputs: campaign_id (required), strategy_search, strategy_network, cpa, +3 more.

yd_campaigns_updateB

Update campaign settings (name, budget, strategy, status, etc.).

Inputs: campaign_id (required), name, daily_budget_amount, daily_budget_mode, +3 more.

yd_changes_checkB

Check what changed since a given timestamp (campaigns, ad groups, ads, stats).

Inputs: timestamp (required), field_names (required), campaign_ids, client_login.

yd_clients_getA

Get advertiser account info (settings, balance, bonuses, etc.).

Inputs: client_login.

yd_creatives_addC

Create a video extension creative.

Inputs: video_id (required), client_login.

yd_creatives_getB

Get creatives. Optionally filter by IDs or types.

Inputs: creative_ids, types, client_login.

yd_dictionariesB

Get reference data: regions, currencies, ad categories, etc.

Inputs: names (required), client_login.

yd_excluded_sites_getB

Get list of excluded sites (blocked placements) for a campaign.

Inputs: campaign_id (required), client_login.

yd_excluded_sites_updateA

Set excluded sites (blocked placements) for a campaign. Replaces entire list.

Inputs: campaign_id (required), sites (required), client_login.

yd_feeds_addB

Add a feed for dynamic/smart/shopping ads.

Inputs: name (required), business_type (required), url (required), login, +3 more.

yd_feeds_deleteC

Delete feeds by IDs.

Inputs: feed_ids (required), client_login.

yd_feeds_getB

Get feeds. Optionally filter by IDs.

Inputs: feed_ids, client_login.

yd_feeds_updateC

Update a feed (name, URL, auth).

Inputs: feed_id (required), name, url, login, +2 more.

yd_interests_getC

Get interests dictionary (convenience wrapper).

Inputs: client_login.

yd_keyword_bids_getC

Get keyword bids and traffic forecasts.

Inputs: campaign_ids, ad_group_ids, keyword_ids, client_login.

yd_keyword_bids_setC

Set keyword bids (search and network).

Inputs: bids (required), client_login.

yd_keyword_bids_set_autoC

Set automatic bidding for keywords based on target position or other criteria.

Inputs: bids (required), client_login.

yd_keywords_addC

Add keywords to ad groups.

Inputs: keywords (required), client_login.

yd_keywords_getC

Get keywords by campaign, ad group, or keyword IDs.

Inputs: campaign_ids, ad_group_ids, keyword_ids, client_login.

yd_keywords_has_volumeA

Check if keywords have search volume (impressions) in specified regions. Returns YES/NO per device type. Max 10000 keywords, max 20 requests per 60 seconds.

Inputs: keywords (required), region_ids (required), client_login.

yd_keywords_researchA

Deduplicate keywords: merge duplicates, eliminate overlapping phrases. Preprocesses keywords before adding to campaigns.

Inputs: keywords (required), operations, client_login.

yd_metrika_annotation_createC

Create a chart annotation.

Inputs: counter_id (required), date (required), title (required), message.

yd_metrika_annotation_deleteB

Delete a chart annotation.

Inputs: counter_id (required), annotation_id (required).

yd_metrika_annotations_getC

List chart annotations for a counter.

Inputs: counter_id (required).

yd_metrika_annotation_updateC

Update a chart annotation.

Inputs: counter_id (required), annotation_id (required), date, title, +1 more.

yd_metrika_conversions_statusC

Get offline conversions upload status.

Inputs: counter_id (required).

yd_metrika_counter_createB

Create a new Metrika counter.

Inputs: name (required), site (required).

yd_metrika_counter_deleteC

Delete a Metrika counter.

Inputs: counter_id (required).

yd_metrika_counter_getB

Get counter details by ID.

Inputs: counter_id (required).

yd_metrika_counters_getA

List all Metrika counters. Optional search and favorite filter.

Inputs: search_string, favorite.

yd_metrika_counter_updateB

Update a Metrika counter.

Inputs: counter_id (required), name, site, favorite.

yd_metrika_delegate_addB

Add a delegate.

Inputs: user_login (required), comment.

yd_metrika_delegate_deleteC

Delete a delegate.

Inputs: user_login (required).

yd_metrika_delegates_getA

List all delegates.

Inputs: no named parameters.

yd_metrika_filter_createC

Create a filter for a counter.

Inputs: counter_id (required), attr (required), type (required), value (required), +2 more.

yd_metrika_filter_deleteB

Delete a filter.

Inputs: counter_id (required), filter_id (required).

yd_metrika_filters_getB

List filters for a counter.

Inputs: counter_id (required).

yd_metrika_filter_updateC

Update a filter.

Inputs: counter_id (required), filter_id (required), attr, type, +3 more.

yd_metrika_goal_createC

Create a goal for a counter.

Inputs: counter_id (required), name (required), goal_type (required), conditions (required).

yd_metrika_goal_deleteC

Delete a goal.

Inputs: counter_id (required), goal_id (required).

yd_metrika_goals_getC

List goals for a counter.

Inputs: counter_id (required).

yd_metrika_goal_updateC

Update a goal.

Inputs: counter_id (required), goal_id (required), name, goal_type, +1 more.

yd_metrika_grant_addB

Add access grant to a counter.

Inputs: counter_id (required), user_login (required), permission, comment.

yd_metrika_grant_deleteC

Delete access grant.

Inputs: counter_id (required), user_login (required).

yd_metrika_grants_getB

List access grants for a counter.

Inputs: counter_id (required).

yd_metrika_grant_updateC

Update access grant.

Inputs: counter_id (required), user_login (required), permission (required).

yd_metrika_label_createC

Create a label.

Inputs: name (required).

yd_metrika_label_deleteB

Delete a label.

Inputs: label_id (required).

yd_metrika_labels_getB

List all labels.

Inputs: no named parameters.

yd_metrika_label_updateC

Update a label.

Inputs: label_id (required), name (required).

yd_metrika_reportC

Get a Metrika report (table).

Inputs: counter_id (required), metrics (required), dimensions, date1, +4 more.

yd_metrika_report_by_timeC

Get a Metrika report grouped by time.

Inputs: counter_id (required), metrics (required), group (required), dimensions, +2 more.

yd_metrika_report_comparisonB

Get a Metrika comparison report (A vs B periods).

Inputs: counter_id (required), metrics (required), date1_a (required), date2_a (required), +3 more.

yd_metrika_report_drilldownD

Get a Metrika drilldown report.

Inputs: counter_id (required), metrics (required), dimensions (required), date1, +2 more.

yd_metrika_segment_createC

Create a segment.

Inputs: counter_id (required), name (required), expression (required).

yd_metrika_segment_deleteC

Delete a segment.

Inputs: counter_id (required), segment_id (required).

yd_metrika_segments_getB

List segments for a counter.

Inputs: counter_id (required).

yd_metrika_segment_updateC

Update a segment.

Inputs: counter_id (required), segment_id (required), name, expression.

yd_metrika_upload_callsC

Upload offline calls.

Inputs: counter_id (required), calls (required), client_id_type.

yd_metrika_upload_conversionsC

Upload offline conversions.

Inputs: counter_id (required), conversions (required), client_id_type.

yd_metrika_upload_expensesC

Upload advertising expenses.

Inputs: counter_id (required), expenses (required).

yd_metrika_upload_user_paramsC

Upload user parameters.

Inputs: counter_id (required), users (required), client_id_type.

yd_negative_keywords_sets_addA

Create shared negative keyword sets (max 30 total, reusable across campaigns).

Inputs: name (required), negative_keywords (required), client_login.

yd_negative_keywords_sets_deleteC

Delete shared negative keyword sets.

Inputs: ids (required), client_login.

yd_negative_keywords_sets_getB

Get shared negative keyword sets.

Inputs: ids, client_login.

yd_negative_keywords_sets_updateB

Update a shared negative keyword set.

Inputs: id (required), name, negative_keywords, client_login.

yd_regions_getC

Get regions dictionary (convenience wrapper).

Inputs: client_login.

yd_reportC

Get campaign statistics report. Returns TSV data.

Inputs: date_from (required), date_to (required), report_type (required), field_names (required), +2 more.

yd_retargeting_lists_addC

Create retargeting/audience conditions based on Yandex Metrika goals or audience segments.

Inputs: name (required), rules (required), description, client_login.

yd_retargeting_lists_deleteC

Delete retargeting lists.

Inputs: ids (required), client_login.

yd_retargeting_lists_getC

Get retargeting lists.

Inputs: ids, client_login.

yd_set_client_idA

Save the Yandex OAuth application client_id and return the authorization link. Register an app at https://oauth.yandex.ru/client/new with scopes direct:api, metrika:read, metrika:write, cloud:auth and redirect 'Подставить URL для разработки'.

Inputs: client_id (required), client_login.

yd_set_tokenA

Save the Yandex OAuth access_token (obtained via the authorize link). Validated against the Metrika API before saving. Optionally set yc_folder_id for Wordstat.

Inputs: oauth_token (required), yc_folder_id, client_login.

yd_smart_targets_actionC

Suspend, resume, or delete smart ad targets.

Inputs: target_ids (required), action (required), client_login.

yd_smart_targets_addC

Add a smart ad target (filter) to an ad group.

Inputs: adgroup_id (required), name (required), available_items_only, conditions, +1 more.

yd_smart_targets_getC

Get smart ad targets by campaign, ad group, or target IDs.

Inputs: campaign_ids, adgroup_ids, target_ids, client_login.

yd_vcards_addC

Add a VCard (business card) to a campaign.

Inputs: campaign_id (required), company (required), city_code (required), phone_number (required), +7 more.

yd_vcards_deleteB

Delete VCards by IDs.

Inputs: vcard_ids (required), client_login.

yd_vcards_getC

Get VCards. Optionally filter by IDs.

Inputs: vcard_ids, client_login.

yd_videos_getB

Get ad videos. Optionally filter by IDs.

Inputs: video_ids, client_login.

yd_videos_uploadB

Upload a video from a local file (base64-encoded).

Inputs: file_path (required), name, client_login.

yd_webmaster_diagnostics_getA

Yandex Webmaster: get site diagnostics and problems for a host.

Inputs: host_id (required).

yd_webmaster_host_addB

Yandex Webmaster: add a new host for verification.

Inputs: host_url (required).

yd_webmaster_host_deleteB

Yandex Webmaster: delete (unregister) a host.

Inputs: host_id (required).

yd_webmaster_host_getB

Yandex Webmaster: get details of a specific host.

Inputs: host_id (required).

yd_webmaster_hosts_getA

Yandex Webmaster: list all verified and unverified hosts for the user.

Inputs: no named parameters.

yd_webmaster_host_summaryB

Yandex Webmaster: get host summary including SQI and problem counts.

Inputs: host_id (required).

yd_webmaster_important_urlsC

Yandex Webmaster: get monitored important pages for a host.

Inputs: host_id (required).

yd_webmaster_indexing_historyB

Yandex Webmaster: get crawled-pages indexing history for a host.

Inputs: host_id (required), date_from, date_to.

yd_webmaster_indexing_samplesB

Yandex Webmaster: get sample indexed pages for a host.

Inputs: host_id (required), offset, limit.

yd_webmaster_insearch_historyB

Yandex Webmaster: get history of pages in search for a host.

Inputs: host_id (required), date_from, date_to.

yd_webmaster_insearch_samplesA

Yandex Webmaster: get sample pages currently in search for a host.

Inputs: host_id (required), offset, limit.

yd_webmaster_owners_getB

Yandex Webmaster: list owners of a host.

Inputs: host_id (required).

yd_webmaster_recrawl_listB

Yandex Webmaster: list recrawl queue tasks for a host.

Inputs: host_id (required), offset, limit, date_from, +1 more.

yd_webmaster_recrawl_quotaA

Yandex Webmaster: get daily recrawl quota for a host.

Inputs: host_id (required).

yd_webmaster_recrawl_submitC

Yandex Webmaster: submit a URL for recrawl (returns task_id).

Inputs: host_id (required), url (required).

yd_webmaster_recrawl_taskB

Yandex Webmaster: get status of a specific recrawl task.

Inputs: host_id (required), task_id (required).

yd_webmaster_search_events_samplesB

Yandex Webmaster: get sample pages added or removed from search for a host.

Inputs: host_id (required), offset, limit.

yd_webmaster_search_queries_historyC

Yandex Webmaster: get aggregated search queries history for a host.

Inputs: host_id (required), query_indicator, date_from, date_to, +1 more.

yd_webmaster_sitemaps_getB

Yandex Webmaster: get sitemaps known to Yandex for a host.

Inputs: host_id (required), parent_id, limit, from.

yd_webmaster_sqi_historyB

Yandex Webmaster: get SQI (Site Quality Index) history for a host.

Inputs: host_id (required), date_from, date_to.

yd_webmaster_user_getA

Yandex Webmaster: get current authenticated user info (user_id).

Inputs: no named parameters.

yd_webmaster_user_sitemap_addA

Yandex Webmaster: add a sitemap URL for a host.

Inputs: host_id (required), url (required).

yd_webmaster_user_sitemap_deleteA

Yandex Webmaster: delete a user-added sitemap for a host.

Inputs: host_id (required), sitemap_id (required).

yd_webmaster_user_sitemaps_getB

Yandex Webmaster: get user-added sitemaps for a host.

Inputs: host_id (required), limit, from.

yd_webmaster_verification_getB

Yandex Webmaster: get verification status for a host.

Inputs: host_id (required).

yd_webmaster_verification_startB

Yandex Webmaster: start host verification with a specified method.

Inputs: host_id (required), verification_type (required).

yd_wordstat_dynamicsA

Get search frequency dynamics over time for a keyword. Date alignment is enforced by the API: monthly → both dates must be the 1st of a month; weekly → from=Monday, to=Sunday; daily → any dates.

Inputs: phrase (required), period (required), from_date (required), to_date (required), +2 more.

yd_wordstat_regionsB

Get regional distribution of search queries for a keyword. Shows which regions search most. 2 quota units.

Inputs: phrase (required), region_type, devices.

yd_wordstat_regions_treeA

Get the full tree of Wordstat-supported regions with IDs. No quota cost. Use to find region IDs for other Wordstat methods.

Inputs: no named parameters.

yd_wordstat_top_requestsA

Get popular search queries containing a keyword from Yandex Wordstat (last 30 days). Returns phrases with search counts. 1 quota unit per request.

Inputs: phrase (required), num_phrases, regions, devices.

yd_wordstat_user_infoA

Get Wordstat API quota info (uses IAM token).

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 153 tools

    Disambiguation5/5

    Tools are well-organized by domain (Direct, Metrika, Webmaster, Wordstat) with clear prefixes and distinct operations. Each tool has a unique purpose, minimizing confusion even with many tools.

    Naming Consistency5/5

    All tools follow the consistent pattern 'yd_<domain>_<action>' (e.g., yd_adgroups_add, yd_metrika_counter_create). The naming is predictable and uniform across all services.

    Tool Count4/5

    With 153 tools covering multiple Yandex services (Direct, Metrika, Webmaster, Wordstat, etc.), the count is large but justified by the broad scope. However, it might be split into smaller servers for easier navigation.

    Completeness5/5

    The tool set provides comprehensive CRUD operations for each domain, including ads, analytics, site management, and keyword research. All essential workflows are covered without obvious gaps.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for Yandex Direct, Metrika, Wordstat, and Webmaster APIs, providing 132 tools to manage advertising campaigns, analytics, keyword research, and reporting through any MCP-compatible client.
      58
      MIT
    • A
      license
      C
      quality
      D
      maintenance
      MCP server that provides 46 tools for managing Yandex Webmaster API v4, enabling site management, sitemaps, indexing, search analytics, and more through natural language.
      46
      30 npm
      7
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      A local MCP server that connects Yandex Direct advertising reports and safe campaign creation to AI agents, enabling natural-language analytics and protected campaign setup.
      8
      2
      MIT