Яндекс.Директ
NPM · YANDEX-DIRECT-MCP-PLUS · SCANNED SEP 20
API Яндекс.Директа v5: кампании, объявления, фразы, ставки, минус-фразы, статистика
Available components
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.
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
claude mcp add pavelsiba-yandex-direct-mcp-plus -- npx -y yandex-direct-mcp-plus
{
"mcpServers": {
"pavelsiba-yandex-direct-mcp-plus": {
"command": "npx",
"args": [
"-y",
"yandex-direct-mcp-plus"
]
}
}
} {
"servers": {
"pavelsiba-yandex-direct-mcp-plus": {
"command": "npx",
"args": [
"-y",
"yandex-direct-mcp-plus"
]
}
}
} codex mcp add pavelsiba-yandex-direct-mcp-plus -- npx -y yandex-direct-mcp-plus
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"pavelsiba-yandex-direct-mcp-plus": {
"type": "local",
"command": [
"npx",
"-y",
"yandex-direct-mcp-plus"
],
"enabled": true
}
}
} openclaw mcp add pavelsiba-yandex-direct-mcp-plus --command npx --arg -y --arg yandex-direct-mcp-plus
mcp_servers:
pavelsiba-yandex-direct-mcp-plus:
command: "npx"
args: ["-y", "yandex-direct-mcp-plus"] {
"McpServers": {
"pavelsiba-yandex-direct-mcp-plus": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"yandex-direct-mcp-plus"
]
}
}
} assistant mcp add pavelsiba-yandex-direct-mcp-plus -t stdio -c npx -a -y yandex-direct-mcp-plus
{
"mcpServers": {
"pavelsiba-yandex-direct-mcp-plus": {
"command": "npx",
"args": [
"-y",
"yandex-direct-mcp-plus"
]
}
}
} 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.
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 →
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 →
add_ad_extensions Создать уточнения ~45
Создать уточнения (callouts), каждый текст до 25 символов.
| Name | Type | Req | Description |
|---|---|---|---|
| callouts | array | yes | Тексты уточнений, каждый до 25 символов |
No output schema declared.
No examples provided.
add_bid_adjustments Создать корректировки ставок ~141
Создать корректировки ставок на кампаниях или группах. Коэффициент — проценты от ставки: 100 ничего не меняет, 0 отключает показы среза.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_group_ids | array | – | Группы, которым добавляются корректировки; вместо campaign_ids |
| adjustments | array | yes | Корректировки; каждая ставится каждому объекту из campaign_ids или ad_group_ids. Всего за вызов не больше 1000 корректировок — это цели, умноженные на виды |
| campaign_ids | array | – | Кампании, которым добавляются корректировки; вместо ad_group_ids |
No output schema declared.
No examples provided.
add_keywords Добавить ключевые слова ~64
Добавить ключевые фразы в группу объявлений.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_group_id | string | yes | ID группы, в которую добавляются фразы |
| keywords | array | yes | Ключевые фразы; минус-слова внутри фразы записываются через дефис |
No output schema declared.
No examples provided.
add_retargeting_list Создать список ретаргетинга ~118
Создать условие ретаргетинга из целей Метрики, сегментов или интересов.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Описание условия — видно только в интерфейсе, на показы не влияет |
| name | string | yes | Название условия ретаргетинга |
| rules | array | yes | Правила условия; между собой они соединяются логическим И |
| type | string | – | RETARGETING — по целям Метрики, AUDIENCE — по сегментам Яндекс.Аудиторий |
No output schema declared.
No examples provided.
add_vcard Создать визитку ~298
Создать виртуальную визитку для кампании.
| Name | Type | Req | Description |
|---|---|---|---|
| apartment | string | – | Офис или квартира |
| building | string | – | Корпус |
| campaign_id | string | yes | ID кампании, к которой привязывается визитка |
| city | string | yes | Город |
| company_name | string | yes | Название организации |
| contact_email | string | – | Контактный адрес электронной почты |
| contact_person | string | – | Контактное лицо |
| country | string | yes | Страна, например «Россия» |
| extra_message | string | – | Дополнительная информация в визитке |
| house | string | – | Дом |
| metro_station_id | string | – | ID станции метро из справочника MetroStations |
| ogrn | string | – | ОГРН или ОГРНИП организации |
| phone_city_code | string | yes | Код города или оператора |
| phone_country_code | string | yes | Код страны, «+7» |
| phone_extension | string | – | Добавочный номер |
| phone_number | string | yes | Номер телефона |
| street | string | – | Улица |
| work_time | string | yes | Режим работы в формате API: день_с#день_по#час_с#мин_с#час_по#мин_по, например 1#5#9#0#18#0 |
No output schema declared.
No examples provided.
create_ad_group Создать группу ~126
Создать группу объявлений в кампании с таргетингом по регионам (см. get_regions).
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | ID кампании, в которой создаётся группа |
| name | string | yes | Название группы |
| region_ids | array | yes | Регионы показа, коды из get_regions: ["225"] — Россия, ["225","-213"] — Россия кроме Москвы, ["0"] — все регионы. Минус-регионы нельзя сочетать с 0 и нельзя отправлять одни, без обычного региона |
No output schema declared.
No examples provided.
create_campaign Создать кампанию ~319
Создать новую рекламную кампанию. Бюджет в рублях. ⚠️ Тестовой среды у Директа нет: кампания создаётся в боевом аккаунте. Деньги она начнёт тратить после модерации и включения, поэтому созданную для проверки оставляйте черновиком.
| Name | Type | Req | Description |
|---|---|---|---|
| daily_budget | number | – | Дневной бюджет в рублях, например 1000 — это 1000 ₽ |
| name | string | yes | Название кампании |
| network_strategy | string | – | Стратегия показов в сетях (РСЯ); SERVING_OFF отключает показы в сетях |
| search_strategy | string | – | Стратегия показов на поиске; SERVING_OFF отключает показы на поиске |
| start_date | string | yes | Дата начала показов, YYYY-MM-DD |
| time_zone | string | – | Часовой пояс показов, например Europe/Moscow (по умолчанию). Список — в справочнике list_time_zones; на даты отчётов не влияет, они всегда по Москве |
| tracking_params | – | – | UTM-разметка, дописывается к ссылкам всех объявлений кампании. Без ведущего «?»: utm_source=yandex&utm_campaign={campaign_id}. Допустимы подстановки Директа в фигурных скобках. null снимает разметку |
| type | string | – | Тип кампании: текстово-графическая или динамические объявления |
No output schema declared.
No examples provided.
create_text_ad Создать объявление ~119
Создать текстовое объявление: заголовок (≤56), второй заголовок (≤30), текст (≤81), ссылка.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_group_id | string | yes | ID группы, в которой создаётся объявление |
| href | string | yes | Ссылка на сайт |
| text | string | yes | Текст объявления, до 81 символов |
| title | string | yes | Заголовок объявления, до 56 символов |
| title2 | string | – | Второй заголовок, до 30 символов |
No output schema declared.
No examples provided.
delete_ad_extensions Удалить уточнения ~46
Удалить уточнения по ID. ⚠️ Необратимо.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_extension_ids | array | yes | Уточнения, которые будут удалены безвозвратно |
No output schema declared.
No examples provided.
delete_ad_groups Удалить группы ~48
Удалить группы объявлений по их ID. ⚠️ Необратимо.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_group_ids | array | yes | Группы, которые будут удалены безвозвратно |
No output schema declared.
No examples provided.
delete_bid_adjustments Удалить корректировки ставок ~62
Удалить корректировки по их ID. Ставка среза возвращается к базовой; отменить удаление нельзя.
| Name | Type | Req | Description |
|---|---|---|---|
| adjustment_ids | array | yes | Корректировки, которые нужно удалить; ID берутся из get_bid_adjustments |
No output schema declared.
No examples provided.
delete_retargeting_lists Удалить списки ретаргетинга ~83
Удалить условия ретаргетинга и подбора аудитории по ID; удаление необратимо. Отказ по отдельному условию приходит в ответе списком, а не ошибкой вызова.
| Name | Type | Req | Description |
|---|---|---|---|
| retargeting_list_ids | array | yes | Условия, которые нужно удалить; ID берутся из list_retargeting_lists |
No output schema declared.
No examples provided.
delete_sitelinks Удалить быстрые ссылки ~67
Удалить наборы быстрых ссылок по ID. Набор, привязанный к объявлению, Директ удалить не даст.
| Name | Type | Req | Description |
|---|---|---|---|
| sitelink_set_ids | array | yes | Наборы, которые нужно удалить; ID берутся из list_sitelinks |
No output schema declared.
No examples provided.
delete_vcards Удалить визитки ~71
Удалить визитки по ID; удаление необратимо. Отказ по отдельной визитке приходит в ответе списком, а не ошибкой вызова.
| Name | Type | Req | Description |
|---|---|---|---|
| vcard_ids | array | yes | Визитки, которые нужно удалить; ID берутся из list_vcards |
No output schema declared.
No examples provided.
get_account_balance Баланс аккаунта ~57
Баланс и финансовая информация аккаунта (Amount, Currency) через Live API v4.
| Name | Type | Req | Description |
|---|---|---|---|
| logins | array | – | Логины аккаунтов для агентского токена; по умолчанию — аккаунт самого токена |
No output schema declared.
No examples provided.
get_bid_adjustments Корректировки ставок ~168
Получить корректировки ставок кампании или группы: устройства, пол и возраст, аудитории, регионы, платёжеспособность, размещение.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_group_ids | array | – | Группы, корректировки которых нужно получить |
| adjustment_ids | array | – | Конкретные корректировки по их ID |
| campaign_ids | array | – | Кампании, корректировки которых нужно получить |
| levels | array | yes | Уровни корректировок: CAMPAIGN и/или AD_GROUP |
| limit | integer | – | Сколько объектов вернуть (максимум 10000) |
| offset | integer | – | Смещение выборки: сюда передаётся LimitedBy предыдущей страницы |
| types | array | – | Фильтр по типу корректировки |
No output schema declared.
No examples provided.
get_campaign Кампания по ID ~168
Детальная информация о кампании по ID: бюджет (руб), статус и пояснение к нему, даты, статистика, UTM-разметка, цели и их ценность (PriorityGoals), счётчики Метрики, модель атрибуции и прочие настройки. Реальные ID целей — PriorityGoals.Items[].GoalId; GoalId 13 в стратегии — служебное «ключевые цели», то есть оптимизация по этим PriorityGoals. Пустой ответ по ID из веб-интерфейса не значит, что номер неверный: кампании «Баннер на поиске» (MCBANNER) API не отдаёт, по ID они приходят пустыми.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | ID рекламной кампании, десятичная строка |
No output schema declared.
No examples provided.
get_campaign_negative_keywords Получить минус-фразы кампаний ~44
Получить текущие минус-фразы кампаний по их ID.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_ids | array | yes | Кампании, минус-фразы которых нужно прочитать |
No output schema declared.
No examples provided.
get_changes Изменения объектов ~210
Проверить изменения кампаний, групп и объявлений начиная с указанного времени, а также изменения справочников (mode=dictionaries) и текущее время сервера Директа.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_group_ids | array | – | Группы для mode=objects |
| ad_ids | array | – | Объявления для mode=objects |
| campaign_ids | array | – | Кампании для mode=objects |
| field_names | array | – | Какие изменения интересуют; по умолчанию — соответствующие переданным ID |
| mode | string | yes | campaigns — какие кампании менялись целиком; objects — что изменилось внутри выбранных объектов; dictionaries — менялись ли справочники регионов, часовых поясов и интересов |
| timestamp | string | – | Момент, начиная с которого искать изменения: 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.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_group_ids | array | – | Аукцион по всем фразам указанных групп |
| campaign_ids | array | – | Аукцион по всем фразам указанных кампаний |
| keyword_ids | array | – | Аукцион по указанным фразам |
| limit | integer | – | Сколько объектов вернуть (максимум 10000) |
| offset | integer | – | Смещение выборки: сюда передаётся LimitedBy предыдущей страницы |
No output schema declared.
No examples provided.
get_regions Справочник регионов ~175
Справочник кодов регионов (GeoRegions) для таргетинга. Фильтр по названию, 225 = Россия. with_parents=true показывает вложенность и различает одноимённые города.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Сколько регионов вернуть, максимум 500 |
| search | string | – | Фильтр по названию региона: подстрока без учёта регистра, например «москва» |
| with_parents | boolean | – | Показать, во что вложен регион (Новосибирск → Новосибирская область, Россия) — так различаются одноимённые города. По умолчанию выключено; требует search. Ищет при этом сам Директ — по похожему назва… |
No output schema declared.
No examples provided.
get_search_queries Поисковые запросы ~128
Отчёт по фактическим поисковым запросам для анализа и добавления минус-фраз.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_ids | array | yes | Кампании, по которым нужен отчёт о поисковых запросах |
| date_from | string | yes | Первый день периода, YYYY-MM-DD |
| date_to | string | yes | Последний день периода включительно, YYYY-MM-DD |
| fields | array | – | Поля отчёта; по умолчанию Query, CampaignId, CampaignName, AdGroupId, AdGroupName, Criterion, Impressions, Clicks, Cost |
No output schema declared.
No examples provided.
get_statistics Статистика ~129
Статистика кампаний за период: показы, клики, расход (руб), CTR, CPC (ReportService, TSV).
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_ids | array | yes | Кампании, по которым строится отчёт |
| date_from | string | yes | Первый день периода, YYYY-MM-DD |
| date_to | string | yes | Последний день периода включительно, YYYY-MM-DD |
| fields | array | – | Поля отчёта; по умолчанию 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 Директа не отдаёт — они есть только в Метрике.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | ID текстово-графической кампании |
No output schema declared.
No examples provided.
get_time_targeting Расписание показов кампании ~60
Временной таргетинг кампании: часовой пояс, часы показов по дням недели, почасовые коэффициенты и настройка праздников.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | ID кампании, десятичная строка |
No output schema declared.
No examples provided.
link_negative_keyword_sets Привязать общие минус-фразы ~185
Заменить привязки общих наборов минус-фраз у кампаний и/или групп объявлений. Привязка к кампании действует на все её группы. Пустой set_ids очищает привязки.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_group_ids | array | – | Группы, которым назначаются наборы |
| campaign_ids | array | – | Кампании, которым назначаются наборы. Привязка на уровне кампании действует на все её группы. Тип кампании сервер читает сам — это дополнительный вызов API; общие наборы поддерживают TEXT_CAMPAIGN, D… |
| set_ids | array | yes | Полный новый список наборов объекта — прежние привязки затираются. Пустой массив снимает все |
No output schema declared.
No examples provided.
list_ad_extensions Список уточнений ~117
Получить уточнения (callouts) с их статусами и текстом.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_extension_ids | array | – | Конкретные уточнения; без них возвращаются все |
| limit | integer | – | Сколько объектов вернуть (максимум 10000) |
| offset | integer | – | Смещение выборки: сюда передаётся LimitedBy предыдущей страницы |
| states | array | – | Фильтр по состоянию уточнения |
| statuses | array | – | Фильтр по статусу модерации уточнения |
No output schema declared.
No examples provided.
list_ad_groups Список групп ~83
Группы объявлений выбранных кампаний: названия, регионы, статусы.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_ids | array | yes | Кампании, группы которых нужно выбрать |
| limit | integer | – | Сколько объектов вернуть (максимум 10000) |
| offset | integer | – | Смещение выборки: сюда передаётся LimitedBy предыдущей страницы |
No output schema declared.
No examples provided.
list_ads Список объявлений ~227
Объявления в группах: заголовки, тексты, ссылки, статусы, тип и подтип объявления, привязанные сайтлинки, визитка и изображение. Причина отказа модерации приходит в StatusClarification. Отбор только по группам — по ID объявления не ищет. Архивные приходят наравне с активными. Список может быть неполным: объявления, тексты которых генерирует нейросеть Яндекса, через API недоступны и в выдачу не попадают, а по ответу это никак не видно. Поэтому «в группе только эти объявления» из ответа не следует — ни из пустого, ни из непустого; для полноты картины сверяйтесь с интерфейсом Директа.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_group_ids | array | yes | Группы, объявления которых нужно выбрать |
| limit | integer | – | Сколько объектов вернуть (максимум 10000) |
| offset | integer | – | Смещение выборки: сюда передаётся LimitedBy предыдущей страницы |
No output schema declared.
No examples provided.
list_audience_targets Аудиторные цели ~179
Получить условия нацеливания на аудиторию по ID кампании, группы, ретаргетинга или интереса.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_group_ids | array | – | Условия выбранных групп |
| audience_target_ids | array | – | Конкретные условия нацеливания |
| campaign_ids | array | – | Условия выбранных кампаний |
| interest_ids | array | – | Условия, построенные на этих интересах |
| limit | integer | – | Сколько объектов вернуть (максимум 10000) |
| offset | integer | – | Смещение выборки: сюда передаётся LimitedBy предыдущей страницы |
| retargeting_list_ids | array | – | Условия, построенные на этих списках ретаргетинга |
| states | array | – | Фильтр по состоянию: ON или SUSPENDED |
No output schema declared.
No examples provided.
list_businesses Профили организаций ~83
Получить доступные профили организаций из Яндекс Бизнеса.
| Name | Type | Req | Description |
|---|---|---|---|
| business_ids | array | – | Конкретные профили; без них возвращаются все доступные |
| limit | integer | – | Сколько объектов вернуть (максимум 10000) |
| offset | integer | – | Смещение выборки: сюда передаётся LimitedBy предыдущей страницы |
No output schema declared.
No examples provided.
list_campaigns Список кампаний ~243
Список рекламных кампаний Яндекс.Директ с фильтрацией по статусу и типу. Бюджеты — в рублях. По умолчанию возвращается узкий набор полей; нужны другие (Funds, TimeZone, NegativeKeywords и прочие из CampaignFieldEnum) — перечислите их в fields. Кампаний «Баннер на поиске» (MCBANNER) API не отдаёт вовсе: их нет в списке, и это граница API, а не ошибка логина или фильтра — такие кампании видны только в веб-интерфейсе.
| Name | Type | Req | Description |
|---|---|---|---|
| fields | array | – | Какие поля вернуть; по умолчанию Id, Name, Status, StatusClarification, State, DailyBudget, StartDate, Type, Statistics |
| limit | integer | – | Сколько объектов вернуть (максимум 10000) |
| offset | integer | – | Смещение выборки: сюда передаётся LimitedBy предыдущей страницы |
| status | string | – | Фильтр по статусу модерации кампании |
| types | array | – | Фильтр по типам кампаний |
No output schema declared.
No examples provided.
list_dynamic_targets Динамические цели ~123
Получить условия нацеливания динамических текстовых объявлений.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_group_ids | array | – | Цели выбранных групп |
| campaign_ids | array | – | Цели выбранных кампаний |
| dynamic_target_ids | array | – | Конкретные динамические цели |
| limit | integer | – | Сколько объектов вернуть (максимум 10000) |
| offset | integer | – | Смещение выборки: сюда передаётся LimitedBy предыдущей страницы |
| states | array | – | Фильтр по состоянию: ON или SUSPENDED |
No output schema declared.
No examples provided.
list_feeds Список фидов ~90
Получить товарные фиды, их источники, статусы обработки и связанные кампании.
| Name | Type | Req | Description |
|---|---|---|---|
| feed_ids | array | – | Конкретные фиды; без них возвращаются все фиды аккаунта |
| limit | integer | – | Сколько объектов вернуть (максимум 10000) |
| offset | integer | – | Смещение выборки: сюда передаётся LimitedBy предыдущей страницы |
No output schema declared.
No examples provided.
list_keywords Список ключевых слов ~163
Ключевые фразы в группах объявлений: фразы, ставки (руб), статусы. По умолчанию возвращается узкий набор полей; нужны другие (StatisticsSearch, StatisticsNetwork, Productivity, ServingStatus и прочие из KeywordFieldEnum) — перечислите их в fields.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_group_ids | array | yes | Группы, ключевые фразы которых нужно выбрать |
| fields | array | – | Какие поля вернуть; по умолчанию Id, Keyword, CampaignId, AdGroupId, Status, State, Bid, ContextBid |
| limit | integer | – | Сколько объектов вернуть (максимум 10000) |
| offset | integer | – | Смещение выборки: сюда передаётся LimitedBy предыдущей страницы |
No output schema declared.
No examples provided.
list_negative_keyword_shared_sets Общие наборы минус-фраз ~86
Получить общие наборы минус-фраз аккаунта.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Сколько объектов вернуть (максимум 10000) |
| offset | integer | – | Смещение выборки: сюда перед��ётся LimitedBy предыдущей страницы |
| set_ids | array | – | Конкретные наборы; без них возвращаются все наборы аккаунта |
No output schema declared.
No examples provided.
list_retargeting_lists Списки ретаргетинга ~125
Получить условия ретаргетинга и подбора аудитории с правилами и областью применения.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Сколько объектов вернуть (максимум 10000) |
| offset | integer | – | Смещение выборки: сюда передаётся LimitedBy предыдущей страницы |
| retargeting_list_ids | array | – | Конкретные условия; без них возвращаются все |
| types | array | – | Фильтр по типу: RETARGETING — цели Метрики, AUDIENCE — сегменты Аудиторий |
No output schema declared.
No examples provided.
list_sitelinks Список быстрых ссылок ~88
Получить все или выбранные наборы быстрых ссылок.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Сколько объектов вернуть (максимум 10000) |
| offset | integer | – | Смещение выборки: сюда передаётся LimitedBy предыдущей страницы |
| sitelink_set_ids | array | – | Конкретные наборы; без них возвращаются все наборы аккаунта |
No output schema declared.
No examples provided.
list_time_zones Справочник часовых поясов ~99
Справочник часовых поясов (TimeZones) для set_time_targeting и create_campaign. Фильтр по коду или названию.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Сколько часовых поясов вернуть, максимум 500 |
| search | string | – | Фильтр по коду или названию пояса: подстрока без учёта регистра, например «moscow» или «Екатеринбург» |
No output schema declared.
No examples provided.
list_vcards Список визиток ~108
Получить виртуальные визитки по ID или найти их через объявления выбранных кампаний.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_ids | array | – | Найти визитки, привязанные к объявлениям этих кампаний |
| limit | integer | – | Сколько объектов вернуть (максимум 10000) |
| offset | integer | – | Смещение выборки: сюда передаётся LimitedBy предыдущей страницы |
| vcard_ids | array | – | Конкретные визитки по их ID |
No output schema declared.
No examples provided.
manage_ad_images Управление изображениями ~170
Загрузить, получить или удалить изображения объявлений (AdImages). Для add данные передаются в base64.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Что сделать: add, get или delete (необратимо) |
| ad_image_hashes | array | – | Хеши изображений: фильтр при action=get, обязателен при action=delete |
| associated | string | – | Фильтр при action=get: YES — только привязанные к объявлениям, NO — только свободные |
| images | array | – | Изображения для загрузки; обязателен при action=add |
| limit | integer | – | Сколько объектов вернуть (максимум 10000) |
| offset | integer | – | Смещение выборки: сюда передаётся LimitedBy предыдущей страницы |
No output schema declared.
No examples provided.
manage_ads Управление объявлениями ~79
Действие над объявлениями: suspend/resume/archive/unarchive/moderate/delete. ⚠️ delete необратимо.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Действие: suspend, resume, archive, unarchive, moderate или delete (необратимо) |
| ad_ids | array | yes | Объявления, над которыми выполняется действие |
No output schema declared.
No examples provided.
manage_campaigns Управление кампаниями ~94
Запустить, остановить, архивировать, разархивировать или удалить кампании. ⚠️ delete необратимо и недоступен кампании с накопленной статистикой — такую только архивировать.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Действие: suspend, resume, archive, unarchive или delete (необратимо) |
| campaign_ids | array | yes | ID кампаний, над которыми выполняется действие |
No output schema declared.
No examples provided.
manage_dynamic_targets Управление динамическими целями ~114
Создать, изменить ставки, остановить, возобновить или удалить динамические цели.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Что сделать: add, set_bids, suspend, resume или delete (необратимо) |
| bids | array | – | Новые ставки и приоритеты; обязателен при action=set_bids |
| dynamic_target_ids | array | – | Цели для suspend, resume или delete |
| targets | array | – | Цели для добавления; обязателен при action=add |
No output schema declared.
No examples provided.
manage_keywords Управление ключевыми словами ~69
Действие над ключевыми фразами: suspend/resume/delete. ⚠️ delete необратимо.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Действие: suspend, resume или delete (необратимо) |
| keyword_ids | array | yes | Фразы, над которыми выполняется действие |
No output schema declared.
No examples provided.
manage_negative_keyword_shared_sets Управление общими минус-фразами ~114
Создать, изменить или удалить общие наборы минус-фраз аккаунта.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Что сделать с наборами: add, update или delete (необратимо) |
| add_sets | array | – | Наборы для создания; обязателен при action=add |
| set_ids | array | – | Наборы для удаления; обязателен при action=delete |
| update_sets | array | – | Наборы для изменения; обязателен при action=update |
No output schema declared.
No examples provided.
moderate_ads Отправить объявления на модерацию ~38
Отправить выбранные объявления на модерацию.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_ids | array | yes | Объявления, отправляемые на модерацию |
No output schema declared.
No examples provided.
set_ad_group_negative_keywords Минус-фразы группы ~273
Минус-фразы на уровне группы объявлений. Режим mode обязателен: replace заменяет список целиком (прежние фразы теряются, пустой массив очищает), add дописывает к текущим, remove убирает названные — читать список перед этим не нужно, add и remove делают это сами. Чтобы добавить фразу к существующим, нужен add: replace с одной фразой сотрёт остальные.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_group_id | string | yes | ID группы объявлений |
| mode | string | yes | Обязателен. replace — заменить список целиком (пустой массив очищает, прежние фразы теряются), add — дописать к текущим, remove — убрать перечисленные. add и remove сначала читают текущий список, это… |
| negative_keywords | array | yes | Минус-фразы группы: при mode=replace — полный новый список взамен прежнего, при add — что дописать, при remove — что убрать |
No output schema declared.
No examples provided.
set_audience_targets Управление аудиторными целями ~117
Добавить, остановить, возобновить, удалить аудиторные цели или изменить их ставки.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Что сделать: add, set_bids, suspend, resume или delete (необратимо) |
| audience_target_ids | array | – | Условия для suspend, resume или delete |
| bids | array | – | Новые ставки и приоритеты; обязателен при action=set_bids |
| targets | array | – | Условия для добавления; обязателен при action=add |
No output schema declared.
No examples provided.
set_bid_adjustments Изменить корректировки ставок ~40
Изменить коэффициенты существующих корректировок по их ID.
| Name | Type | Req | Description |
|---|---|---|---|
| adjustments | array | yes | Корректировки и их новые коэффициенты |
No output schema declared.
No examples provided.
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.