Яндекс Аудитории MCP
A1 Яндекс Аудитории MCP подключает AI-приложение к сегментам, пикселям и доступам Яндекс Аудиторий. Попросите на естественном языке показать, что уже есть в аккаунте, подготовить сегмент из CRM, собрать похожую аудиторию или выдать доступ коллегам — ассистент выполнит это через ваш аккаунт. Подключение начинается прямо в диалоге: не нужно заранее создавать токен или редактировать конфигурацию.
- 20 инструментов. Сегменты, пиксели, доступы, подключение аккаунта и дополнительный прямой вызов API.
- Подключение в чате. Яндекс откроет страницу входа; одноразовый код действует 10 минут, а сервер проверит доступ к сегментам сразу после подключения.
- CRM и идентификаторы. CSV с email и телефонами, а также TSV/TXT с device ID, MAC-адресами или SHA256-хешами.
- Два шага для сегмента из файла. Сначала загрузка, затем отдельное подтверждение параметров и запуск обработки.
- Без глобальной установки. Пакет запускается через
npxна Node.js 20+ и подключается к AI-клиенту поstdio.
Попробуйте первым сообщением:
Покажи мои сегменты в Яндекс Аудиториях: названия, типы и текущие статусы.
Подключить сервер · Посмотреть сценарии · Открыть техническую документацию
Увидеть работу за минуту
Вы: Подключи Яндекс Аудитории.
Ассистент: Даёт ссылку на вход в Яндекс. Откройте её под аккаунтом, которому принадлежат нужные сегменты (или которому они доверены), подтвердите доступ и пришлите показанный код.
Вы: Отправляет код со страницы Яндекса.
Ассистент: Подключает Аудитории, проверяет, видны ли сегменты, и сообщает результат. Перезапускать приложение не нужно.
Вы: Загрузи
buyers.csvкак CRM-сегмент «Покупатели 2026» и остановись после загрузки.Ассистент: Загружает файл — в аккаунте появляется сегмент со статусом
uploaded, показывает его id, имя и параметры и ждёт отдельного подтверждения. После подтверждения обработка идёт не мгновенно, поэтому статус проверяется через список сегментов.
Содержание
- Быстрый старт
- Что можно поручить
- Как это работает
- Что может изменить данные
- Подключение и настройка
- Данные и телеметрия
- Ограничения
- Техническая документация
- Поддержка
Быстрый старт
Нужны Node.js 20 или новее и аккаунт Яндекс Аудиторий. Сервер запускается через npx, поэтому отдельно устанавливать пакет не требуется. Токен заранее не нужен — подключение проходит прямо в диалоге; для CI можно задать готовый токен, см. Подключение и настройка.
- Добавьте сервер в AI-приложение — ниже открыт пример для Codex, остальные приложения собраны в сворачиваемые инструкции.
- Напишите: «Подключи Яндекс Аудитории». Ассистент проведёт через вход в Яндекс и проверит доступ к сегментам.
- Начните с безопасного запроса, например: «Покажи мои сегменты в Яндекс Аудиториях: названия, типы и текущие статусы».
Codex
Через интерфейс приложения:
-
Откройте Settings → MCP servers.
-
Нажмите Add server.
-
Выберите STDIO, затем укажите команду запуска
npx -y mcp-yandex-audience@latest. -
Нажмите Save, затем Restart.
Через командную строку:
codex mcp add yandex-audience -- npx -y mcp-yandex-audience@latest
Проверьте подключение:
codex mcp list
Затем в чате Codex попросите: «Подключи Яндекс Аудитории».
Claude Code
claude mcp add --transport stdio --scope user yandex-audience -- npx -y mcp-yandex-audience@latest
Проверьте подключение:
claude mcp list
Затем начните диалог с просьбы подключить Яндекс Аудитории.
Claude Desktop
Актуальный официальный путь — Settings → Extensions. Для пользовательского desktop extension откройте Advanced settings → Extension Developer → Install Extension…, выберите файл .mcpb и следуйте подсказкам.
Этот репозиторий сейчас публикует npm-пакет со stdio и пока не содержит .mcpb. Поэтому используйте приведённый ниже JSON stdio-конфиг как fallback только в сборках Claude Desktop, где ещё поддерживается локальная конфигурация:
{
"mcpServers": {
"yandex-audience": {
"command": "npx",
"args": ["-y", "mcp-yandex-audience@latest"]
}
}
}
В таких сборках сохраните его в ~/Library/Application Support/Claude/claude_desktop_config.json на macOS или %APPDATA%\Claude\claude_desktop_config.json на Windows.
После сохранения откройте новый диалог и попросите подключить Яндекс Аудитории.
Cursor
Пользовательский локальный сервер добавляется в Cursor через файл mcp.json:
- macOS и Linux:
~/.cursor/mcp.json - Windows:
%USERPROFILE%\.cursor\mcp.json
{
"mcpServers": {
"yandex-audience": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-yandex-audience@latest"]
}
}
}
В чате Cursor сервер появится среди доступных инструментов. Попросите подключить Яндекс Аудитории и пройдите вход через Яндекс.
VS Code
Откройте палитру команд и выполните MCP: Open User Configuration. VS Code создаст пользовательский файл MCP. Добавьте в него:
{
"servers": {
"yandex-audience": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-yandex-audience@latest"]
}
}
}
Проверьте запуск командой MCP: List Servers, затем откройте чат и попросите подключить Яндекс Аудитории.
Что можно поручить
Проверить, что уже есть в аккаунте
- Посмотреть сегменты, их типы, статусы и идентификаторы.
- Найти сегменты, которые ещё обрабатываются, завершились ошибкой или содержат недостаточно данных.
- Посмотреть пиксели, их охваты за 7, 30 и 90 дней, а также сегменты, созданные на их основе.
- Узнать, кому выдан доступ к конкретному сегменту.
Подготовить сегмент из CRM
- Загрузить CSV с колонками
email,phone,ext_idилиexternal_id. - Загрузить TSV/TXT с идентификаторами устройств, MAC-адресами или SHA256-хешами.
- Проверить параметры загруженного сегмента перед подтверждением.
- Сохранить сегмент с нужным именем и типом данных, затем проверить ход обработки.
Собрать новую аудиторию
- Создать похожую аудиторию на основе существующего сегмента: от более похожей и узкой до более широкой.
- Собрать сегмент посетителей по пикселю за период от 1 до 90 дней.
- Добавить к пиксельному сегменту условия по числу срабатываний и UTM-меткам.
Работать с пикселями и доступами
- Создать или переименовать пиксель.
- Выдать коллеге или агентству доступ к сегменту: только просмотр или редактирование.
- Отозвать доступ, когда он больше не нужен.
Использовать дополнительные возможности API
raw_request нужен для операций, у которых пока нет отдельного инструмента: например, повторной обработки сегмента или восстановления пикселя. Это инструмент для технических специалистов: он может выполнить запись или удаление, поэтому для обычных задач лучше использовать отдельные команды выше.
Полные входные параметры, ответы и статусы собраны в справочнике инструментов.
Как это работает
Сервер работает с тремя сущностями Яндекс Аудиторий:
| Сущность | Что с ней можно делать |
|---|---|
| Сегмент | Список со статусами обработки, загрузка из CRM-файла, похожая аудитория, сегмент по пикселю, переименование и удаление. |
| Пиксель | Список с охватами за 7, 30 и 90 дней, создание, переименование и удаление. |
| Доступ | Кому доступен сегмент; выдача и отзыв прав на просмотр или редактирование. |
Сегмент из файла создаётся в два шага:
- Вы передаёте CSV, TSV или TXT-файл — путь к локальному файлу или его содержимое, но не оба источника одновременно. Сервер загружает файл в Яндекс Аудитории, и в аккаунте появляется объект со статусом
uploaded. - Отдельной командой вы подтверждаете имя, тип данных и параметры обработки. Только после этого Яндекс Аудитории начинают обработку.
Готовность появляется не мгновенно: сервер проверяет статус через список сегментов, где возможны состояния обработки, ошибки или недостаточного объёма данных. Для CRM используйте CSV с заголовками email, phone, ext_id или external_id. Для хешированных данных API принимает SHA256; MD5 не поддерживается.
Сервер не управляет рекламными кампаниями, ставками и объявлениями в Яндекс Директе. Готовый сегмент подключается к кампании вне этого MCP-сервера.
Что может изменить данные
Яндекс Аудитории — API с операциями записи. MCP-сервер передаёт AI-клиенту информацию о том, какие инструменты читают, изменяют или удаляют данные, но правила подтверждения задаёт само AI-приложение.
| Действие | Что происходит | Изменяет аккаунт |
|---|---|---|
| Просмотр сегментов, пикселей и доступов | Читает доступные объекты и их состояние | Нет |
| Загрузка файла | Создаёт объект сегмента со статусом uploaded | Да |
| Подтверждение сегмента | Сохраняет параметры и запускает обработку | Да |
| Создание похожего или пиксельного сегмента | Создаёт новый сегмент | Да |
| Переименование сегмента или пикселя | Изменяет название существующего объекта | Да |
| Выдача и отзыв доступа | Меняет права пользователя на сегмент | Да |
| Удаление сегмента | Удаляет сегмент без возможности восстановления | Да, необратимо |
| Удаление пикселя | Удаляет пиксель; восстановление возможно отдельным методом API | Да |
Сервер не объединяет загрузку файла и подтверждение в один скрытый вызов. При сетевой ошибке или ответе сервера 5xx он не повторяет операции записи автоматически: операция могла уже выполниться. В такой ситуации сначала проверьте состояние через список сегментов, пикселей или доступов.
Подключение и настройка
Для обычного использования токен заранее не нужен:
- В чате попросите подключить Яндекс Аудитории.
- Откройте ссылку на Яндекс OAuth под аккаунтом, которому принадлежат нужные сегменты (или которому они доверены).
- Подтвердите доступ и пришлите код ассистенту. Он одноразовый, действует 10 минут и меняется на токен только внутри работающего сервера.
Сервер использует PKCE: код из чата сам по себе нельзя обменять на токен. Полученный токен хранится локально в ~/.config/mcp-yandex-audience/credentials.json с правами только для владельца, а доступ продлевается автоматически. Сервер просит два права — чтение и изменение сегментов Аудиторий; кампании, объявления и остальные сервисы Яндекса ему недоступны.
Проверить состояние — попросите «покажи статус подключения к Аудиториям», отключить — «отключи Аудитории». Выданный приложению доступ отзывается в Яндекс ID.
Для CI и нестандартных установок доступна настройка через переменные окружения:
| Переменная | Назначение |
|---|---|
YANDEX_AUDIENCE_TOKEN | Готовый OAuth-токен; имеет приоритет над подключением из чата. Такой токен сервер не обновляет и не удаляет. |
YANDEX_AUDIENCE_OAUTH_CLIENT_ID | Client ID собственного OAuth-приложения вместо приложения A1-x-Tech; Redirect URI — https://oauth.yandex.ru/verification_code. |
YANDEX_AUDIENCE_API_HOST | Хост API; по умолчанию https://api-audience.yandex.ru, для международных аккаунтов можно указать .com. |
YANDEX_AUDIENCE_TIMEOUT_MS | Таймаут одного запроса; по умолчанию 60 000 мс. |
YANDEX_AUDIENCE_MAX_RETRIES | Число повторов при ограничении API; по умолчанию 3. Для 5xx и сетевых ошибок повторяются только запросы чтения. |
ASKADS_TELEMETRY | 0, false, off или no отключает анонимную телеметрию. |
Готовый токен для YANDEX_AUDIENCE_TOKEN можно получить через собственное OAuth-приложение:
- Зарегистрируйте приложение на oauth.yandex.ru/client/new.
- Выберите права Яндекс Аудиторий: создание сегментов и изменение параметров своих и доверенных сегментов и чтение параметров своих и доверенных сегментов.
- Получите OAuth-токен — для разработки подойдёт инструкция по отладочному токену — и передайте его серверу в
YANDEX_AUDIENCE_TOKEN.
Токен привязан к аккаунту Яндекса: сервер увидит только собственные и доверенные сегменты владельца токена. Такой токен хранится открытым текстом в конфигурации AI-клиента — относитесь к нему как к паролю и не добавляйте конфигурацию с реальным токеном в Git. Подробнее — в официальной документации по авторизации API Яндекс Аудиторий.
Данные и телеметрия
Сервер запускается на вашей машине и обращается к api-audience.yandex.ru напрямую. OAuth-токен добавляется только к запросам Audience API — даже raw_request принимает относительный путь, а переход на посторонний хост блокируется. При входе из диалога сервер дополнительно ходит на oauth.yandex.ru, чтобы обменять код подтверждения и продлевать доступ; при загрузке через file_path читает указанный локальный файл и передаёт его в Яндекс Аудитории.
По умолчанию сервер отправляет на usage.gistrec.cloud анонимную техническую телеметрию: запуск сервера (в том числе без настроенного токена), имя вызванного инструмента и код причины проблемы с конфигурацией — вместе со случайным идентификатором установки, версией пакета, именем и версией AI-клиента, версией Node.js и операционной системой. OAuth-токен, данные аккаунта, содержимое файлов, аргументы инструментов и тексты запросов не читаются и не отправляются. Отправка выполняется в фоне с таймаутом 2 секунды и не влияет на работу сервера; реализация находится в src/telemetry.ts.
Чтобы отключить телеметрию, задайте переменную окружения:
ASKADS_TELEMETRY=0
Ограничения
- Обработка не мгновенная. После подтверждения сегмента проверяйте его состояние через список сегментов: возможны статусы обработки, ошибки и недостаточного объёма данных.
- Удаление сегмента необратимо. Для пикселя API предусматривает восстановление отдельным методом, доступным через
raw_request. - Один сегмент нельзя запросить отдельно. API возвращает общий список — сервер находит нужный сегмент по id в нём.
- Минимум 100 записей и максимум 1 ГБ. При подтверждении меньшего сегмента можно передать
check_size: false, но такой сегмент нельзя использовать в Директе, пока размер не вырастет. - Квоты API. До 30 запросов в секунду с IP и 5 000 запросов в сутки на логин. Создание и изменение сегментов: до 10 в минуту, 100 в час и 500 в сутки. Ошибочные запросы тоже расходуют квоту.
- При временном ограничении API. Сервер повторяет запрос с задержкой до числа попыток из
YANDEX_AUDIENCE_MAX_RETRIES; ответ 429 не означает, что нужно создавать объект заново. - Нет фонового наблюдения. Сервер работает только во время вызова из AI-приложения и сам не ждёт завершения обработки. Если ваше приложение поддерживает задания по расписанию, настройте периодическую проверку статусов через список сегментов.
Техническая документация
- Каталог MCP-возможностей — страницы по пользовательским задачам для каждого инструмента.
- Все инструменты — входные данные, ответы, статусы и ограничения.
- Разработка — локальный запуск, тесты, сборка и read-only smoke-проверка.
- Публикация — выпуск npm-пакета и листинг в каталогах MCP.
- npm-пакет — опубликованная версия
mcp-yandex-audience. - API Яндекс Аудиторий — официальная документация.
Поддержка
Нашли ошибку или не хватает сценария? Создайте issue или напишите в Telegram.