
Yandex Direct
io.github.gistrecPublished by GitHub account gistrecv1.0.5Updated Oct 24, 2026
MCP server for Yandex Direct API v5: manage PPC campaigns, ads, keywords, and statistics.
Overview
Local MCP server for the Yandex Direct advertising API that lets an assistant read campaign statistics and create or change campaigns, ads, keywords and bids.
- What you can do
- Read campaigns, ad groups, ads, keywords, bids, adjustments, extensions, balance and API quota, with statistics reports from the Reports service and automatic pagination of large lists. Create text campaigns, groups, text ads, keywords, extensions and uploaded images. Update budgets, bids, names, negative keywords, group settings and bid adjustments. Pause, resume, archive or delete objects by ID. Send a raw request to any API method not covered by a dedicated tool.
- When to use it
- Useful when you want to analyze where an ad budget goes, compare spend, CTR and cost per click across campaigns, groups and keywords, or prepare and apply changes to a Yandex Direct account from a chat instead of switching between account screens.
- Requirements
- Runs locally via npx, so Node.js 20 or newer is needed; the package is downloaded on first launch. A Yandex Direct account with access to the target advertising account. Authentication normally happens in the chat through a Yandex OAuth link and code; for CI or unattended setups a ready OAuth token can be supplied in YANDEX_DIRECT_TOKEN, with optional YANDEX_DIRECT_LOGIN, YANDEX_DIRECT_SANDBOX, YANDEX_DIRECT_LANG and related variables. Network access to the Yandex Direct API.
Installation
In SourceWeft
- Open Yandex Direct in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Яндекс Директ MCP
[npm] [CI] [Glama] [License: MIT]
Яндекс Директ MCP подключает AI-приложение к рекламному кабинету Яндекс Директа. Спросите на естественном языке, куда уходит рекламный бюджет, сопоставьте кампании, объявления и ключевые фразы, а затем подготовьте или внесите нужные изменения без переходов между разделами кабинета. Подключение начинается прямо в диалоге: не нужно заранее создавать токен или редактировать конфигурацию.
- 46 инструментов. Кампании, группы, объявления, ключевые фразы, ставки, корректировки, расширения, статистика, баланс, справочники и подключение аккаунта прямо в диалоге.
- Два способа подключения. Удалённый сервер по URL не требует вручную получать токен и только читает данные; локальный через
npxдаёт полный доступ к кабинету. - Подключение в чате. Яндекс откроет страницу входа; после кода из чата можно сразу работать с рекламой, а доступ действует около года.
- Деньги в понятном виде. В удобных инструментах бюджеты, ставки и баланс показываются в валюте аккаунта, а не в микроединицах API.
- Реальная реклама. Локальные изменения применяются в боевом кабинете и могут повлиять на расход. Для работы в тестовой среде есть песочница Яндекс Директа.
Попробуйте первым сообщением:
Покажи кампании моего аккаунта и расход за прошлую неделю по группам объявлений.
Подключить сервер · Посмотреть сценарии · Открыть техническую документацию
Увидеть работу за минуту
Вы: Подключи Яндекс Директ.
Ассистент: Даёт ссылку на вход в Яндекс. Откройте её под аккаунтом с доступом к нужному рекламному кабинету, подтвердите доступ и пришлите показанный код.
Вы: Отправляет код со страницы Яндекса.
Ассистент: Подключает Директ и показывает кабинет. Перезапускать приложение не нужно.
Вы: Покажи кампании моего аккаунта и расход за прошлую неделю по группам объявлений.
Ассистент: Находит кампании, строит отчёт по группам объявлений и показывает расход в валюте аккаунта.
Содержание
- Быстрый старт
- Что можно поручить
- Как это работает
- Что может изменить данные
- Подключение и настройка
- Данные и телеметрия
- Ограничения
- Техническая документация
- Поддержка
Быстрый старт
- Выберите способ подключения и добавьте сервер в AI-приложение по инструкции ниже.
- Откройте новый диалог и спросите: «Покажи кампании моего аккаунта и расход за прошлую неделю по группам объявлений».
Анализ без самостоятельного получения токена — по URL
Удалённый сервер https://mcp.askads.ru/mcp подключается через приложение, которое поддерживает MCP по URL. Войдите в Яндекс в браузере и подтвердите доступ: токен не нужно передавать в конфиг. Этот вариант предназначен только для чтения — статистики, аудита и просмотра объектов; он не меняет настройки рекламы.
В Claude Code можно добавить его командой:
После подключения откройте /mcp и пройдите авторизацию. В остальных поддерживающих HTTP MCP приложениях добавьте тот же URL через интерфейс приложения.
Полный доступ — локально через npx
Для создания и изменения объектов нужен Node.js 20+. npx скачает сервер при первом запуске — отдельно устанавливать пакет не нужно. Получать токен заранее не требуется — подключение начинается прямо в диалоге:
- Добавьте сервер в AI-приложение — ниже открыт пример для Codex, остальные приложения собраны в сворачиваемые инструкции.
- Напишите: «Подключи Яндекс Директ» — ассистент проведёт через вход в Яндекс и покажет кабинет.
Для CI и агентских установок — готовый токен и YANDEX_DIRECT_LOGIN, см. Подключение и настройка.
Codex
Через интерфейс приложения:
- Откройте Settings → Plugins → MCP servers.
- Нажмите Add server.
- Добавьте команду запуска
npx -y mcp-yandex-direct@latest.
Через командную строку:
Проверьте подключение:
Claude Code
Проверить подключение: claude mcp list.
Claude Desktop
Откройте Settings → Developer → Edit Config и добавьте в claude_desktop_config.json:
Если раздела Developer нет, откройте файл вручную: macOS — ~/Library/Application Support/Claude/claude_desktop_config.json, Windows — %APPDATA%\Claude\claude_desktop_config.json. Перезапустите Claude Desktop.
Cursor
Откройте ~/.cursor/mcp.json, чтобы подключить сервер во всех проектах, или .cursor/mcp.json в конкретном проекте. Добавьте:
VS Code
В палитре команд выполните MCP: Open User Configuration. В открывшемся mcp.json добавьте сервер:
После сохранения выполните MCP: List Servers и запустите сервер из списка.
Что можно поручить
Проверить, как расходуется бюджет
- «Какие кампании за прошлую неделю потратили больше всего?»
- «Какие объявления получают показы и клики, но не дают конверсий?»
- «Сравни расход, CTR и среднюю цену клика по кампаниям за месяц».
- «Покажи баланс счёта и остаток дневной квоты API».
- «Покажи клиентов агентства» и «Какие кампании идут у клиента shop-msk?» — клиент выбирается прямо в диалоге.
- «Что у меня по аккаунтам в управлении?», «Сколько вчера потратил каждый клиент?» — сводка по балансу, кампаниям и расходу всех клиентов за один вызов.
Найти точки для улучшения
- «Какие ключевые фразы тратят бюджет, но не приносят кликов?»
- «Какие группы и объявления сейчас остановлены или не проходят модерацию?»
- «Проверь, какие корректировки ставок действуют для мобильных устройств».
- «Какие быстрые ссылки и уточнения есть у этой кампании?»
Подготовить изменения
- «Предложи новые ставки для фраз с высоким CTR и покажи изменения до применения».
- «Проверь, есть ли в кампании минус-слова для этой темы, и подготовь список».
- «Собери параметры новой текстовой кампании для Москвы: бюджет, группы, ключевые фразы и объявления».
Выполнить явное действие
- «Добавь эти ключевые фразы в группу 123 и установи ставку 45 ₽».
- «Приостанови объявление 456».
- «Отправь страницу с изображением в библиотеку объявлений».
Как это работает
Реклама обычно строится из трёх уровней: кампания → группа объявлений → объявление. В группе находятся ключевые фразы, настройки показа и корректировки ставок. У объявлений могут быть быстрые ссылки, уточнения и изображения.
Сервер помогает смотреть на эти объекты вместе: связать расход кампании со статистикой групп, ключевыми фразами и объявлениями. Он умеет создавать новые кампании и объявления только текстового типа. Кампании других типов можно читать, переименовывать, менять им бюджет, останавливать, архивировать и удалять по идентификатору.
Статистика формируется не мгновенно: get_statistics запускает отчёт в сервисе Reports и ждёт его готовности. Большие списки autoPaginate проходит по страницам выдачи автоматически.
Что может изменить данные
Удалённый сервер по URL только читает данные. Локальный сервер через npx может изменить живой рекламный кабинет:
Инструменты передают AI-приложению метки чтения, записи и потенциально необратимого действия. Приложение может показать подтверждение, но его поведение зависит от клиента. Прямой запрос API дополнительно не выполнит запись без confirmWrite=true; для изменения рекламы нужна явная просьба.
Подключение и настройка
Для обычного использования токен заранее не нужен:
- В чате попросите подключить Яндекс Директ.
- Откройте ссылку на Яндекс OAuth под аккаунтом с доступом к нужному рекламному кабинету.
- Подтвердите доступ и пришлите в чат показанный код. Всё, можно работать с рекламой: перезапускать клиент не нужно, конфигурацию править тоже.
Доступ действует около года. Когда он истечёт или будет отозван, сервер попросит подключиться заново тем же способом. Автоматическое продление работает только с собственным OAuth-приложением: задайте YANDEX_DIRECT_OAUTH_CLIENT_ID и YANDEX_DIRECT_OAUTH_CLIENT_SECRET, потому что Яндекс не продлевает токены без секрета приложения. Проверить состояние — попросите «покажи статус подключения», отключить — «отключи Директ». Выданный доступ отзывается в Яндекс ID.
Для CI и автоматических установок, где диалога нет, доступна настройка через переменные окружения:
Получить готовый токен для YANDEX_DIRECT_TOKEN можно по ссылке, войдя под аккаунтом с доступом к нужному кабинету:
Не публикуйте токен в чатах, репозиториях и скриншотах: он даёт доступ к рекламному кабинету, включая действия, которые могут повлиять на бюджет.
Данные и телеметрия
По умолчанию сервер отправляет анонимные технические события: случайный идентификатор установки, название вызванного инструмента, версии сервера, AI-приложения, Node.js и операционной системы. Это нужно, чтобы понимать, какие части сервера используются и возникают ли проблемы при запуске. При вызове инструмента сервер также отправляет его исход, а при ошибке - фрагмент её текста: код и сообщение, в которых e-mail, адреса, токены, числа от 4 цифр и текст в кавычках заменены на «#». Если в тексте ошибки есть значение из запроса, оно тоже может попасть во фрагмент. Токен Яндекса, данные рекламного кабинета, аргументы инструментов, тексты запросов, значения и названия переменных окружения не отправляются.
Чтобы отключить телеметрию для MCP-серверов Ask Ads, задайте переменную окружения:
Ограничения
- Дневная квота API. Каждый вызов расходует Units. Инструмент
get_quotaпоказывает, сколько потрачено, осталось и доступно на сегодня. - Лимиты отчётов. У отчётов Яндекса есть собственные ограничения на объём и количество в сутки, а готовность отчёта в сервисе Reports приходится ждать.
- Большие списки. Если при автоматической пагинации достигнут внутренний предел, сервер явно отмечает результат как неполный, а не скрывает это.
- Временные ошибки. Сервер делает до трёх повторов при ограничениях частоты. Ошибки сети и сервера автоматически повторяются только для чтения, чтобы не продублировать изменение.
- Боевой кабинет. Локальные изменения применяются в реальном рекламном кабинете и могут повлиять на расход. Для тестов используйте песочницу (
YANDEX_DIRECT_SANDBOX=true). - Нет постоянного наблюдения. Сервер работает во время вызова из AI-приложения. Если приложение поддерживает регулярные задания, можно настроить периодический запрос для проверки нужных показателей.
Техническая документация
- Каталог MCP-возможностей — страницы по пользовательским задачам для каждого инструмента.
- Все инструменты — параметры, ответы и границы каждого инструмента.
- Разработка — устройство проекта и работа с исходным кодом.
- API Яндекс Директа — первоисточник по API и его ограничениям.
- Пакет npm — опубликованные версии сервера.
Поддержка
Нашли ошибку или не хватает сценария? Создайте issue или напишите в Telegram.
Source: README.md at commit 6b6fa54
Tools
0Version history
1- v1.0.5LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts