Skip to main content
Glama
Pavelsiba

yandex-direct-mcp-plus

by Pavelsiba

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
YANDEX_DIRECT_LOGINNoЛогин клиента для агентских токенов (заголовок Client-Login). Обязателен, если токен агентский
YANDEX_DIRECT_TOKENYesOAuth-токен Яндекс.Директ

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_campaignsA

Список рекламных кампаний Яндекс.Директ с фильтрацией по статусу и типу. Бюджеты — в рублях. По умолчанию возвращается узкий набор полей; нужны другие (Funds, TimeZone, NegativeKeywords и прочие из CampaignFieldEnum) — перечислите их в fields. Кампаний «Баннер на поиске» (MCBANNER) API не отдаёт вовсе: их нет в списке, и это граница API, а не ошибка логина или фильтра — такие кампании видны только в веб-интерфейсе.

get_campaignA

Детальная информация о кампании по ID: бюджет (руб), статус и пояснение к нему, даты, статистика, UTM-разметка, цели и их ценность (PriorityGoals), счётчики Метрики, модель атрибуции и прочие настройки. Реальные ID целей — PriorityGoals.Items[].GoalId; GoalId 13 в стратегии — служебное «ключевые цели», то есть оптимизация по этим PriorityGoals. Пустой ответ по ID из веб-интерфейса не значит, что номер неверный: кампании «Баннер на поиске» (MCBANNER) API не отдаёт, по ID они приходят пустыми.

create_campaignA

Создать новую рекламную кампанию. Бюджет в рублях. ⚠️ Тестовой среды у Директа нет: кампания создаётся в боевом аккаунте. Деньги она начнёт тратить после модерации и включения, поэтому созданную для проверки оставляйте черновиком.

update_campaignA

Обновить кампанию: название, бюджет (руб), UTM-разметку и/или статус (SUSPEND/RESUME/ARCHIVE/UNARCHIVE). Разметка действует на ссылки всех объявлений кампании.

manage_campaignsA

Запустить, остановить, архивировать, разархивировать или удалить кампании. ⚠️ delete необратимо и недоступен кампании с накопленной статистикой — такую только архивировать.

get_strategyA

Получить текущую стратегию показов текстово-графической кампании вместе с целями (PriorityGoals), счётчиками и моделью атрибуции. Реальные ID целей Метрики, по которым работает кампания, — TextCampaign.PriorityGoals.Items[].GoalId (рядом их ценность Value в рублях), счётчики — CounterIds. GoalId внутри BiddingStrategy бывает служебным: 13 — «оптимизировать по ключевым целям», то есть по тем же PriorityGoals; 12 — «Вовлечённые сессии». Названий целей API Директа не отдаёт — они есть только в Метрике.

set_strategyB

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

set_priority_goalsA

Задать цели стратегии кампании (PriorityGoals) и их ценность в рублях — по ним автостратегия оптимизирует ставки, в том числе «максимум конверсий» со служебным GoalId 13. Режим mode обязателен: add добавляет цели или меняет ценность уже заданных, remove убирает названные, replace заменяет список целиком (пустой массив очищает). Текущий список сервер читает сам. Чтобы добавить цель к существующим, нужен add: replace с одной целью сотрёт остальные. ⚠️ Смена целей перезапускает обучение стратегии. Поддерживаются текстово-графические, динамические, смарт и единые перфоманс-кампании; ID целей — из Метрики.

get_time_targetingB

Временной таргетинг кампании: часовой пояс, часы показов по дням недели, почасовые коэффициенты и настройка праздников.

set_time_targetingA

Задать расписание показов кампании: дни, часы, почасовые коэффициенты, праздники и часовой пояс. ⚠️ Расписание заменяется целиком: часы вне переданных правил показов не получат.

list_ad_groupsB

Группы объявлений выбранных кампаний: названия, регионы, статусы.

create_ad_groupB

Создать группу объявлений в кампании с таргетингом по регионам (см. get_regions).

delete_ad_groupsA

Удалить группы объявлений по их ID. ⚠️ Необратимо.

list_adsA

