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
- 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/OlegRadinuk/yandex-direct-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server