{
  "markdown": "# Яндекс Директ MCP\n\n[![npm](https://img.shields.io/npm/v/mcp-yandex-direct)](https://www.npmjs.com/package/mcp-yandex-direct)\n[![CI](https://github.com/askads/mcp-yandex-direct/actions/workflows/ci.yml/badge.svg)](https://github.com/askads/mcp-yandex-direct/actions/workflows/ci.yml)\n[![Glama](https://glama.ai/mcp/servers/askads/mcp-yandex-direct/badges/score.svg)](https://glama.ai/mcp/servers/askads/mcp-yandex-direct)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n\n**Яндекс Директ MCP** подключает AI-приложение к рекламному кабинету Яндекс Директа. Спросите на естественном языке, куда уходит рекламный бюджет, сопоставьте кампании, объявления и ключевые фразы, а затем подготовьте или внесите нужные изменения без переходов между разделами кабинета. Подключение начинается прямо в диалоге: не нужно заранее создавать токен или редактировать конфигурацию.\n\n- **44 инструмента.** Кампании, группы, объявления, ключевые фразы, ставки, корректировки, расширения, статистика, баланс, справочники и подключение аккаунта прямо в диалоге.\n- **Два способа подключения.** Удалённый сервер по URL не требует вручную получать токен и только читает данные; локальный через `npx` даёт полный доступ к кабинету.\n- **Подключение в чате.** Яндекс откроет страницу входа; после кода из чата можно сразу работать с рекламой, а доступ продлевается автоматически.\n- **Деньги в понятном виде.** В удобных инструментах бюджеты, ставки и баланс показываются в валюте аккаунта, а не в микроединицах API.\n- **Реальная реклама.** Локальные изменения применяются в боевом кабинете и могут повлиять на расход. Для работы в тестовой среде есть песочница Яндекс Директа.\n\nПопробуйте первым сообщением:\n\n> Покажи кампании моего аккаунта и расход за прошлую неделю по группам объявлений.\n\n[Подключить сервер](#быстрый-старт) · [Посмотреть сценарии](#что-можно-поручить) · [Открыть техническую документацию](#техническая-документация)\n\n---\n\n## Увидеть работу за минуту\n\n> **Вы:** Подключи Яндекс Директ.\n>\n> **Ассистент:** Даёт ссылку на вход в Яндекс. Откройте её под аккаунтом с доступом к нужному рекламному кабинету, подтвердите доступ и пришлите показанный код.\n>\n> **Вы:** Отправляет код со страницы Яндекса.\n>\n> **Ассистент:** Подключает Директ и показывает кабинет. Перезапускать приложение не нужно.\n>\n> **Вы:** Покажи кампании моего аккаунта и расход за прошлую неделю по группам объявлений.\n>\n> **Ассистент:** Находит кампании, строит отчёт по группам объявлений и показывает расход в валюте аккаунта.\n\n## Содержание\n\n- [Быстрый старт](#быстрый-старт)\n- [Что можно поручить](#что-можно-поручить)\n- [Как это работает](#как-это-работает)\n- [Что может изменить данные](#что-может-изменить-данные)\n- [Подключение и настройка](#подключение-и-настройка)\n- [Данные и телеметрия](#данные-и-телеметрия)\n- [Ограничения](#ограничения)\n- [Техническая документация](#техническая-документация)\n- [Поддержка](#поддержка)\n\n## Быстрый старт\n\n1. Выберите способ подключения и добавьте сервер в AI-приложение по инструкции ниже.\n2. Откройте новый диалог и спросите: **«Покажи кампании моего аккаунта и расход за прошлую неделю по группам объявлений»**.\n\n### Анализ без самостоятельного получения токена — по URL\n\nУдалённый сервер `https://mcp.askads.ru/mcp` подключается через приложение, которое поддерживает MCP по URL. Войдите в Яндекс в браузере и подтвердите доступ: токен не нужно передавать в конфиг. Этот вариант предназначен только для чтения — статистики, аудита и просмотра объектов; он не меняет настройки рекламы.\n\nВ Claude Code можно добавить его командой:\n\n```bash\nclaude mcp add --transport http yandex-direct https://mcp.askads.ru/mcp\n```\n\nПосле подключения откройте `/mcp` и пройдите авторизацию. В остальных поддерживающих HTTP MCP приложениях добавьте тот же URL через интерфейс приложения.\n\n### Полный доступ — локально через `npx`\n\nДля создания и изменения объектов нужен Node.js 20+. `npx` скачает сервер при первом запуске — отдельно устанавливать пакет не нужно. Получать токен заранее не требуется — подключение начинается прямо в диалоге:\n\n1. Добавьте сервер в AI-приложение — ниже открыт пример для Codex, остальные приложения собраны в сворачиваемые инструкции.\n2. Напишите: «Подключи Яндекс Директ» — ассистент проведёт через вход в Яндекс и покажет кабинет.\n\nДля CI и агентских установок — готовый токен и `YANDEX_DIRECT_LOGIN`, см. [Подключение и настройка](#подключение-и-настройка).\n\n<details open>\n<summary><strong>Codex</strong></summary>\n\n<br>\n\n**Через интерфейс приложения:**\n\n1. Откройте **Settings → Plugins → MCP servers**.\n2. Нажмите **Add server**.\n3. Добавьте команду запуска `npx -y mcp-yandex-direct@latest`.\n\n**Через командную строку:**\n\n```bash\ncodex mcp add yandex-direct -- npx -y mcp-yandex-direct@latest\n```\n\nПроверьте подключение:\n\n```bash\ncodex mcp list\n```\n\n[Официальная инструкция Codex](https://learn.chatgpt.com/docs/extend/mcp?surface=cli)\n\n</details>\n\n<details>\n<summary><strong>Claude Code</strong></summary>\n\n```bash\nclaude mcp add --transport stdio --scope user yandex-direct -- npx -y mcp-yandex-direct@latest\n```\n\nПроверить подключение: `claude mcp list`.\n\n</details>\n\n<details>\n<summary><strong>Claude Desktop</strong></summary>\n\nОткройте **Settings → Developer → Edit Config** и добавьте в `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"yandex-direct\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-yandex-direct@latest\"]\n    }\n  }\n}\n```\n\nЕсли раздела Developer нет, откройте файл вручную: macOS — `~/Library/Application Support/Claude/claude_desktop_config.json`, Windows — `%APPDATA%\\Claude\\claude_desktop_config.json`. Перезапустите Claude Desktop.\n\n</details>\n\n<details>\n<summary><strong>Cursor</strong></summary>\n\nОткройте `~/.cursor/mcp.json`, чтобы подключить сервер во всех проектах, или `.cursor/mcp.json` в конкретном проекте. Добавьте:\n\n```json\n{\n  \"mcpServers\": {\n    \"yandex-direct\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-yandex-direct@latest\"]\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary><strong>VS Code</strong></summary>\n\nВ палитре команд выполните **MCP: Open User Configuration**. В открывшемся `mcp.json` добавьте сервер:\n\n```json\n{\n  \"servers\": {\n    \"yandex-direct\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-yandex-direct@latest\"]\n    }\n  }\n}\n```\n\nПосле сохранения выполните **MCP: List Servers** и запустите сервер из списка.\n\n</details>\n\n## Что можно поручить\n\n### Проверить, как расходуется бюджет\n\n- «Какие кампании за прошлую неделю потратили больше всего?»\n- «Какие объявления получают показы и клики, но не дают конверсий?»\n- «Сравни расход, CTR и среднюю цену клика по кампаниям за месяц».\n- «Покажи баланс счёта и остаток дневной квоты API».\n\n### Найти точки для улучшения\n\n- «Какие ключевые фразы тратят бюджет, но не приносят кликов?»\n- «Какие группы и объявления сейчас остановлены или не проходят модерацию?»\n- «Проверь, какие корректировки ставок действуют для мобильных устройств».\n- «Какие быстрые ссылки и уточнения есть у этой кампании?»\n\n### Подготовить изменения\n\n- «Предложи новые ставки для фраз с высоким CTR и покажи изменения до применения».\n- «Проверь, есть ли в кампании минус-слова для этой темы, и подготовь список».\n- «Собери параметры новой текстовой кампании для Москвы: бюджет, группы, ключевые фразы и объявления».\n\n### Выполнить явное действие\n\n- «Добавь эти ключевые фразы в группу 123 и установи ставку 45 ₽».\n- «Приостанови объявление 456».\n- «Отправь страницу с изображением в библиотеку объявлений».\n\n## Как это работает\n\nРеклама обычно строится из трёх уровней: **кампания → группа объявлений → объявление**. В группе находятся ключевые фразы, настройки показа и корректировки ставок. У объявлений могут быть быстрые ссылки, уточнения, визитки и изображения.\n\nСервер помогает смотреть на эти объекты вместе: связать расход кампании со статистикой групп, ключевыми фразами и объявлениями. Он умеет создавать новые кампании и объявления только текстового типа. Кампании других типов можно читать, переименовывать, менять им бюджет, останавливать, архивировать и удалять по идентификатору.\n\nСтатистика формируется не мгновенно: `get_statistics` запускает отчёт в сервисе Reports и ждёт его готовности. Большие списки `autoPaginate` проходит по страницам выдачи автоматически.\n\n## Что может изменить данные\n\nУдалённый сервер по URL только читает данные. Локальный сервер через `npx` может изменить живой рекламный кабинет:\n\n| Действие | Что происходит | На что обратить внимание |\n| --- | --- | --- |\n| Читать статистику и объекты | Сервер получает кампании, объявления, ключевые фразы, баланс и отчёты. | Эти вызовы не меняют данные и не двигают деньги. |\n| Создавать | Можно создать текстовую кампанию, группу, текстовое объявление, ключевые фразы, расширения или загрузить изображение. | Новые объекты попадут в боевой кабинет, если не включена песочница. |\n| Обновлять | Можно менять бюджет, ставки, названия, минус-слова, настройки групп и корректировки ставок. | Изменение ставок и бюджетов может повлиять на расход. |\n| Менять статус или удалять | Можно приостановить, возобновить, архивировать или удалить некоторые объекты. | Удаление и отдельные действия необратимы. |\n| Прямой запрос API | `raw_request` открывает любой метод API, для которого нет отдельного инструмента. | Любой метод, кроме чтения, требует `confirmWrite=true`; данные там передаются в микроединицах. |\n\nИнструменты передают AI-приложению метки чтения, записи и потенциально необратимого действия. Приложение может показать подтверждение, но его поведение зависит от клиента. Прямой запрос API дополнительно не выполнит запись без `confirmWrite=true`; для изменения рекламы нужна явная просьба.\n\n## Подключение и настройка\n\nДля обычного использования токен заранее не нужен:\n\n1. В чате попросите подключить Яндекс Директ.\n2. Откройте ссылку на Яндекс OAuth **под аккаунтом с доступом к нужному рекламному кабинету**.\n3. Подтвердите доступ и пришлите в чат показанный код. Всё, можно работать с рекламой: перезапускать клиент не нужно, конфигурацию править тоже.\n\nДальше подключение живёт само: доступ продлевается автоматически и не отваливается через год. Проверить состояние — попросите «покажи статус подключения», отключить — «отключи Директ». Выданный доступ отзывается в [Яндекс ID](https://id.yandex.ru/security).\n\nДля CI и автоматических установок, где диалога нет, доступна настройка через переменные окружения:\n\n| Переменная | Назначение |\n|---|---|\n| `YANDEX_DIRECT_TOKEN` | Готовый OAuth-токен; имеет приоритет над входом из чата. |\n| `YANDEX_DIRECT_LOGIN` | Логин клиента при работе через агентский аккаунт; иначе API покажет аккаунт агентства. |\n| `YANDEX_DIRECT_SANDBOX` | `true` — работа в тестовой среде (песочнице) Яндекс Директа. |\n| `YANDEX_DIRECT_OAUTH_CLIENT_ID` | Client ID собственного OAuth-приложения вместо встроенного. |\n| `YANDEX_DIRECT_LANG` | Язык ответов API; по умолчанию `ru`. |\n| `YANDEX_DIRECT_TIMEOUT_MS` | Таймаут запроса; по умолчанию 60 000 мс. |\n| `YANDEX_DIRECT_MAX_RETRIES` | Число повторов при временных ошибках; по умолчанию 3. |\n\nПолучить готовый токен для `YANDEX_DIRECT_TOKEN` можно по ссылке, войдя под аккаунтом с доступом к нужному кабинету:\n\n[**Получить токен Яндекс Директа**](https://oauth.yandex.ru/authorize?response_type=token&client_id=c48790e11f0e48c588d2cd2d1b4bb92d)\n\nНе публикуйте токен в чатах, репозиториях и скриншотах: он даёт доступ к рекламному кабинету, включая действия, которые могут повлиять на бюджет.\n\n## Данные и телеметрия\n\nПо умолчанию сервер отправляет анонимные технические события: случайный идентификатор установки, название вызванного инструмента, версии сервера, AI-приложения, Node.js и операционной системы. Это нужно, чтобы понимать, какие части сервера используются и возникают ли проблемы при запуске. Токен Яндекса, данные рекламного кабинета, аргументы инструментов, тексты запросов, значения и названия переменных окружения не отправляются.\n\nЧтобы отключить телеметрию для MCP-серверов Ask Ads, задайте переменную окружения:\n\n```bash\nASKADS_TELEMETRY=0\n```\n\n## Ограничения\n\n- **Дневная квота API.** Каждый вызов расходует Units. Инструмент `get_quota` показывает, сколько потрачено, осталось и доступно на сегодня.\n- **Лимиты отчётов.** У отчётов Яндекса есть собственные ограничения на объём и количество в сутки, а готовность отчёта в сервисе Reports приходится ждать.\n- **Большие списки.** Если при автоматической пагинации достигнут внутренний предел, сервер явно отмечает результат как неполный, а не скрывает это.\n- **Временные ошибки.** Сервер делает до трёх повторов при ограничениях частоты. Ошибки сети и сервера автоматически повторяются только для чтения, чтобы не продублировать изменение.\n- **Боевой кабинет.** Локальные изменения применяются в реальном рекламном кабинете и могут повлиять на расход. Для тестов используйте песочницу (`YANDEX_DIRECT_SANDBOX=true`).\n- **Нет постоянного наблюдения.** Сервер работает во время вызова из AI-приложения. Если приложение поддерживает регулярные задания, можно настроить периодический запрос для проверки нужных показателей.\n\n## Техническая документация\n\n- [Каталог MCP-возможностей](./docs/capabilities/index.md) — страницы по пользовательским задачам для каждого инструмента.\n- [Все инструменты](https://github.com/askads/mcp-yandex-direct/blob/main/docs/TOOLS.md) — параметры, ответы и границы каждого инструмента.\n- [Разработка](https://github.com/askads/mcp-yandex-direct/blob/main/docs/DEVELOPMENT.md) — устройство проекта и работа с исходным кодом.\n- [API Яндекс Директа](https://yandex.ru/dev/direct/doc/dg/concepts/about.html) — первоисточник по API и его ограничениям.\n- [Пакет npm](https://www.npmjs.com/package/mcp-yandex-direct) — опубликованные версии сервера.\n\n## Поддержка\n\nНашли ошибку или не хватает сценария? [Создайте issue](https://github.com/askads/mcp-yandex-direct/issues) или напишите в [Telegram](http://t.me/gistrec).\n",
  "bytes": 13872,
  "sha": "e9a7c23502da6d716a852642f535f44d0b8c286516bfb274172b53128c1beeef",
  "repo_slug": "askads/mcp-yandex-direct",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_askads_mcp_yandex_direct_ae790fec/readme"
}