MCP «Яндекс Директ»
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP «Яндекс Директ»create a new text ad campaign for online store"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP «Яндекс Директ»
MCP-сервер на Bun и TypeScript, который даёт ИИ-агенту прямой доступ к API Яндекс Директа.
Что это
Вы работаете с Директом обычными репликами агенту: «заведи перформанс-кампанию с оплатой за конверсии по этой цели», «выставь ставки по этим фразам», «покажи, что аукцион отдаёт по семантике», «сними отчёт за две недели». Сервер переводит запросы в вызовы API: создаёт и правит кампании, группы, объявления и ключевые фразы, назначает ставки, читает данные аукциона и выгружает статистику.
Мост берёт на себя механическую часть ведения кампаний — повторяющиеся операции с точными полями и пересчётами. Стратегические решения, тексты и подтверждение изменений остаются за вами и агентом.
Related MCP server: yandex-direct-mcp
Как проходит работа
MCP — это набор инструментов, которыми агент пользуется по ходу задачи, а не пошаговый мастер настройки. Одна операция проходит так:
Подключение и авторизация. Сервер запускается один раз в среде ИИ-агента. Авторизоваться можно через Click.ru или своим OAuth-токеном Яндекс Директа. Песочница доступна только в прямом режиме; через Click.ru сервер работает с боевым кабинетом.
Чтение состояния. Перед изменением агент получает кампании со статусами и статистикой, группы, объявления, фразы, ставки с данными аукциона, корректировки и справочники.
Изменение. Агент создаёт и правит текстовые кампании и единые перформанс-кампании, стратегии торгов, группы, объявления, фразы, ставки и демографические корректировки, а также привязывает счётчики и цели Метрики.
Проверка. После изменения агент перечитывает объект и снимает отчёт, чтобы убедиться, что настройки применились.
Сервер исполняет команды в кабинете сразу: встроенного предпросмотра или отмены нет. Настройте агента так, чтобы перед изменениями он показывал план и ждал вашего подтверждения. Для безопасной проверки есть сквозной прогон по песочнице.
Инструменты
В сервере 37 инструментов.
Область | Инструменты | Что позволяют сделать |
Кампании | get, add, update, delete, suspend, resume | Создавать и вести текстовые кампании и ЕПК; задавать стратегии для поиска и РСЯ, недельный бюджет и потолок ставки; привязывать счётчики Метрики, приоритетные цели и модель атрибуции |
Группы объявлений | get, add, update, delete | Создавать группы с регионами показа и минус-фразами; создавать группы ЕПК; добавлять UTM-параметры |
Объявления | get, add, add_responsive, update, delete, suspend, resume, moderate | Создавать текстово-графические и комбинаторные объявления, править их, останавливать, возобновлять и отправлять на модерацию |
Изображения | add, get | Загружать изображения с обрезкой 1:1 или 16:9 и получать список загруженных файлов |
Ставки по фразам | set, get | Выставлять ставки по фразе, группе или кампании и читать данные аукциона |
Корректировки ставок | demographics, get | Задавать корректировки по полу и возрасту и читать действующие корректировки |
Ключевые фразы | get, add, update, delete, suspend, resume | Добавлять и править фразы, останавливать и возобновлять показы |
Отчёты | campaign, ad, search_queries | Получать статистику по кампаниям и объявлениям и отчёт по поисковым запросам |
Справочники | regions, currencies, interests, all | Получать идентификаторы регионов, валюты, интересы и другие справочные данные |
Скрипт scripts/sandbox-e2e.ts создаёт в песочнице цепочку ЕПК, проверяет группы, объявления, фразы, ставки, корректировки и отчёты, а затем удаляет созданное.
Что делает агент, а что остаётся человеку
Агент:
переводит задачу в корректные вызовы API и заполняет обязательные поля;
проверяет входные данные до отправки;
читает состояние кабинета и справочники;
после изменения перечитывает объект и проверяет результат по отчёту.
Человек:
выбирает стратегию, бюджет, целевые CPA и CRR и режим работы с сетями;
подтверждает план изменения до вызова инструмента;
заранее создаёт или находит идентификаторы целей и счётчиков Метрики, быстрых ссылок, уточнений, видеодополнений и профиля организации;
готовит креативы и выдаёт OAuth-токен Яндекса или ключи Click.ru.
Ограничения
Сервер не подбирает семантику и не заменяет Вордстат. Данные аукциона доступны только по фразам, уже добавленным в кампанию.
Сервер не управляет Метрикой как отдельным сервисом: он только привязывает к кампании готовые счётчики и цели по их идентификаторам.
Быстрые ссылки, уточнения, видеодополнения и профиль организации нужно создать заранее; сервер принимает их готовые идентификаторы.
На запись доступны только корректировки ставок по полу и возрасту.
Комбинаторное объявление можно создать, но нельзя обновить — для изменения его нужно пересоздать.
Доступны три отчёта с фиксированными полями и выгрузкой в TSV.
Расписание показов, минус-слова уровня аккаунта и настройки за пределами перечисленных инструментов остаются в кабинете Директа.
Требования
Bun 1.1+
Установка
Из npm — одной командой (нужен установленный Bun):
bunx @ai-hub-open/yandex-direct-mcpДля подключения в конфиге MCP-клиента: "command": "bunx", "args": ["@ai-hub-open/yandex-direct-mcp"] плюс переменные окружения из раздела «Настройка».
Или из исходников:
git clone https://github.com/ai-hub-open/yandex-direct-mcp.git
cd yandex-direct-mcp
bun installНастройка
Скопируйте .env.example в .env и заполните один из двух режимов (переменные окружения имеют приоритет над .env):
A. Через Click.ru — основной путь: токен без заявок на доступ к API, OAuth-токен Яндекса не нужен:
CLICK_RU_PROXY=true
CLICK_RU_TOKEN=<API-токен из профиля click.ru>
CLICK_RU_CLIENT_LOGIN=<логин аккаунта Яндекс.Директа>
CLICK_RU_USER_ID=<ID пользователя click.ru> # только при работе из мастер-аккаунтаТокен создаётся в профиле https://click.ru/userinfo.html → поле «API Token» → «Создать». Аккаунт Яндекс.Директа должен быть подключён в Click.ru. Справка: https://help.click.ru/81, https://api.click.ru/V0/docs/.
Прокси Click.ru работает только с боевым API Яндекса (песочница недоступна).
B. Прямой режим — свой OAuth-токен Яндекс.Директа (единственный режим с песочницей):
YANDEX_DIRECT_TOKEN=y0__...
YANDEX_DIRECT_SANDBOX=false # true — песочницаПо умолчанию используется версия API v501 (обязательна для ЕПК); переключить можно через YANDEX_DIRECT_API_VERSION=v5.
Запуск
bun run src/index.ts # stdio — для локальных MCP-клиентов
bun run src/index.ts --http # HTTP-сервер на :3000E2E-прогон на песочнице (создаёт и удаляет тестовые кампании; нужны YANDEX_DIRECT_TOKEN и YANDEX_DIRECT_SANDBOX=true):
bun run scripts/sandbox-e2e.tsПодключение к Claude Code
.mcp.json в корне вашего проекта (см. также .mcp.json.example):
{
"mcpServers": {
"yandex-direct": {
"command": "bun",
"args": ["run", "/абсолютный/путь/к/yandex-direct-mcp/src/index.ts"],
"env": {
"CLICK_RU_PROXY": "true",
"CLICK_RU_TOKEN": "<ваш токен>",
"CLICK_RU_CLIENT_LOGIN": "<логин Директа>"
}
}
}
}Для прямого режима в env вместо CLICK_RU_* укажите YANDEX_DIRECT_TOKEN.
📋 Инструкция для AI-агента — скопируйте и передайте своему агенту (Claude Code / Codex), подставив ключи:
Установи и подключи MCP-сервер «Yandex Direct»: склонируй
https://github.com/ai-hub-open/yandex-direct-mcp.git, проверь Bun (bun --version, если нет — установи с https://bun.sh), выполниbun installв корне репозитория. Зарегистрируй локальный stdio-MCP: командаbun, аргументыrun <абсолютный_путь_к_репо>/src/index.ts, переменные окружения — мои ключи:CLICK_RU_PROXY=true,CLICK_RU_TOKEN=<...>,CLICK_RU_CLIENT_LOGIN=<...>(илиYANDEX_DIRECT_TOKEN=<...>для прямого режима). Проверьtools/listи сообщи результат.
HTTP-режим
MCP_TRANSPORT=http MCP_PORT=3000 bun run src/index.tsПеременные: MCP_PORT (3000), MCP_HOST (0.0.0.0), MCP_AUTH_TOKEN (если задан — запросы должны нести Authorization: Bearer <token>), MCP_ALLOWED_ORIGIN (CORS).
Метод + путь | Назначение |
| JSON-RPC 2.0 запрос (или батч) |
| health check |
| список инструментов (отладка) |
Несколько аккаунтов: данные доступа можно передавать в заголовках каждого запроса; они имеют приоритет над .env. Один сервер может обслуживать несколько клиентов:
X-Yandex-Token: <OAuth> X-Click-Ru-Token: <токен>
X-Yandex-Sandbox: true|false X-Click-Ru-User-Id: <ID>
X-Yandex-Api-Version: v501|v5 X-Client-Login: <логин Директа>В режиме Click.ru по HTTP обязательны все три заголовка. Сервер можно запустить без данных доступа в .env — тогда они передаются в каждом запросе.
⚠️ Безопасность: при публикации в сеть задайте MCP_AUTH_TOKEN и закройте порт за обратным прокси-сервером с TLS.
Docker
cp .env.example .env # заполните ключи и MCP_AUTH_TOKEN
docker compose up -d --build
curl http://localhost:3000/healthzЛицензия
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ai-hub-open/yandex-direct-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server