Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Яндекс.Директ

NPM · YANDEX-DIRECT-MCP-PLUS

API Яндекс.Директа v5: кампании, объявления, фразы, ставки, минус-фразы, статистика

−2 this week 92 Trust /100

Last scanned (3 minutes ago)

Scores higher than 95% of npm servers

Category Marketing and SEO

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 0 of 6 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to Pavelsiba/yandex-direct-mcp-plus). View diagnostics → Pass
  • Clear OSI-approved license (AGPL-3.0-only).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability68
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 10683 tokens (~161/item across 66 items; 66 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
  • Stability check failed: the tool surface changed between 1.7.0 and 2.1.0: 2 tool removals, 0 breaking changes, 9 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 6 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 67 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87.

  • 4 Nov 26 −2
    • Stability: fail → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Package version: 2.0.1 → 2.1.0 functional
  • 1 Nov 26 −1
    • Stability: pass → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Stability: pass → fail ▼ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Package version: 1.8.0 → 2.0.1 functional
  • 29 Oct 26 +1
    • Stability: 0.97 → pass security
  • 28 Oct 26 −1
    • Stability: pass → 0.97 functional
  • 26 Oct 26 +1
    • Stability: fail → pass ▲ security
  • 17 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 85 to 98.

  • 16 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 82 to 85.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/yandex-direct-mcp-plus@2.1.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo Pavelsiba/yandex-direct-mcp-plus
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/Pavelsiba/yandex-direct-mcp-plus/.github/workflows/release.yml@refs/heads/main
Rekor log index 3690139133
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:d5d54d0c4967229f1f877cc4c7ea26db023db2b175ee226cd954bc1560c34611437c83e00c23ef62a70c1e1de5417deccbb1831af4e54511411a6d247

Background: How many MCP packages publish verified provenance →

Dependencies 6 packages
Packages resolved 6
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 66 exposed · ~10,358 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_ad_extensions ~45

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

NameTypeReqDescription
calloutsarrayyesТексты уточнений, каждый до 25 символов

No output schema declared.

No examples provided.

add_bid_adjustments ~141

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

NameTypeReqDescription
ad_group_idsarray–Группы, которым добавляются корректировки; вместо campaign_ids
adjustmentsarrayyesКорректировки; каждая ставится каждому объекту из campaign_ids или ad_group_ids. Всего за вызов не больше 1000 корректировок — это цели, умноженные на виды
campaign_idsarray–Кампании, которым добавляются корректировки; вместо ad_group_ids

No output schema declared.

No examples provided.

add_keywords ~64

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

NameTypeReqDescription
ad_group_idstringyesID группы, в которую добавляются фразы
keywordsarrayyesКлючевые фразы; минус-слова внутри фразы записываются через дефис

No output schema declared.

No examples provided.

add_retargeting_list ~118

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

NameTypeReqDescription
descriptionstring–Описание условия — видно только в интерфейсе, на показы не влияет
namestringyesНазвание условия ретаргетинга
rulesarrayyesПравила условия; между собой они соединяются логическим И
typestring–RETARGETING — по целям Метрики, AUDIENCE — по сегментам Яндекс.Аудиторий

No output schema declared.

No examples provided.

auth_status ~49

Откуда сервер берёт токен (переменная окружения, вход из диалога или запрос) и до когда он действует. В сеть не ходит, баллов не тратит.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

create_ad_group ~126

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

NameTypeReqDescription
campaign_idstringyesID кампании, в которой создаётся группа
namestringyesНазвание группы
region_idsarrayyesРегионы показа, коды из get_regions: ["225"] — Россия, ["225","-213"] — Россия кроме Москвы, ["0"] — все регионы. Минус-регионы нельзя сочетать с 0 и нельзя отправлять одни, без обычного региона

No output schema declared.

No examples provided.

create_campaign ~408

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

NameTypeReqDescription
daily_budgetnumber–Дневной бюджет в рублях, например 1000 — это 1000 ₽
namestringyesНазвание кампании
network_strategystring–Стратегия показов в сетях (РСЯ); SERVING_OFF отключает показы в сетях
search_strategystring–Стратегия показов на поиске; SERVING_OFF отключает показы на поиске
start_datestringyesДата начала показов, YYYY-MM-DD
time_zonestring–Часовой пояс показов, например Europe/Moscow (по умолчанию). Список — в справочнике list_time_zones; на даты отчётов не влияет, они всегда по Москве
tracking_params––UTM-разметка, дописывается к ссылкам всех объявлений кампании. Без ведущего «?»: utm_source=yandex&utm_campaign={campaign_id}. Допустимы подстановки Директа в фигурных скобках. null снимает разметку
typestring–Тип кампании. Через API создаётся только текстово-графическая: смарт-баннеры и динамические объявления Директ через API не создаёт

No output schema declared.

No examples provided.

create_responsive_ad ~178

Создать комбинаторное объявление: от 1 до 7 заголовков (≤56 символов), от 1 до 3 текстов (≤81) и ссылка; варианты показа Директ собирает из них сам. Текстовые объявления через API больше не создаются — Директ заводит их комбинаторными. В группе — не больше 3 неархивных комбинаторных объявлений.

NameTypeReqDescription
ad_group_idstringyesID группы, в которой создаётся объявление
hrefstringyesСсылка на сайт
textsarrayyesТексты, от 1 до 3, каждый до 81 символов
titlesarrayyesЗаголовки, от 1 до 7, каждый до 56 символов

No output schema declared.

No examples provided.

delete_ad_extensions ~46

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

NameTypeReqDescription
ad_extension_idsarrayyesУточнения, которые будут удалены безвозвратно

No output schema declared.

No examples provided.

delete_ad_groups ~48

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

NameTypeReqDescription
ad_group_idsarrayyesГруппы, которые будут удалены безвозвратно

No output schema declared.

No examples provided.

delete_bid_adjustments ~62

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

NameTypeReqDescription
adjustment_idsarrayyesКорректировки, которые нужно удалить; ID берутся из get_bid_adjustments

No output schema declared.

No examples provided.

delete_retargeting_lists ~84

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

NameTypeReqDescription
retargeting_list_idsarrayyesУсловия, которые нужно удалить; ID берутся из list_retargeting_lists

No output schema declared.

No examples provided.

delete_sitelinks ~67

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

NameTypeReqDescription
sitelink_set_idsarrayyesНаборы, которые нужно удалить; ID берутся из list_sitelinks

No output schema declared.

No examples provided.

delete_vcards ~72

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

NameTypeReqDescription
vcard_idsarrayyesВизитки, которые нужно удалить; ID берутся из list_vcards

No output schema declared.

No examples provided.

finish_login ~81

Второй шаг входа: меняет код подтверждения от пользователя на токен и сохраняет его на этом компьютере. Токен в ответ не попадает.

NameTypeReqDescription
codestringyesКод подтверждения, который Яндекс показал пользователю после входа по ссылке из start_login. Одноразовый, живёт около 10 минут

No output schema declared.

No examples provided.

get_account_balance ~57

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

NameTypeReqDescription
loginsarray–Логины аккаунтов для агентского токена; по умолчанию — аккаунт самого токена

No output schema declared.

No examples provided.

get_bid_adjustments ~168

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

NameTypeReqDescription
ad_group_idsarray–Группы, корректировки которых нужно получить
adjustment_idsarray–Конкретные корректировки по их ID
campaign_idsarray–Кампании, корректировки которых нужно получить
levelsarrayyesУровни корректировок: CAMPAIGN и/или AD_GROUP
limitinteger–Сколько объектов вернуть (максимум 10000)
offsetinteger–Смещение выборки: сюда передаётся LimitedBy предыдущей страницы
typesarray–Фильтр по типу корректировки

No output schema declared.

No examples provided.

get_campaign ~168

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

NameTypeReqDescription
campaign_idstringyesID рекламной кампании, десятичная строка

No output schema declared.

No examples provided.

get_campaign_negative_keywords ~44

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

NameTypeReqDescription
campaign_idsarrayyesКампании, минус-фразы которых нужно прочитать

No output schema declared.

No examples provided.

get_changes ~210

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

NameTypeReqDescription
ad_group_idsarray–Группы для mode=objects
ad_idsarray–Объявления для mode=objects
campaign_idsarray–Кампании для mode=objects
field_namesarray–Какие изменения интересуют; по умолчанию — соответствующие переданным ID
modestringyescampaigns — какие кампании менялись целиком; objects — что изменилось внутри выбранных объектов; dictionaries — менялись ли справочники регионов, часовых поясов и интересов
timestampstring–Момент, начиная с которого искать изменения: YYYY-MM-DDThh:mm:ssZ. Обязателен для campaigns и objects; для dictionaries без него возвращается только текущее время сервера

No output schema declared.

No examples provided.

get_keyword_auction ~379

Сколько стоит трафик по фразам: текущие ставки и торги на поиске и в сетях. Всё в рублях. На поиске Search.AuctionBids — для каждого объёма трафика фразы TrafficVolume Bid — сколько поставить и Price — сколько спишется за клик. Объём трафика — индекс кликабельности места показа: 100 — первое место премиум-показов, следующие места — 85, 75, 65; выше 100 — места кликабельнее первого, например показ в расширенном формате. В сетях Network.Coverage — ставка под долю аудитории (Probability, %). Отбор по одному уровню: фразы, группы или кампании. Торги видны при любой стратегии, но ставкой управляются только при ручной: на автостратегии (WB_*, AVERAGE_CPA, AVERAGE_CPC и прочие) ставки назначает Директ. Стратегию кампании проверяйте через get_strategy.

NameTypeReqDescription
ad_group_idsarray–Аукцион по всем фразам указанных групп
campaign_idsarray–Аукцион по всем фразам указанных кампаний
keyword_idsarray–Аукцион по указанным фразам и автотаргетингам
limitinteger–Сколько объектов вернуть (максимум 10000)
offsetinteger–Смещение выборки: сюда передаётся LimitedBy предыдущей страницы
placementsarray–Чьи торги показать: search — поиск, network — сети. По умолчанию обе; у кампании с выключенными показами на одной из площадок запрашивайте только другую

No output schema declared.

No examples provided.

get_keyword_forecast ~396

Прогноз трафика и цены клика по списку фраз без кампании — для подбора семантики. Отдаёт таблицу TSV, строка на фразу: Shows — показы за прошедший месяц; Clicks, CTR — нижний блок без первого места; FirstPlaceClicks, FirstPlaceCTR — первое место; PremiumClicks, PremiumCTR — спецразмещение; Min и Max — цена клика за вход в нижний блок и за первое место в нём; PremiumMin и PremiumMax — то же в спецразмещении. С auction_bids — колонки «P<блок><место> Bid» (ставка за позицию) и «… Price» (списываемая цена): P11–P14 — спецразмещение, P21–P24 — нижний блок. Строка «Итого» — суммы по всем фразам, где Min/Max/PremiumMin уже бюджет за месяц, а не цена клика. Деньги — в валюте из currency. Ждёт готовности отчёта до 90 секунд.

NameTypeReqDescription
auction_bidsboolean–Добавить по каждой фразе ставку и списываемую цену для каждой позиции показа (AuctionBids)
currencystring–Валюта цен и бюджетов в ответе; по умолчанию RUB
negative_keywordsarray–Минус-фразы, общие для всех фраз прогноза
phrasesarrayyesФразы для прогноза, до 100. Пересекающиеся фразы прогнозируются с учётом друг друга
region_idsarray–Регионы, коды из get_regions: ["65"] — Новосибирск, ["225","-213"] — Россия кроме Москвы. По умолчанию — все регионы

No output schema declared.

No examples provided.

get_regions ~175

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

NameTypeReqDescription
limitinteger–Сколько регионов вернуть, максимум 500
searchstring–Фильтр по названию региона: подстрока без учёта регистра, например «москва»
with_parentsboolean–Показать, во что вложен регион (Новосибирск → Новосибирская область, Россия) — так различаются одноимённые города. По умолчанию выключено; требует search. Ищет при этом сам Директ — по похожему назва…

No output schema declared.

No examples provided.

get_search_queries ~128

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

NameTypeReqDescription
campaign_idsarrayyesКампании, по которым нужен отчёт о поисковых запросах
date_fromstringyesПервый день периода, YYYY-MM-DD
date_tostringyesПоследний день периода включительно, YYYY-MM-DD
fieldsarray–Поля отчёта; по умолчанию Query, CampaignId, CampaignName, AdGroupId, AdGroupName, Criterion, Impressions, Clicks, Cost

No output schema declared.

No examples provided.

get_statistics ~311

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

NameTypeReqDescription
campaign_idsarray–Кампании, по которым строится отчёт. Обязательны для всех типов, кроме ACCOUNT_PERFORMANCE_REPORT
date_fromstringyesПервый день периода, YYYY-MM-DD
date_tostringyesПоследний день периода включительно, YYYY-MM-DD
fieldsarray–Поля отчёта; по умолчанию — свой набор для каждого типа отчёта. Допустимость поля зависит от типа: например, Query бывает только в поисковых запросах, а Keyword — только фильтр. Date делит строки по…
report_typestring–Уровень отчёта: CAMPAIGN_PERFORMANCE_REPORT — по кампаниям, ADGROUP_PERFORMANCE_REPORT — по группам, AD_PERFORMANCE_REPORT — по объявлениям, CRITERIA_PERFORMANCE_REPORT — по условиям показа (фразы, а…

No output schema declared.

No examples provided.

get_strategy ~166

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

NameTypeReqDescription
campaign_idstringyesID текстово-графической кампании

No output schema declared.

No examples provided.

get_time_targeting ~60

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

NameTypeReqDescription
campaign_idstringyesID кампании, десятичная строка

No output schema declared.

No examples provided.

link_negative_keyword_sets ~185

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

NameTypeReqDescription
ad_group_idsarray–Группы, которым назначаются наборы
campaign_idsarray–Кампании, которым назначаются наборы. Привязка на уровне кампании действует на все её группы. Тип кампании сервер читает сам — это дополнительный вызов API; общие наборы поддерживают TEXT_CAMPAIGN, D…
set_idsarrayyesПолный новый список наборов объекта — прежние привязки затираются. Пустой массив снимает все

No output schema declared.

No examples provided.

list_ad_extensions ~117

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

NameTypeReqDescription
ad_extension_idsarray–Конкретные уточнения; без них возвращаются все
limitinteger–Сколько объектов вернуть (максимум 10000)
offsetinteger–Смещение выборки: сюда передаётся LimitedBy предыдущей страницы
statesarray–Фильтр по состоянию уточнения
statusesarray–Фильтр по статусу модерации уточнения

No output schema declared.

No examples provided.

list_ad_groups ~157

Группы объявлений выбранных кампаний: названия, регионы, статусы. По умолчанию возвращается узкий набор полей; нужны другие (NegativeKeywords, NegativeKeywordSharedSetIds, TrackingParams, ServingStatus и прочие из AdGroupFieldEnum) — перечислите их в fields.

NameTypeReqDescription
campaign_idsarrayyesКампании, группы которых нужно выбрать
fieldsarray–Какие поля вернуть; по умолчанию Id, Name, CampaignId, RegionIds, Status, Type
limitinteger–Сколько объектов вернуть (максимум 10000)
offsetinteger–Смещение выборки: сюда передаётся LimitedBy предыдущей страницы

No output schema declared.

No examples provided.

list_ads ~362

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

NameTypeReqDescription
ad_group_idsarray–Группы, объявления которых нужно выбрать
ad_idsarray–Конкретные объявления по ID
campaign_idsarray–Кампании, объявления которых нужно выбрать, до 10
limitinteger–Сколько объектов вернуть (максимум 10000)
offsetinteger–Смещение выборки: сюда передаётся LimitedBy предыдущей страницы
statesarray–Фильтр по состоянию: ON — показывается, SUSPENDED — остановлено, ARCHIVED — в архиве
statusesarray–Фильтр по статусу модерации
typesarray–Фильтр по типу объявления

No output schema declared.

No examples provided.

list_audience_targets ~179

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

NameTypeReqDescription
ad_group_idsarray–Условия выбранных групп
audience_target_idsarray–Конкретные условия нацеливания
campaign_idsarray–Условия выбранных кампаний
interest_idsarray–Условия, построенные на этих интересах
limitinteger–Сколько объектов вернуть (максимум 10000)
offsetinteger–Смещение выборки: сюда передаётся LimitedBy предыдущей страницы
retargeting_list_idsarray–Условия, построенные на этих списках ретаргетинга
statesarray–Фильтр по состоянию: ON или SUSPENDED

No output schema declared.

No examples provided.

list_businesses ~83

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

NameTypeReqDescription
business_idsarray–Конкретные профили; без них возвращаются все доступные
limitinteger–Сколько объектов вернуть (максимум 10000)
offsetinteger–Смещение выборки: сюда передаётся LimitedBy предыдущей страницы

No output schema declared.

No examples provided.

list_campaigns ~243

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

NameTypeReqDescription
fieldsarray–Какие поля вернуть; по умолчанию Id, Name, Status, StatusClarification, State, DailyBudget, StartDate, Type, Statistics
limitinteger–Сколько объектов вернуть (максимум 10000)
offsetinteger–Смещение выборки: сюда передаётся LimitedBy предыдущей страницы
statusstring–Фильтр по статусу модерации кампании
typesarray–Фильтр по типам кампаний

No output schema declared.

No examples provided.

list_dynamic_targets ~123

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

NameTypeReqDescription
ad_group_idsarray–Цели выбранных групп
campaign_idsarray–Цели выбранных кампаний
dynamic_target_idsarray–Конкретные динамические цели
limitinteger–Сколько объектов вернуть (максимум 10000)
offsetinteger–Смещение выборки: сюда передаётся LimitedBy предыдущей страницы
statesarray–Фильтр по состоянию: ON или SUSPENDED

No output schema declared.

No examples provided.

list_feeds ~90

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

NameTypeReqDescription
feed_idsarray–Конкретные фиды; без них возвращаются все фиды аккаунта
limitinteger–Сколько объектов вернуть (максимум 10000)
offsetinteger–Смещение выборки: сюда передаётся LimitedBy предыдущей страницы

No output schema declared.

No examples provided.

list_keywords ~244

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

NameTypeReqDescription
ad_group_idsarrayyesГруппы, ключевые фразы которых нужно выбрать
autotargetingboolean–true — добавить к ответу AutotargetingSettings: категории запросов и брендов у фразы ---autotargeting (YES/NO). У обычных фраз поле пустое
fieldsarray–Какие поля вернуть; по умолчанию Id, Keyword, CampaignId, AdGroupId, Status, State, Bid, ContextBid
limitinteger–Сколько объектов вернуть (максимум 10000)
offsetinteger–Смещение выборки: сюда передаётся LimitedBy предыдущей страницы

No output schema declared.

No examples provided.

list_negative_keyword_shared_sets ~86

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

NameTypeReqDescription
limitinteger–Сколько объектов вернуть (максимум 10000)
offsetinteger–Смещение выборки: сюда передаётся LimitedBy предыдущей страницы
set_idsarray–Конкретные наборы; без них возвращаются все наборы аккаунта

No output schema declared.

No examples provided.

list_retargeting_lists ~125

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

NameTypeReqDescription
limitinteger–Сколько объектов вернуть (максимум 10000)
offsetinteger–Смещение выборки: сюда передаётся LimitedBy предыдущей страницы
retargeting_list_idsarray–Конкретные условия; без них возвращаются все
typesarray–Фильтр по типу: RETARGETING — цели Метрики, AUDIENCE — сегменты Аудиторий

No output schema declared.

No examples provided.

list_sitelinks ~88

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

NameTypeReqDescription
limitinteger–Сколько объектов вернуть (максимум 10000)
offsetinteger–Смещение выборки: сюда передаётся LimitedBy предыдущей страницы
sitelink_set_idsarray–Конкретные наборы; без них возвращаются все наборы аккаунта

No output schema declared.

No examples provided.

list_time_zones ~99

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

NameTypeReqDescription
limitinteger–Сколько часовых поясов вернуть, максимум 500
searchstring–Фильтр по коду или названию пояса: подстрока без учёта регистра, например «moscow» или «Екатеринбург»

No output schema declared.

No examples provided.

list_vcards ~137

Получить виртуальные визитки по ID или найти их через объявления выбранных кампаний. Создавать визитки Директ через API не даёт — новая визитка заводится в интерфейсе Директа.

NameTypeReqDescription
campaign_idsarray–Найти визитки, привязанные к объявлениям этих кампаний
limitinteger–Сколько объектов вернуть (максимум 10000)
offsetinteger–Смещение выборки: сюда передаётся LimitedBy предыдущей страницы
vcard_idsarray–Конкретные визитки по их ID

No output schema declared.

No examples provided.

logout ~46

Удаляет сохранённый вход из диалога с этого компьютера. Переменную YANDEX_DIRECT_TOKEN не трогает; доступ приложения отзывается в Яндекс ID.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

manage_ad_images ~170

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

NameTypeReqDescription
actionstringyesЧто сделать: add, get или delete (необратимо)
ad_image_hashesarray–Хеши изображений: фильтр при action=get, обязателен при action=delete
associatedstring–Фильтр при action=get: YES — только привязанные к объявлениям, NO — только свободные
imagesarray–Изображения для загрузки; обязателен при action=add
limitinteger–Сколько объектов вернуть (максимум 10000)
offsetinteger–Смещение выборки: сюда передаётся LimitedBy предыдущей страницы

No output schema declared.

No examples provided.

manage_ads ~79

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

NameTypeReqDescription
actionstringyesДействие: suspend, resume, archive, unarchive, moderate или delete (необратимо)
ad_idsarrayyesОбъявления, над которыми выполняется действие

No output schema declared.

No examples provided.

manage_campaigns ~94

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

NameTypeReqDescription
actionstringyesДействие: suspend, resume, archive, unarchive или delete (необратимо)
campaign_idsarrayyesID кампаний, над которыми выполняется действие

No output schema declared.

No examples provided.

manage_dynamic_targets ~114

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

NameTypeReqDescription
actionstringyesЧто сделать: add, set_bids, suspend, resume или delete (необратимо)
bidsarray–Новые ставки и приоритеты; обязателен при action=set_bids
dynamic_target_idsarray–Цели для suspend, resume или delete
targetsarray–Цели для добавления; обязателен при action=add

No output schema declared.

No examples provided.

manage_keywords ~69

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

NameTypeReqDescription
actionstringyesДействие: suspend, resume или delete (необратимо)
keyword_idsarrayyesФразы, над которыми выполняется действие

No output schema declared.

No examples provided.

manage_negative_keyword_shared_sets ~114

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

NameTypeReqDescription
actionstringyesЧто сделать с наборами: add, update или delete (необратимо)
add_setsarray–Наборы для создания; обязателен при action=add
set_idsarray–Наборы для удаления; обязателен при action=delete
update_setsarray–Наборы для изменения; обязателен при action=update

No output schema declared.

No examples provided.

moderate_ads ~38

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

NameTypeReqDescription
ad_idsarrayyesОбъявления, отправляемые на модерацию

No output schema declared.

No examples provided.

Install

How do I install the Яндекс.Директ MCP server?

Яндекс.Директ runs locally as an npm package, launched with npx -y yandex-direct-mcp-plus. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · yandex-direct-mcp-plus

# add to Claude Code
claude mcp add pavelsiba-yandex-direct-mcp-plus -- npx -y yandex-direct-mcp-plus
Common questions

What is the Яндекс.Директ MCP server?

Яндекс.Директ is an MCP server listed in the public MCP registry as io.github.Pavelsiba/yandex-direct-mcp-plus. API Яндекс.Директа v5: кампании, объявления, фразы, ставки, минус-фразы, статистика. This page covers its npm package (yandex-direct-mcp-plus).

Is the Яндекс.Директ MCP server safe to use?

Яндекс.Директ scores 92 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Яндекс.Директ MCP server expose?

Яндекс.Директ exposes 66 tools: start_login, finish_login, auth_status, logout, list_campaigns, and 61 more. Their descriptions and schemas cost roughly 10,358 tokens of context every time the server is loaded.

Is the Яндекс.Директ MCP server still maintained?

Яндекс.Директ is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Яндекс.Директ MCP server under?

Яндекс.Директ declares the AGPL-3.0-only licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.