Skip to content
plugmcp
DirectorySkillsCategoriesBlog
EN/中文
Sign inSign up
Home/Servers/Яндекс.Директ

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

I
by io.github.Pavelsiba

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

Power your agent

Add this server

The publisher's own command. Not a PlugMCP endpoint.

Local command
npx -y [email protected]
Credentials from the publisher
  • YANDEX_DIRECT_TOKEN — OAuth-токен Яндекс.Директа
  • YANDEX_DIRECT_LOGIN — Логин клиента (Client-Login), нужен для агентского токена
Provider
Claude Code
YANDEX_DIRECT_TOKEN=<secret> YANDEX_DIRECT_LOGIN=<value> claude mcp add io.github.pavelsiba-yandex-direct-mcp-plus -- npx -y [email protected]

Run in a terminal.

Claude Desktop
{
  "mcpServers": {
    "io.github.pavelsiba-yandex-direct-mcp-plus": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "YANDEX_DIRECT_TOKEN": "<secret>",
        "YANDEX_DIRECT_LOGIN": "<value>"
      }
    }
  }
}

claude_desktop_config.json

Step-by-step: add this in Claude

Remote URL or a command on your machine? How the two installs differ

Run on PlugMCP

Host a copy with our keys and logs.

A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.

Launch

Related MCP

View more
  • Firecrawl🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
  • N
    NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
  • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

Related skills

View all
  • reaReverse engineer anything with agents, from app behavior down to native binaries.
  • rea-changelog-updatePrepare or rewrite REA release changelogs and GitHub release notes from pinned Git history, with verified contributor thanks and Release Please synchronization.
  • rea-tool-designDesign or change REA investigation tools, CLI/MCP contracts, provider capabilities, and Evidence semantics.

Questions

How do I install Яндекс.Директ?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Яндекс.Директ need an API key?
The publisher lists these environment variables: YANDEX_DIRECT_TOKEN, YANDEX_DIRECT_LOGIN.
What transport does Яндекс.Директ use?
Яндекс.Директ runs locally over stdio.
When was Яндекс.Директ last checked?
Last checked 2026-10-16. API Яндекс.Директа v5: кампании, объявления, фразы, ставки, минус-фразы, статистика

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

yandex-direct-mcp-plus

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

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

Содержание

  • Что можно делать — примеры запросов обычным текстом
  • Установка — Claude Code, Claude Desktop, Cursor, из исходников
  • Токен — как получить и какие переменные окружения нужны
  • Что меняет данные — что тратит бюджет и что необратимо
  • Инструменты — полный список с описаниями
  • Разработка — сборка, тесты, архитектура

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

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

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

Полный список — в разделе Инструменты.

Установка

Понадобятся Node.js не ниже 22 и OAuth-токен Директа (где взять). Отдельно ставить сервер не нужно: клиент сам запускает пакет через npx и общается с ним по stdio.

Claude Code

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

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

В конфиг MCP-серверов клиента (claude_desktop_config.json, .cursor/mcp.json и т. п.) добавляется запись:

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

Агентскому токену в env нужен ещё YANDEX_DIRECT_LOGIN — см. Токен.

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

git clone [email protected]:Pavelsiba/yandex-direct-mcp-plus.git
cd yandex-direct-mcp-plus
npm ci
npm run build

В конфиге клиента вместо npx тогда стоит "command": "node", а в args — абсолютный путь к dist/app/index.js.

Удалённый сервер

Тот же сервер можно поднять по HTTP на своей машине — в Docker, за nginx с HTTPS — и подключаться к нему по адресу из claude.ai, с телефона или из Claude Desktop без установки Node. Вход закрыт секретом. Настройка — docs/deploy.md.

Токен

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

Сервер берёт настройки только из окружения процесса, которое ему передаёт клиент:

  • YANDEX_DIRECT_TOKEN — OAuth-токен. Без него сервер запускается, но любой вызов инструмента возвращает ошибку.
  • YANDEX_DIRECT_LOGIN — логин рекламодателя, уходит в заголовок Client-Login. Нужен только агентскому токену: без него запросы идут в собственный кабинет агентства, а не в кабинет клиента.

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

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

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

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

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

ИнструментЧем именно
manage_campaignsresume — включает показы остановленной кампании
manage_adsresume и moderate — возвращает объявления в показ
moderate_adsОтправляет объявления на модерацию, после неё начнутся показы
update_campaignМеняет дневной бюджет
set_keyword_bidsМеняет ставки, то есть цену клика
set_auto_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 убирают цели стратегии, а любая смена целей перезапускает её обучение.

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

Чего API не умеет. Смарт-баннеры и динамические объявления Директ через API не создаёт с 22 мая 2026, визитки — тоже: в WSDL методы есть, боевой API отвечает ошибкой 3500. Такие объекты заводятся в интерфейсе Директа, а дальше сервер с ними работает: кампании читает и правит, визитки читает и удаляет. Единую перфоманс-кампанию сервер пока только читает.