Объявления в группах: заголовки, тексты, ссылки, статусы, тип и подтип объявления, привязанные сайтлинки, визитка и изображение. Причина отказа модерации приходит в StatusClarification. Отбор только по группам — по ID объявления не ищет. Архивные приходят наравне с активными. Список может быть неполным: объявления, тексты которых генерирует нейросеть Яндекса, через API недоступны и в выдачу не попадают, а по ответу это никак не видно. Поэтому «в группе только эти объявления» из ответа не следует — ни из пустого, ни из непустого; для полноты картины сверяйтесь с интерфейсом Директа.

create_text_adC

Создать текстовое объявление: заголовок (≤56), второй заголовок (≤30), текст (≤81), ссылка.

update_text_adA

Обновить текстовое объявление: заголовок, текст, ссылка. Изменённое объявление уходит на модерацию.

manage_adsA

Действие над объявлениями: suspend/resume/archive/unarchive/moderate/delete. ⚠️ delete необратимо.

moderate_adsC

Отправить выбранные объявления на модерацию.

list_keywordsB

Ключевые фразы в группах объявлений: фразы, ставки (руб), статусы. По умолчанию возвращается узкий набор полей; нужны другие (StatisticsSearch, StatisticsNetwork, Productivity, ServingStatus и прочие из KeywordFieldEnum) — перечислите их в fields.

add_keywordsC

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

update_keywordsA

Изменить текст ключевых фраз и подстановочные переменные {param1}/{param2}. Правка текста может привести к появлению фразы с новым ID или к её удалению как дубликата — сверьтесь с list_keywords после вызова. Ставки меняет set_keyword_bids, статус — manage_keywords.

manage_keywordsB

Действие над ключевыми фразами: suspend/resume/delete. ⚠️ delete необратимо.

set_keyword_bidsA

Установить ставки (поиск/сети, в рублях) на уровне фраз, групп или кампаний (сервис Bids). Работает только при ручном управлении ставками: на автостратегии Директ назначает ставки сам, вызов пройдёт без ошибки, но на показы не повлияет. Сначала get_strategy, затем get_keyword_auction — сколько стоит нужная позиция.

get_keyword_auctionA

Сколько стоит показ: ставки и списываемые цены по позициям, ставки конкурентов, минимальная цена входа. Всё в рублях. Позиции — P11–P14 (спецразмещение над выдачей) и P21–P24 (гарантия под выдачей); у каждой Bid — сколько надо поставить, Price — сколько спишется на деле. Отбор по одному уровню: фразы, группы или кампании. Цену аукциона показывает для любой кампании, но ставкой она управляется только при ручном управлении: на автостратегии (любая WB_*, AVERAGE_CPA, AVERAGE_CPC и прочие) ставки назначает Директ, и set_keyword_bids там ничего не даст. Стратегию кампании проверяйте через get_strategy.

get_campaign_negative_keywordsC

Получить текущие минус-фразы кампаний по их ID.

set_campaign_negative_keywordsA

Минус-фразы на уровне кампании. Режим mode обязателен: replace заменяет список целиком (прежние фразы теряются, пустой массив очищает), add дописывает к текущим, remove убирает названные — читать список перед этим не нужно, add и remove делают это сами. Чтобы добавить фразу к существующим, нужен add: replace с одной фразой сотрёт остальные.

set_ad_group_negative_keywordsA

Минус-фразы на уровне группы объявлений. Режим mode обязателен: replace заменяет список целиком (прежние фразы теряются, пустой массив очищает), add дописывает к текущим, remove убирает названные — читать список перед этим не нужно, add и remove делают это сами. Чтобы добавить фразу к существующим, нужен add: replace с одной фразой сотрёт остальные.

list_negative_keyword_shared_setsC

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

manage_negative_keyword_shared_setsC

Создать, изменить или удалить общие наборы минус-фраз аккаунта.

link_negative_keyword_setsA

Заменить привязки общих наборов минус-фраз у кампаний и/или групп объявлений. Привязка к кампании действует на все её группы. Пустой set_ids очищает привязки.

list_sitelinksC

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

set_sitelinksA

Создать новый набор из 1–8 быстрых ссылок. Возвращает ID набора для привязки к объявлению.

delete_sitelinksA

Удалить наборы быстрых ссылок по ID. Набор, привязанный к объявлению, Директ удалить не даст.

list_ad_extensionsB

Получить уточнения (callouts) с их статусами и текстом.

add_ad_extensionsC

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

delete_ad_extensionsA

Удалить уточнения по ID. ⚠️ Необратимо.

manage_ad_imagesB

Загрузить, получить или удалить изображения объявлений (AdImages). Для add данные передаются в base64.

list_vcardsA

Получить виртуальные визитки по ID или найти их через объявления выбранных кампаний.

add_vcardC

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

delete_vcardsA

Удалить визитки по ID; удаление необратимо. Отказ по отдельной визитке приходит в ответе списком, а не ошибкой вызова.

list_audience_targetsB

Получить условия нацеливания на аудиторию по ID кампании, группы, ретаргетинга или интереса.

set_audience_targetsB

Добавить, остановить, возобновить, удалить аудиторные цели или изменить их ставки.

list_dynamic_targetsC

Получить условия нацеливания динамических текстовых объявлений.

manage_dynamic_targetsB

Создать, изменить ставки, остановить, возобновить или удалить динамические цели.

list_retargeting_listsC

Получить условия ретаргетинга и подбора аудитории с правилами и областью применения.

add_retargeting_listB

Создать условие ретаргетинга из целей Метрики, сегментов или интересов.

update_retargeting_listsA

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

delete_retargeting_listsA

Удалить условия ретаргетинга и подбора аудитории по ID; удаление необратимо. Отказ по отдельному условию приходит в ответе списком, а не ошибкой вызова.

get_bid_adjustmentsB

Получить корректировки ставок кампании или группы: устройства, пол и возраст, аудитории, регионы, платёжеспособность, размещение.

add_bid_adjustmentsB

Создать корректировки ставок на кампаниях или группах. Коэффициент — проценты от ставки: 100 ничего не меняет, 0 отключает показы среза.

set_bid_adjustmentsA

Изменить коэффициенты существующих корректировок по их ID.

delete_bid_adjustmentsA

Удалить корректировки по их ID. Ставка среза возвращается к базовой; отменить удаление нельзя.

get_statisticsB

Статистика кампаний за период: показы, клики, расход (руб), CTR, CPC (ReportService, TSV).

get_search_queriesA

Отчёт по фактическим поисковым запросам для анализа и добавления минус-фраз.

get_account_balanceB

Баланс и финансовая информация аккаунта (Amount, Currency) через Live API v4.

list_businessesB

Получить доступные профили организаций из Яндекс Бизнеса.

get_changesB

Проверить изменения кампаний, групп и объявлений начиная с указанного времени, а также изменения справочников (mode=dictionaries) и текущее время сервера Директа.

list_feedsB

Получить товарные фиды, их источники, статусы обработки и связанные кампании.

get_regionsA

Справочник кодов регионов (GeoRegions) для таргетинга. Фильтр по названию, 225 = Россия. with_parents=true показывает вложенность и различает одноимённые города.

list_time_zonesB

Справочник часовых поясов (TimeZones) для set_time_targeting и create_campaign. Фильтр по коду или названию.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.8/5.0

Scored across 60 tools

Disambiguation2/5

Multiple tools have unclear boundaries because generic 'manage_' actions overlap with dedicated tools: manage_campaigns duplicates status/archive operations in update_campaign, manage_ads includes 'moderate' while moderate_ads also exists, and manage_keywords overlaps with update_keywords and set_keyword_bids. Broad action-bundling tools like set_audience_targets and manage_dynamic_targets further blur the line between adding, updating, and removing entities.

Naming Consistency3/5

All names use snake_case, but verb conventions are mixed for the same operations: creation is expressed as create_campaign, add_keywords, set_sitelinks, and add_vcard, while mutation is split between manage_*, update_*, set_*, and delete_*. The generic 'manage_' prefix also obscures what each tool actually does, making the pattern less predictable than it appears.

Tool Count1/5

With 60 tools, the set is far beyond a well-scoped surface and lands in the '50+' extreme-mismatch range. The large count is inflated by many granular read/write tools that could be consolidated or grouped by resource, making the server unwieldy for an agent to navigate.

Completeness3/5

Core Yandex Direct lifecycle operations for campaigns, ads, keywords, bids, negative keywords, retargeting, bid adjustments, and reporting are covered. However, notable gaps exist: there is no get_ad_group or update_ad_group, no get_ad_group_negative_keywords despite a setter, and no explicit tool for binding sitelinks/callouts to ads despite creation endpoints.

Maintenance

ActivityMaintained
ResponsivenessResponsive