Перейти к содержимому

Яндекс Директ — 167 инструментов

Полное управление рекламными кампаниями Яндекс Директа через MCP-протокол. Кампании, объявления, ставки, статистика и многое другое. Поддерживаются несколько OAuth-подключений Яндекса в одном аккаунте LidFly через параметр connection_id.

/mcp

Подключение

Как настроить ваш ИИ

Подключение Claude Code, Codex, ChatGPT и других MCP-клиентов идёт через единый сервер https://lidfly.ru/mcp/v3 и OAuth-авторизацию в браузере. API-ключ вручную копировать не нужно.

Чтобы добавить кабинет Директа, в LidFly нажмите «Подключить Яндекс», а затем выберите нужный личный профиль или организацию porg-... на странице Яндекса. Вводить логин организации в LidFly не нужно: после проверки через Direct API сохраняется именно выбранный Яндексом логин.

Если выбранный профиль не подключён к Директу (код 513), LidFly предложит повторить подключение и выбрать организацию или другой профиль с кабинетом Директа. Если ранее работавший токен действительно отозван или устарел (код 53), подключение и его связи останутся в списке со статусом «Нужно переподключить».

При кратковременной перегрузке MCP сервер отвечает HTTP 429, заголовком Retry-After и JSON-RPC ошибкой -32002. Клиенту следует повторить запрос после указанной задержки без запуска нескольких параллельных повторов.

Открыть бесплатный видеокурс по настройке ИИ

Для новых подключений используйте единый endpoint /mcp/v3. Полный provider endpoint /mcp остаётся для legacy/advanced сценариев. Все meta-инструменты из tools/list, включая get_provider_context, resolve_campaign_scope, search_skills, get_skill и get_skill_resource, AI вызывает напрямую; в call_tool/call_write_tool передаются только внутренние инструменты, найденные через search_tools. Skill-ответ содержит точную версию и digest подписанного release и не меняет права, scope или подтверждение записи.

Если задача относится к известному ограничению публичного API Яндекса, search_tools добавляет к обычной ранжированной выдаче capability_notice.status=unsupported_by_provider_api с понятным следующим шагом. Предупреждение относится только к неподдерживаемой части задачи: похожие инструменты нельзя использовать вместо неё, но легитимные инструменты из смешанного запроса остаются доступны. Например, контент лендингов Директа на clients.site и турбо-страницах нельзя прочитать или изменить через API, CPM_VIDEO_CREATIVE нельзя создать или загрузить через API, а состав и порядок карусели старого TEXT_AD нельзя получить через Ads.get. Эти действия выполняются в веб-интерфейсе Директа. Такое ограничение не является ошибкой LidFly и не требует обращения в поддержку.

Личная поддержка доступна через это же MCP-подключение. При неожиданной внутренней ошибке read-only support_prepare_report подготавливает очищенный черновик с incident ID, но ничего не отправляет. ИИ обязан показать черновик и получить явное текстовое согласие; только затем support_send_error_report передаёт отчёт разработчикам LidFly (без ответа в поддержке), а support_send_message может отправить в поддержку текст до 20 000 символов и до пяти PNG/JPEG/WebP через support_request_image_upload. support_get_messages и support_get_attachment читают только диалог вошедшего пользователя. В v3 все шесть инструментов вызываются напрямую; выбранный рекламный кабинет или проект не меняет владельца переписки.

Если подключено несколько Яндекс-логинов или клиентских кабинетов, AI сначала вызывает get_provider_context. query остаётся свободным поиском по проекту, названию и ИНН, а точный логин Директа передаётся отдельно в client_login; оба поля можно указать вместе. Старые клиенты могут продолжать передавать синтаксически допустимый логин в query, но такой вызов всё равно проходит exact live-проверку. Готовый агентский scope с workspace_project_id + connection_id + client_login возвращается только после точного совпадения с каталогом Яндекса. Частичное совпадение не исполняется. Для устаревшей привязки проекта без nested scope_args собственный подтверждённый primary-логин однозначно восстанавливает connection_id без live-каталога; агентский логин проверяется live. Такие read-проверки не меняют данные проекта, выполняются параллельно в общем пятисекундном бюджете, а причины outage, not-found, неоднозначности, отсутствующего подключения и конфликта возвращаются в scope_issues. ИИ может автоматически повторить только помеченный безопасный read-only retry и не должен обходить manual_scope_review догадками.

Если Директ подключён в LidFly, но ещё не привязан к выбранному Пространству, это не конфликт и не сбой. Владелец или администратор проекта получает в provider_link_candidates проверенные кабинеты и готовое действие workspace_upsert_provider_entity. Кандидат пока не исполняем в проекте; ИИ может записать связь только через call_write_tool после выбора точного кабинета и подтверждения. Для основного кабинета передаётся только connection_id, без придуманного client_login. Участникам с доступом только на чтение несвязанные кабинеты владельца не показываются.