Инструменты

В таблицах — первое предложение описания, которое сервер отдаёт модели; таблицы собираются из кода, поэтому список всегда полный.

Кампании и стратегии

ИнструментОписание
list_campaignsСписок рекламных кампаний Яндекс.Директ с фильтрацией по статусу и типу.
get_campaignДетальная информация о кампании по ID: бюджет (руб), статус и пояснение к нему, даты, статистика, UTM-разметка, цели и их ценность (PriorityGoals), счётчики Метрики, модель атрибуции и прочие настройки.
create_campaignСоздать новую текстово-графическую кампанию.
update_campaignОбновить кампанию: название, бюджет (руб), UTM-разметку и/или статус (SUSPEND/RESUME/ARCHIVE/UNARCHIVE).
manage_campaignsЗапустить, остановить, архивировать, разархивировать или удалить кампании.
get_strategyПолучить текущую стратегию показов текстово-графической кампании вместе с целями (PriorityGoals), счётчиками и моделью атрибуции.
set_strategyИзменить стратегию текстово-графической кампании: ручная, максимум кликов, средняя цена клика или конверсии, оплата за конверсию.
set_priority_goalsЗадать цели стратегии кампании (PriorityGoals) и их ценность в рублях — по ним автостратегия оптимизирует ставки, в том числе «максимум конверсий» со служебным GoalId 13.
get_time_targetingВременной таргетинг кампании: часовой пояс, часы показов по дням недели, почасовые коэффициенты и настройка праздников.
set_time_targetingЗадать расписание показов кампании: дни, часы, почасовые коэффициенты, праздники и часовой пояс.

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

ИнструментОписание
list_ad_groupsГруппы объявлений выбранных кампаний: названия, регионы, статусы.
create_ad_groupСоздать группу объявлений в кампании с таргетингом по регионам (см. get_regions).
delete_ad_groupsУдалить группы объявлений по их ID.

Объявления

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

Ключевые фразы и ставки

ИнструментОписание
list_keywordsКлючевые фразы в группах объявлений: фразы, ставки (руб), статусы.
add_keywordsДобавить ключевые фразы в группу объявлений.
update_keywordsИзменить текст ключевых фраз, подстановочные переменные {param1}/{param2} и настройки автотаргетинга.
manage_keywordsДействие над ключевыми фразами: suspend/resume/delete.
set_keyword_bidsУстановить фиксированные ставки (поиск/сети, в рублях) на уровне фраз, групп или кампаний и включить или выключить автоставку автотаргетинга.
set_auto_keyword_bidsНазначить ставки по правилу вместо суммы: на поиске — под желаемый объём трафика (5–100%), в сетях — под долю аудитории, с надбавкой в процентах и потолком в рублях.
get_keyword_auctionСколько стоит трафик по фразам: текущие ставки и торги на поиске и в сетях.

Минус-фразы

ИнструментОписание
get_campaign_negative_keywordsПолучить текущие минус-фразы кампаний по их ID.
set_campaign_negative_keywordsМинус-фразы на уровне кампании.
set_ad_group_negative_keywordsМинус-фразы на уровне группы объявлений.
list_negative_keyword_shared_setsПолучить общие наборы минус-фраз аккаунта.
manage_negative_keyword_shared_setsСоздать, изменить или удалить общие наборы минус-фраз аккаунта.
link_negative_keyword_setsЗаменить привязки общих наборов минус-фраз у кампаний и/или групп объявлений.

Ассеты объявления

ИнструментОписание
list_sitelinksПолучить все или выбранные наборы быстрых ссылок.
set_sitelinksСоздать новый набор из 1–8 быстрых ссылок.
delete_sitelinksУдалить наборы быстрых ссылок по ID.
list_ad_extensionsПолучить уточнения (callouts) с их статусами и текстом.
add_ad_extensionsСоздать уточнения (callouts), каждый текст до 25 символов.
delete_ad_extensionsУдалить уточнения по ID.
manage_ad_imagesЗагрузить, получить или удалить изображения объявлений (AdImages).
list_vcardsПолучить виртуальные визитки по ID или найти их через объявления выбранных кампаний.
delete_vcardsУдалить визитки по ID; удаление необратимо.

Таргетинг и корректировки

ИнструментОписание
list_audience_targetsПолучить условия нацеливания на аудиторию по ID кампании, группы, ретаргетинга или интереса.
set_audience_targetsДобавить, остановить, возобновить, удалить аудиторные цели или изменить их ставки.
list_dynamic_targetsПолучить условия нацеливания динамических текстовых объявлений.
manage_dynamic_targetsСоздать, изменить ставки, остановить, возобновить или удалить динамические цели.
list_retargeting_listsПолучить условия ретаргетинга и подбора аудитории с правилами и областью применения.
add_retargeting_listСоздать условие ретаргетинга из целей Метрики, сегментов или интересов.
update_retargeting_listsИзменить название, описание и правила условий ретаргетинга.
delete_retargeting_listsУдалить условия ретаргетинга и подбора аудитории по ID; удаление необратимо.
get_bid_adjustmentsПолучить корректировки ставок кампании или группы: устройства, пол и возраст, аудитории, регионы, платёжеспособность, размещение.
add_bid_adjustmentsСоздать корректировки ставок на кампаниях или группах.
set_bid_adjustmentsИзменить коэффициенты существующих корректировок по их ID.
delete_bid_adjustmentsУдалить корректировки по их ID.

Отчёты

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

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

ИнструментОписание
get_account_balanceБаланс и финансовая информация аккаунта (Amount, Currency) через Live API v4.
list_businessesПолучить доступные профили организаций из Яндекс Бизнеса.
get_changesПроверить изменения кампаний, групп и объявлений начиная с указанного времени, а также изменения справочников (mode=dictionaries) и текущее время сервера Директа.
list_feedsПолучить товарные фиды, их источники, статусы обработки и связанные кампании.
get_regionsСправочник кодов регионов (GeoRegions) для таргетинга.
list_time_zonesСправочник часовых поясов (TimeZones) для set_time_targeting и create_campaign.

Разработка

npm ci               # зависимости строго по lock-файлу
npm run dev          # сервер из исходников, без сборки
npm run build        # dist/ — то, что запускает MCP-клиент
npm test             # юнит-тесты, сеть подменена
npm run lint         # Biome: формат и линт
npm run typecheck    # типы в src, тестах и конфигах
npm run lint:dead    # knip: неиспользуемый код и зависимости
npm run lint:workflows # actionlint + zizmor: корректность и безопасность workflow
npm run lint:secrets # gitleaks по всей истории
npm run docs:tools   # таблицы инструментов в README из реестра

gitleaks, actionlint, zizmor и shellcheck — не npm-пакеты; без них хуки pre-commit не пропустят коммит. На Windows:

winget install -e --id Gitleaks.Gitleaks
winget install -e --id rhysd.actionlint
winget install -e --id zizmor.zizmor
winget install -e --id koalaman.shellcheck

Без режима разработчика winget не создаёт ссылки в %LOCALAPPDATA%\Microsoft\WinGet\Links, и каталоги пакетов из %LOCALAPPDATA%\Microsoft\WinGet\Packages придётся добавить в PATH.

Таблицы инструментов выше руками не правятся: после смены описания инструмента — npm run docs:tools, иначе юнит-тест покажет расхождение.

Сетевые тесты (npm run test:int) идут по боевому аккаунту и пишут только в кампанию-полигон, оставленную черновиком: её ID задаётся переменной YANDEX_DIRECT_POLYGON_CAMPAIGN_ID. Без переменной они пропускаются.

Код разложен по слоям 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 эта версия не публиковалась. Дальше проект развивается самостоятельно и апстрим не отслеживает.

История изменений с отделения от апстрима — в CHANGELOG.md.

Лицензия

Copyright © 2026 Pavelsiba. GNU AGPL-3.0-only.

Пользоваться сервером, изменять его и разворачивать у себя можно свободно, в том числе в работе с клиентами. Кто предоставляет изменённый сервер другим людям по сети, обязан дать им исходный код своей версии (раздел 13 лицензии).

Версии до 1.7.0 включительно вышли под MIT и под ней остаются.

Pull request'ы принимаются вместе с передачей прав на вклад автору проекта (CLA) — без этого проект не сможет распоряжаться своим кодом. Перед большой правкой лучше завести issue.

How do I install Яндекс.Директ?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Яндекс.Директ need an API key?
The publisher lists these environment variables: YANDEX_DIRECT_TOKEN, YANDEX_DIRECT_LOGIN.
What transport does Яндекс.Директ use?
Яндекс.Директ runs locally over stdio.
When was Яндекс.Директ last checked?
Last checked 2026-10-16. API Яндекс.Директа v5: кампании, объявления, фразы, ставки, минус-фразы, статистика

No tool list yet. Remote servers get one after the first health check.

plugmcp

Plug any tool into any agent. MCP servers for people who do not write servers. Gateway for volume, n8n for apps.

  • github.com/TODO
  • x.com/TODO
  • linkedin.com/company/TODO

PlugMCP, 2026

Product
  • Browse
  • Install
  • Host your own
  • Pricing
  • Voice mode
  • Browser
Directory
  • All MCP servers
  • MCP Apps
  • Tools
  • Agent skills
  • Categories
  • New
  • Voice
  • Submit a server
Developers
  • Docs
  • Blog
  • Club
  • Work with us
  • What is MCP
  • What is WebMCP
  • Status
Company
  • About
  • Contact
  • Terms
  • Privacy
  • DPA