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 · SCANNED SEP 20

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

+15 this week 80 Trust /100
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 Security98
  • 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
  • 32 of 97 dependencies flagged as unhealthy. View diagnostics → Partial
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 (MIT).Pass
  • Actively maintained (last published 6 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability72
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 8455 tokens (~140/item across 60 items; 60 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 Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
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 60 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

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

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
// .cursor/mcp.json
{
  "mcpServers": {
    "pavelsiba-yandex-direct-mcp-plus": {
      "command": "npx",
      "args": [
        "-y",
        "yandex-direct-mcp-plus"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "pavelsiba-yandex-direct-mcp-plus": {
      "command": "npx",
      "args": [
        "-y",
        "yandex-direct-mcp-plus"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add pavelsiba-yandex-direct-mcp-plus -- npx -y yandex-direct-mcp-plus
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "pavelsiba-yandex-direct-mcp-plus": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "yandex-direct-mcp-plus"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add pavelsiba-yandex-direct-mcp-plus --command npx --arg -y --arg yandex-direct-mcp-plus
# ~/.hermes/config.yaml
mcp_servers:
  pavelsiba-yandex-direct-mcp-plus:
    command: "npx"
    args: ["-y", "yandex-direct-mcp-plus"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "pavelsiba-yandex-direct-mcp-plus": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "yandex-direct-mcp-plus"
      ]
    }
  }
}
# add to Vellum
assistant mcp add pavelsiba-yandex-direct-mcp-plus -t stdio -c npx -a -y yandex-direct-mcp-plus
// mcp.json
{
  "mcpServers": {
    "pavelsiba-yandex-direct-mcp-plus": {
      "command": "npx",
      "args": [
        "-y",
        "yandex-direct-mcp-plus"
      ]
    }
  }
}
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.

  • 14 Sept 26 +15
    • Malware scan: unverified → pass security
  • 13 Sept 26 65

    First indexed and scored.

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 20 Sept 2026 · Analysed npm/yandex-direct-mcp-plus@1.6.1

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 2818956181
Predicate type https://slsa.dev/provenance/v1
Subject digest sha512:f78171d7b86920e813436d6516e0bac7b5922cf346adfbe9fec5530bb9194275e9686865f40a078dee1b1e42a23476c73c28a0408775a808e1dd13d0a

Background: How many MCP packages publish verified provenance →

Dependencies 97 packages
Packages resolved 97
Stale 32
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 60 exposed · ~8,455 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Правила условия; между собой они соединяются логическим И
typestringRETARGETING — по целям Метрики, AUDIENCE — по сегментам Яндекс.Аудиторий

No output schema declared.

No examples provided.

add_vcard ~298

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

NameTypeReqDescription
apartmentstringОфис или квартира
buildingstringКорпус
campaign_idstringyesID кампании, к которой привязывается визитка
citystringyesГород
company_namestringyesНазвание организации
contact_emailstringКонтактный адрес электронной почты
contact_personstringКонтактное лицо
countrystringyesСтрана, например «Россия»
extra_messagestringДополнительная информация в визитке
housestringДом
metro_station_idstringID станции метро из справочника MetroStations
ogrnstringОГРН или ОГРНИП организации
phone_city_codestringyesКод города или оператора
phone_country_codestringyesКод страны, «+7»
phone_extensionstringДобавочный номер
phone_numberstringyesНомер телефона
streetstringУлица
work_timestringyesРежим работы в формате API: день_с#день_по#час_с#мин_с#час_по#мин_по, например 1#5#9#0#18#0

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 ~319

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

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_paramsUTM-разметка, дописывается к ссылкам всех объявлений кампании. Без ведущего «?»: utm_source=yandex&utm_campaign={campaign_id}. Допустимы подстановки Директа в фигурных скобках. null снимает разметку
typestringТип кампании: текстово-графическая или динамические объявления

No output schema declared.

No examples provided.

create_text_ad ~119

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

NameTypeReqDescription
ad_group_idstringyesID группы, в которой создаётся объявление
hrefstringyesСсылка на сайт
textstringyesТекст объявления, до 81 символов
titlestringyesЗаголовок объявления, до 56 символов
title2stringВторой заголовок, до 30 символов

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 ~83

Удалить условия ретаргетинга и подбора аудитории по 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 ~71

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

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

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 ~285

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

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

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 ~129

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

NameTypeReqDescription
campaign_idsarrayyesКампании, по которым строится отчёт
date_fromstringyesПервый день периода, YYYY-MM-DD
date_tostringyesПоследний день периода включительно, YYYY-MM-DD
fieldsarrayПоля отчёта; по умолчанию Date, CampaignName, Impressions, Clicks, Cost, Ctr, AvgCpc. Деньги приходят в рублях

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 ~83

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

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

No output schema declared.

No examples provided.

list_ads ~227

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

NameTypeReqDescription
ad_group_idsarrayyesГруппы, объявления которых нужно выбрать
limitintegerСколько объектов вернуть (максимум 10000)
offsetintegerСмещение выборки: сюда передаётся LimitedBy предыдущей страницы

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 ~163

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

NameTypeReqDescription
ad_group_idsarrayyesГруппы, ключевые фразы которых нужно выбрать
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 ~108

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

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

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.

set_ad_group_negative_keywords ~273

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

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

No output schema declared.

No examples provided.

set_audience_targets ~117

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

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

No output schema declared.

No examples provided.

set_bid_adjustments ~40

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

NameTypeReqDescription
adjustmentsarrayyesКорректировки и их новые коэффициенты

No output schema declared.

No examples provided.

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 80 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 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 60 tools: list_campaigns, get_campaign, create_campaign, update_campaign, manage_campaigns, and 55 more. Their descriptions and schemas cost roughly 8,455 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 20 September 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 MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.