Odel
yandex-direct-mcp

yandex-direct-mcp

Local
@theyahia5TypeScriptMITUpdated 2w ago

MCP server for Yandex Direct — PPC campaigns, ads, keywords, statistics (Russia)

🗄 Репозиторий заархивирован

Разработка переехала в theYahia/YaAll — сборку, где весь яндексовский слой лежит в одном месте: официальные MCP-серверы Яндекса, MCP под Директ и Метрику, скилл YaGEO и Wordstat-гейт.

Актуальная версия того, что лежало здесь: mcp/yandex-direct-mcp/

Здесь больше ничего не обновляется. Задачи и pull request'ы — в YaAll.

Archived — development moved to theYahia/YaAll, a single repository bundling the whole Yandex stack. The current version of this package now lives at mcp/yandex-direct-mcp/. Please open issues and pull requests there.

@theyahia/yandex-direct-mcp

MCP-сервер для API Яндекс.Директ — управление контекстной рекламой из любого MCP-клиента (Claude, Cursor и др.): кампании, группы, объявления, ключевые слова, ставки, минус-фразы, статистика, баланс. 20 инструментов.

npm License: MIT

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

Установка

Claude Desktop

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

Claude Code

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

Конфигурация (переменные окружения)

ПеременнаяОбязательнаНазначение
YANDEX_DIRECT_TOKENдаOAuth-токен Яндекс.Директ
YANDEX_DIRECT_SANDBOXнет1 — работа в песочнице (изолированные данные, без трат). Тот же токен, отличается только URL
YANDEX_DIRECT_LOGINнетЛогин клиента для агентских токенов (заголовок Client-Login). Обязателен, если токен агентский

Как получить токен

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

⚠️ Внимание: реальные траты

Инструменты create_campaign, create_text_ad, add_keywords, set_keyword_bids и др. меняют боевой рекламный аккаунт и могут расходовать деньги. Для отладки сценариев включайте песочницу (YANDEX_DIRECT_SANDBOX=1).

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

Кампании

ИнструментОписание
list_campaignsСписок кампаний (фильтр по статусу/типу, пагинация)
get_campaignДетальная информация о кампании по ID
create_campaignСоздать кампанию (бюджет в рублях, выбор стратегии)
update_campaignОбновить название/бюджет и/или статус (SUSPEND/RESUME/ARCHIVE/UNARCHIVE)

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

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

Объявления

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

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

ИнструментОписание
list_keywordsКлючевые фразы в группах (ставки в рублях)
add_keywordsДобавить ключевые фразы
set_keyword_bidsУстановить ставки (поиск/сети, рубли) на фразах/группах/кампаниях
manage_keywordssuspend/resume/delete
set_campaign_negative_keywordsЗадать минус-фразы кампании

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

ИнструментОписание
get_statisticsСтатистика за период (показы, клики, расход, CTR, CPC)
get_account_balanceБаланс аккаунта (Live API v4)
get_regionsСправочник кодов регионов (225 = Россия)

Примеры запросов

Покажи все активные рекламные кампании
Создай кампанию "Летняя распродажа" с бюджетом 5000 ₽/день, старт 2026-05-01
Установи ставку 25 ₽ на ключевые фразы 111 и 222
Добавь минус-фразы "бесплатно", "скачать" в кампанию 12345
Какая статистика у кампаний 12345 и 67890 за последнюю неделю?
Найди код региона для Новосибирска
Покажи баланс аккаунта

Разработка

npm install
npm run build      # tsc → dist/
npm test           # vitest (моки fetch)
npm run dev        # tsx src/index.ts

Лицензия

MIT