Skip to main content
ClaudeWave
Pavelsiba avatar
Pavelsiba

yandex-direct-mcp-plus

View on GitHub

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

ToolsOfficial Registry1 stars0 forksTypeScriptMITUpdated today
ClaudeWave Trust Score
87/100
Trusted
Passed
  • Open-source license (MIT)
  • Actively maintained (<30d)
  • Clear description
  • Documented (README)
Last scanned: 9/14/2026
Get started
Method: Clone
Terminal
git clone https://github.com/Pavelsiba/yandex-direct-mcp-plus
1. Clone the repository.
2. Follow the README for installation and usage instructions.

Tools overview

# yandex-direct-mcp-plus

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

[![npm](https://img.shields.io/npm/v/yandex-direct-mcp-plus.svg)](https://www.npmjs.com/package/yandex-direct-mcp-plus)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Node](https://img.shields.io/badge/node-%3E%3D22-green.svg)](https://nodejs.org)

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

## Содержание

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

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

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

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

Полный список — [60 инструментов](#инструменты-60) ниже.

## Установка

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

### Claude Code

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

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

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

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

```bash
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](https://oauth.yandex.ru/), с доступом к API Директа. Подробности — [регистрация приложения и получение токена](https://yandex.ru/dev/direct/doc/ru/token). Доступ к API нужно [запросить в интерфейсе Директа](https://yandex.ru/dev/direct/doc/ru/access-request) — заявку рассматривают от часа до нескольких суток.

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

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

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

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

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

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

| Инструмент | Чем именно |
|------------|------------|
| `manage_campaigns` | `resume` — включает показы остановленной кампании |
| `manage_ads` | `resume` и `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_campaigns` | suspend/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_ads` | suspend/resume/archive/unarchive/moderate/delete |
| `moderate_ads` | Отправить объявления на модерацию |

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

| Инструмент | Описание |
|------------|----------|
| `list_keywords` | Ключевые фразы в группах (ставки в рублях) |
| `add_keywords` | Добавить ключевые фразы |
| `update_keywords` | Изменить текст фразы и подстановочные переменные `{param1}`/`{param2}` |
| `set_keyword_bids` | Установить ставки (поиск/сети, рубли) на фразах/группах/кампаниях |
| `get_keyword_auction` | Аукцион по фразам: ставки и списываемые цены по позициям, ставки конкурентов, цена входа (рубли) |
| `manage_keywords` | suspend/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` | Удалит

What people ask about yandex-direct-mcp-plus

What is Pavelsiba/yandex-direct-mcp-plus?

+

Pavelsiba/yandex-direct-mcp-plus is tools for the Claude AI ecosystem. MCP-сервер для API Яндекс.Директа v5: 48 инструментов — кампании, объявления, ключевые фразы, ставки, минус-фразы, статистика. Деньги в рублях, 64-битные ID без потери точности. It has 1 GitHub stars and its last recorded update is dated 2026-09-13.

How do I install yandex-direct-mcp-plus?

+

You can install yandex-direct-mcp-plus by cloning the repository (https://github.com/Pavelsiba/yandex-direct-mcp-plus) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is Pavelsiba/yandex-direct-mcp-plus safe to use?

+

Our security agent has analyzed Pavelsiba/yandex-direct-mcp-plus and assigned a Trust Score of 87/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.

Who maintains Pavelsiba/yandex-direct-mcp-plus?

+

Pavelsiba/yandex-direct-mcp-plus is maintained by Pavelsiba. The last recorded GitHub activity is dated 2026-09-13, with 7 open issues.

Are there alternatives to yandex-direct-mcp-plus?

+

Yes. On ClaudeWave you can browse similar tools at /categories/tools, sorted by popularity or recent activity.

Deploy yandex-direct-mcp-plus to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: Pavelsiba/yandex-direct-mcp-plus
[![Featured on ClaudeWave](https://claudewave.com/api/badge/pavelsiba-yandex-direct-mcp-plus)](https://claudewave.com/repo/pavelsiba-yandex-direct-mcp-plus)
<a href="https://claudewave.com/repo/pavelsiba-yandex-direct-mcp-plus"><img src="https://claudewave.com/api/badge/pavelsiba-yandex-direct-mcp-plus" alt="Featured on ClaudeWave: Pavelsiba/yandex-direct-mcp-plus" width="320" height="64" /></a>