New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

yandex-direct-mcp-plus

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

yandex-direct-mcp-plus

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

latest
Source
npmnpm
Version
1.6.1
Version published
Weekly downloads
502
68.46%
Maintainers
1
Weekly downloads
 
Created
Source

yandex-direct-mcp-plus

Ведение контекстной рекламы Яндекс.Директа из диалога с ассистентом: собрать кампанию, разобрать поисковые запросы, вычистить минус-фразы, поправить ставки и посмотреть расход — не переключаясь между разделами кабинета. Работает в любом MCP-клиенте: Claude Code, Claude Desktop, Cursor и другие.

npm License: MIT Node

  • 60 инструментов, из них 25 только читают. Кампании и стратегии, группы, объявления и модерация, ключевые фразы и ставки, минус-фразы и общие наборы, быстрые ссылки, уточнения, изображения, визитки, корректировки ставок, ретаргетинг, аудиторные и динамические цели, фиды, расписание показов, статистика, поисковые запросы, баланс и справочники.
  • Деньги — в рублях, на вводе и на выводе; в микроединицы API сервер переводит сам. Поддержан агентский режим (Client-Login).
  • ID — строками ("1915016273214320641"): 64-битные идентификаторы Директа не помещаются в число JavaScript и молча теряют точность. Здесь это стережёт правило линтера, а не внимательность.
  • Реклама боевая. Тестовой среды у Директа больше нет — какие инструменты тратят деньги и что удаляют необратимо, перечислено в разделе Что меняет данные.
  • Телеметрии нет. Сервер не отправляет никуда ничего, кроме запросов к API Яндекса.

Содержание

Что можно делать

Обычным текстом в чате — инструменты сервер подставляет сам:

Собери кампанию «Летняя распродажа»: бюджет 5000 ₽/день, старт 1 мая, показы будни 9–21
Добавь минус-фразы «бесплатно» и «скачать» в кампанию 12345, не затерев остальные
Посмотри поисковые запросы за месяц и предложи, что заминусовать
Подними ставку до 25 ₽ там, где CTR выше 8%, а показов меньше сотни
Что изменилось в кампаниях со вчера?
Покажи расход по кампаниям за неделю и баланс аккаунта
Найди код региона для Новосибирска

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

Установка

Нужен Node.js 22+ и OAuth-токен Яндекс.Директа — как его получить.

Claude Code

claude mcp add yandex-direct -e YANDEX_DIRECT_TOKEN=ваш_токен -- npx -y yandex-direct-mcp-plus

Claude Desktop, Cursor и другие клиенты

{
  "mcpServers": {
    "yandex-direct": {
      "command": "npx",
      "args": ["-y", "yandex-direct-mcp-plus"],
      "env": {
        "YANDEX_DIRECT_TOKEN": "ваш_токен"
      }
    }
  }
}

Из исходников

git clone git@github.com:Pavelsiba/yandex-direct-mcp-plus.git
cd yandex-direct-mcp-plus
npm ci && npm run build

Дальше тот же конфиг, но "command": "node" и путь к dist/app/index.js вместо npx.

Токен

OAuth-токен выпускается для приложения, зарегистрированного в Яндекс OAuth, с доступом к API Директа. Подробности — регистрация приложения и получение токена. Доступ к API нужно запросить в интерфейсе Директа — заявку рассматривают от часа до нескольких суток.

ПеременнаяОбязательнаНазначение
YANDEX_DIRECT_TOKENдаOAuth-токен Яндекс.Директ
YANDEX_DIRECT_LOGINнетЛогин клиента для агентских токенов (заголовок Client-Login). Обязателен, если токен агентский
YANDEX_DIRECT_POLYGON_CAMPAIGN_IDнетТолько для npm run test:int: ID кампании-полигона, оставленной черновиком. Сетевые тесты пишут в неё и ни во что другое; без переменной они пропускаются

Что меняет данные