Если известна кампания, AI вызывает resolve_campaign_scope с ровно одним селектором: предпочтительно точным campaign_id, иначе полным точным campaign_name; частичное название не выбирает scope. Resolver сначала проверяет кампании Пространств, затем доступные provider scopes. Для точного ID он обращается к Reports только когда campaigns.get не нашёл кампанию; найденная только по статистике кампания получает access_mode=statistics_only и не разрешает write. Ответ различает resolved, ambiguous, not_observed, incomplete и failed, поэтому неполная пагинация или timeout не маскируются как отсутствие. В рабочие инструменты передаются только точные workspace_project_id, connection_id и при необходимости client_login из tool_args/scope_arguments. Для primary-кабинета используется только connection_id. Campaign write без workspace_project_id проходит только когда preflight нашёл единственный Workspace/provider scope. Инструменты Метрики используют counter_id, а не client_login.

Для агентских и управляемых Яндекс-аккаунтов список клиентов берётся через get_agency_clients: сначала из AgencyClients.get, а если Яндекс возвращает ошибку 54 — из live-поля Clients.get.ManagedLogins. Ошибка 53 в запросе с client_login сама по себе не отключает OAuth: LidFly проверяет основной кабинет без этого заголовка и переводит подключение в ошибку только если Яндекс отвергает и основной токен. Настоящее агентство с доступным AgencyClients.get стоит 4 990 руб. за 30 дней. Кабинеты из ManagedLogins тарифицируются по количеству: 990 руб. за каждый, максимум 4 990 руб. за одно подключение; пять кабинетов стоят 4 950 руб. Список для расчёта обновляется ежедневно. Если автоматический список пустой, точный client_login можно сохранить через подтверждаемый save_yandex_client_account в AI-клиенте или в разделе «Кабинеты Директа». Перед подтверждением AI проверяет актуальные условия через subscription_status: сохранение учитывается в количестве кабинетов и переводит подключение в агентский/представительский режим.

Вопросы и ответы

Можно ли через ИИ изменить лендинг Директа на clients.site?

Через публичный API Яндекса — нет. get_turbo_pages возвращает только метаданные опубликованных Турбо-страниц и связанные turbo.site-ссылки, но не каталог лендингов clients.site; get_leads выгружает только отправленные формы. API не отдаёт настройки блоков и не позволяет создать, изменить, опубликовать или удалить контент лендинга.

Откройте лендинг в интерфейсе Яндекс Директа и внесите изменения там. Если ваш ИИ-клиент отдельно умеет управлять уже авторизованным браузером, можно попросить его выполнить действия в интерфейсе с проверкой результата. Изменять вместо этого объявление или кампанию не нужно.

Можно ли работать с кампаниями из Мастера кампаний?

«Мастер кампаний» — интерфейс Яндекса, а не один тип объекта публичного API. Управлять через LidFly можно только кампанией, которую возвращает Campaigns API; само наличие кампании в веб-интерфейсе этого не гарантирует.

discover_all_campaigns показывает только кампании, по которым Reports API фактически вернул строки за выбранный период. Некоторые объекты Мастера там видны, другие могут не возвращаться даже по точному ID. Пустой ответ не означает, что кампании нет в интерфейсе.

Если объект найден только в Reports API, доступна агрегированная статистика, но не управление. Если его не вернули ни Campaigns API, ни Reports API, LidFly честно покажет not_observed и не будет предлагать фиктивные изменения.

Если вы работаете с собственным ИИ-ассистентом, Мастер кампаний обычно не нужен: это автоматический формат с минимумом рычагов, который часто расходует бюджет менее прозрачно. Для полного контроля через ИИ лучше переходить на кампании режима эксперта: ЕПК (UNIFIED_CAMPAIGN) с товарными или комбинаторными объявлениями либо обычные поисковые кампании, где можно точнее управлять площадками, структурой, минус-словами, ставками и аналитикой.

Как создать CPM-видеокреатив для медийного объявления?

Создайте или загрузите креатив в веб-интерфейсе Яндекс Директа. Публичный API не создаёт CPM_VIDEO_CREATIVE: метод creatives.add создаёт только VIDEO_EXTENSION_CREATIVE для видеодополнений.

После создания получите ID через creatives.get с типом CPM_VIDEO_CREATIVE и передайте его в add_ad или update_ad для CPM_VIDEO_AD_BUILDER. LidFly проверит тип до записи и не отправит несовместимый ID в Ads.add/Ads.update.

Можно ли перенести карусель старого объявления в комбинаторное?

Публичный API не возвращает состав и порядок карусели TEXT_AD. ad_images показывает общую библиотеку кабинета, но Associated=YES не доказывает связь с конкретным объявлением или позицию слайда.

Откройте исходную карусель в интерфейсе Директа и подтвердите нужные изображения либо заново загрузите исходники. После подтверждения update_responsive_ad может добавить или удалить до пяти изображений по точным AdImageHash.