Yandex Direct MCP Server
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., "@Yandex Direct MCP Serverlist campaigns with spending this week"
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.
Yandex Direct MCP Server
Model Context Protocol (MCP) сервер, который превращает Claude в профессионального директолога. Полное управление рекламой в Яндекс.Директе через официальный API v5 — прямо из диалога с AI, с защитой от случайных денежных действий.
Проблема
Управление контекстной рекламой — это рутина: десятки кампаний, сотни объявлений и ключей, ставки в неудобных микро-единицах, отчёты через асинхронный API с поллингом. Делать это руками в интерфейсе долго, а писать скрипты под каждую задачу — каждый раз заново.
Related MCP server: SergeyKrin9/mcp-servers
Решение
MCP-сервер отдаёт Claude 20 инструментов поверх Yandex Direct API v5. Теперь рекламой можно управлять на естественном языке:
«Покажи кампании с расходом за неделю, найди ключи с CTR ниже 2% и предложи, какие ставки снизить.»
Claude сам выбирает нужные инструменты, строит отчёт, предлагает изменения — но никогда не вносит правки без явного подтверждения (см. dry-run ниже).
Чем это интересно как инженерная работа
Дизайн безопасного агентного интерфейса к деньгам: каждый мутирующий вызов по умолчанию ничего не делает, пока человек не подтвердит.
Работа с «неудобным» внешним API: асинхронные отчёты с поллингом, микро-единицы валюты, песочница vs прод.
Чистый MCP-сервер на официальном SDK, подключается и к Claude Desktop, и к Claude Code.
Архитектура
┌─────────────────┐ MCP (stdio) ┌──────────────────────┐ HTTPS / JSON ┌─────────────────────┐
│ Claude │ ◄──────────────────► │ yandex-direct-mcp │ ◄─────────────────► │ Yandex Direct │
│ (Desktop / Code)│ 20 tools │ src/server.py │ API v5 │ API (sandbox/prod) │
└─────────────────┘ └──────────────────────┘ └─────────────────────┘
│
├─ dry-run guard (confirm=False по умолчанию)
├─ micros-конвертация (1 ₽ = 1 000 000 micros)
├─ async-отчёты с поллингом (до 5 мин)
└─ переключатель окружения YDIRECT_ENV (sandbox/production)Транспорт: stdio MCP — сервер запускается локально, токен живёт только в env на машине пользователя, наружу не уходит.
Окружение: один флаг
YDIRECT_ENVпереключает между песочницей и боевым аккаунтом.
Стек
Python 3.11+ · MCP SDK (mcp[cli]) · httpx · Yandex Direct API v5
Инструменты (20)
Чтение — безопасно, без подтверждения
Инструмент | Что делает |
| Кампании с фильтрами по статусу/типу |
| Группы объявлений по кампаниям |
| Объявления по группам или кампаниям |
| Ключевые слова с текущими ставками |
| Баланс и финансы аккаунта |
| Универсальный отчёт (async polling, до 5 мин) |
Кампании — с dry-run защитой
Инструмент | Что делает |
| Создать кампании (TEXT_CAMPAIGN, стратегии на выбор) |
| Название, даты, бюджет, стратегия |
| Пауза / возобновление |
| Архивировать (необратимо) |
Группы, объявления, ключи — с dry-run защитой
Инструмент | Что делает |
| Создать группы (с геотаргетингом) |
| Создать / изменить объявления |
| Модерация / удаление |
| Управление ключами |
| Массовое изменение ставок (bulk) |
| Минус-слова для кампаний и групп |
Защита от ошибок (ключевая фича)
Все мутирующие инструменты по умолчанию работают в dry-run (confirm=False) — показывают план запроса, но ничего не отправляют. Реальное выполнение — только с confirm=True. Claude физически не может потратить бюджет без явного подтверждения человека.
Все ставки и бюджеты — в микро-единицах (1 ₽ = 1 000 000 micros); напоминание встроено в каждый «денежный» инструмент.
Установка
git clone https://github.com/OlegRadinuk/yandex-direct-mcp.git
cd yandex-direct-mcp
uv venv && uv pip install -e .Получение OAuth-токена
На https://oauth.yandex.ru/ создать приложение, платформа «Веб-сервисы», Redirect URI
https://oauth.yandex.ru/verification_code.Права: «Яндекс Директ» → direct:api.
Открыть
https://oauth.yandex.ru/authorize?response_type=token&client_id=ВАШ_CLIENT_ID—access_tokenиз адресной строки и есть токен.Для песочницы — включить API-доступ к sandbox в настройках Директа.
Подключение к Claude Desktop
%APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"yandex-direct": {
"command": "uv",
"args": ["--directory", "/path/to/yandex-direct-mcp", "run", "python", "src/server.py"],
"env": { "YDIRECT_TOKEN": "ваш_токен", "YDIRECT_ENV": "sandbox" }
}
}
}Перезапустить Claude Desktop. Когда готовы к боевым кампаниям — "YDIRECT_ENV": "production".
⚠️ Токен — секрет. Хранится только в
envна вашей машине, никогда не коммитьте его в репозиторий.
Примеры сессий
Запуск кампании с нуля: add_campaigns (dry-run → проверить → confirm) → add_ad_groups → add_ads → add_keywords → add_negative_keywords → moderate_ads → resume_campaigns.
Анализ и оптимизация: get_report (статистика) → list_keywords → set_keyword_bids (скорректировать ставки) → list_ads (найти низкий CTR) → update_ads.
Ограничения
Поддержан тип
TEXT_CAMPAIGN;UNIFIED_CAMPAIGN/MOBILE_APP_CAMPAIGN— в планах.Токен передаётся через env (не через параметры) — на одну конфигурацию один аккаунт.
Нет автотестов против sandbox (в roadmap).
Валидация входных данных — базовая (Pydantic-модели в планах).
Roadmap
keywords_research— оценка частотности (KeywordsResearch service)UNIFIED_CAMPAIGNиMOBILE_APP_CAMPAIGNPydantic-модели для валидации входа
MCP Resources: регионы, языки, часовые пояса (справочники с кэшем)
Тесты против sandbox
License
MIT — см. LICENSE.
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
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/OlegRadinuk/yandex-direct-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server