Тестовой среды у Яндекс.Директа больше нет: песочница отключена с июля 2026, и любой вызов идёт по боевому аккаунту. Отлаживать сценарии приходится на отдельной кампании, оставленной черновиком, — показов она не даёт и потому не тратит бюджет, пока не пройдёт модерацию и не будет включена.

Граница проходит не по «чтение или запись», а по скорости, с которой действие превращается в деньги.

25 инструментов только читают — все list_*, get_* и справочники. Вызвать их безопасно всегда.

Тратят бюджет или запускают показы — восемь:

ИнструментЧем именно
manage_campaignsresume — включает показы остановленной кампании
manage_adsresume и moderate — возвращает объявления в показ
moderate_adsОтправляет объявления на модерацию, после неё начнутся показы
update_campaignМеняет дневной бюджет
set_keyword_bidsМеняет ставки, то есть цену клика
set_strategyМеняет стратегию — переписывает всю экономику кампании
add_bid_adjustmentsЗаводит корректировку: +N% к ставке на срезе аудитории
set_bid_adjustmentsМеняет коэффициент существующей корректировки

Удаляют необратимо — эти инструменты помечены аннотацией DESTRUCTIVE, и хороший MCP-клиент спросит подтверждение перед вызовом:

manage_campaigns (delete), manage_ads (delete), manage_keywords (delete), delete_ad_groups, delete_ad_extensions, delete_sitelinks, delete_vcards, delete_bid_adjustments, delete_retargeting_lists, manage_ad_images (delete), manage_dynamic_targets (delete), set_audience_targets (delete), manage_negative_keyword_shared_sets (delete).

Сюда же — set_campaign_negative_keywords и set_ad_group_negative_keywords в режиме replace: он затирает прежний список минус-фраз целиком. Именно поэтому у них нет режима по умолчанию — mode приходится назвать явно. Так же устроен set_priority_goals: replace и remove убирают цели стратегии, а любая смена целей перезапускает её обучение.

Остальные инструменты создают и правят объекты. Пока кампания не прошла модерацию и не включена, показов по ней нет и бюджет не расходуется.

Инструменты (60)

Кампании

ИнструментОписание
list_campaignsСписок кампаний (фильтр по статусу/типу, пагинация)
get_campaignДетальная информация о кампании по ID
create_campaignСоздать кампанию (бюджет в рублях, выбор стратегии, часовой пояс, UTM-разметка)
update_campaignОбновить название/бюджет/UTM-разметку и/или статус (SUSPEND/RESUME/ARCHIVE/UNARCHIVE)
manage_campaignssuspend/resume/archive/unarchive/delete для списка кампаний
get_strategyПолучить стратегию текстово-графической кампании
set_strategyСменить стратегию: ручная, максимум кликов, средняя цена клика/конверсии, оплата за конверсию
set_priority_goalsЦели стратегии и их ценность в рублях: добавить, убрать или заменить список
get_time_targetingРасписание показов: часовой пояс, часы по дням недели, праздники
set_time_targetingЗадать расписание показов и почасовые коэффициенты (заменяет целиком)

Группы объявлений

ИнструментОписание
list_ad_groupsГруппы объявлений выбранных кампаний
create_ad_groupСоздать группу с таргетингом по регионам
delete_ad_groupsУдалить группы по ID
set_ad_group_negative_keywordsМинус-фразы группы: mode обязателен — replace, add или remove

Объявления

ИнструментОписание
list_adsОбъявления в группах
create_text_adСоздать текстовое объявление (≤56/≤30/≤81)
update_text_adОбновить заголовок/текст/ссылку
manage_adssuspend/resume/archive/unarchive/moderate/delete
moderate_adsОтправить объявления на модерацию

Ключевые слова и ставки

ИнструментОписание
list_keywordsКлючевые фразы в группах (ставки в рублях)
add_keywordsДобавить ключевые фразы
update_keywordsИзменить текст фразы и подстановочные переменные {param1}/{param2}
set_keyword_bidsУстановить ставки (поиск/сети, рубли) на фразах/группах/кампаниях
get_keyword_auctionАукцион по фразам: ставки и списываемые цены по позициям, ставки конкурентов, цена входа (рубли)
manage_keywordssuspend/resume/delete
set_campaign_negative_keywordsМинус-фразы кампании: mode обязателен — replace, add или remove
get_campaign_negative_keywordsПолучить минус-фразы кампаний

Быстрые ссылки, уточнения и корректировки

ИнструментОписание
list_sitelinksПолучить наборы быстрых ссылок
set_sitelinksСоздать новый набор быстрых ссылок
delete_sitelinksУдалить наборы быстрых ссылок
list_ad_extensionsПолучить уточнения (callouts)
add_ad_extensionsСоздать уточнения
delete_ad_extensionsУдалить уточнения
manage_ad_imagesЗагрузить, получить или удалить изображения
get_bid_adjustmentsПолучить корректировки: устройства, пол и возраст, аудитории, регионы, платёжеспособность, размещение
add_bid_adjustmentsСоздать корректировки на кампаниях или группах
set_bid_adjustmentsИзменить коэффициенты существующих корректировок
delete_bid_adjustmentsУдалить корректировки по ID

Аудитории, цели и фиды

ИнструментОписание
list_retargeting_listsПолучить условия ретаргетинга и подбора аудитории
add_retargeting_listСоздать условие ретаргетинга
update_retargeting_listsИзменить название, описание и правила условий (правила заменяются целиком)
delete_retargeting_listsУдалить условия ретаргетинга
list_audience_targetsПолучить аудиторные цели
set_audience_targetsadd/set_bids/suspend/resume/delete аудиторных целей
list_dynamic_targetsПолучить динамические цели
manage_dynamic_targetsadd/set_bids/suspend/resume/delete динамических целей
list_feedsПолучить товарные фиды
list_negative_keyword_shared_setsПолучить общие наборы минус-фраз
manage_negative_keyword_shared_setsadd/update/delete общих наборов
link_negative_keyword_setsПривязать общие наборы к кампаниям и группам объявлений

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

ИнструментОписание
get_statisticsСтатистика за период (показы, клики, расход, CTR, CPC)
get_search_queriesФактические поисковые запросы для подбора минус-фраз
get_changesПроверить изменения кампаний, групп, объявлений и справочников
list_vcardsПолучить виртуальные визитки
add_vcardСоздать виртуальную визитку
delete_vcardsУдалить визитки по ID
list_businessesПолучить профили организаций Яндекс Бизнеса
get_account_balanceБаланс аккаунта (Live API v4)
get_regionsСправочник кодов регионов (225 = Россия), с вложенностью по запросу
list_time_zonesСправочник часовых поясов для расписания показов

Разработка

npm install
npm run build      # tsc → dist/
npm test           # vitest (моки fetch)
npm run dev        # tsx --conditions=development src/app/index.ts
npm run lint       # biome
npm run typecheck  # tsc --noEmit
npm run lint:dead  # knip

Код разложен по слоям app → tools → shared; инструмент — это каталог src/tools/<домен>/ с schema.ts, handler.ts и tool.ts. Подробности — в docs/architecture.md.

Происхождение и благодарности

Проект начат на коде theYahia/yandex-direct-mcp под лицензией MIT. Расширение с 20 до 48 инструментов и перевод ID на строки — работа Maxim (DrSeedon), PR #7; в npm эта версия не публиковалась. Дальше проект развивается самостоятельно и апстрим не отслеживает.

История до отделения от апстрима (версии 3.0.0–5.0.0, включая вклад DrSeedon) — в docs/CHANGELOG-upstream.md; дальнейшие изменения — в CHANGELOG.md. План — в docs/roadmap.md, архитектура — в docs/architecture.md.

Лицензия

MIT — см. LICENSE. Уведомление об авторских правах исходного проекта сохранено.

Keywords

mcp

FAQs

Package last updated on 13 Sep 2026

Related posts