Справочник/Интеграции

MCP-коннектор — AI-сотрудник для вашего магазина

Подключите ChatGPT, Claude или другой совместимый MCP-клиент к данным вашего аккаунта и получайте отчёты, рекомендации по ценам и аудит дозаказов. AI-агент видит разрешённые продажи, остатки, конкурентов и юнит-экономику — и работает с этим как штатный аналитик.

Что это под капотом: сервис выставляет MCP-сервер (Model Context Protocol), к которому подключается AI-приложение. Авторизация — OAuth 2.1 с PKCE и DCR. Никаких токенов в открытую, всё по стандарту RFC 8707.


Что AI-агент умеет уже сейчас

После подключения у AI-агента появляются 59 инструментов. В Claude также доступны 3 готовых сценария (slash-команды).

⚠️ Права: чтение и изменение — разные разрешения

С версии 1.6.0 доступ разделён. На экране согласия видно, что именно вы разрешаете:

  • Только чтение — агент смотрит продажи, остатки, цены, юнит-экономику, конкурентов, отзывы. Ничего не меняет.
  • Чтение и изменение — вдобавок может править карточки и цены, публиковать ответы покупателям, включать и останавливать рекламу.

Предпросмотр (dry_run) работает всегда: он показывает, что произойдёт, но ничего не отправляет на площадку. Инструменты записи по умолчанию запускаются именно в режиме предпросмотра — отправка требует явного подтверждения.

Если вы подключали коннектор до версии 1.6.0 — переподключите его. Старый токен продолжит читать, но изменения выполнять не сможет.

Готовые сценарии Claude

В чате с Claude введите:

КомандаЧто делает
/atools weekly_pulseПолный еженедельный отчёт по магазинам: выручка, просадки, критические остатки, конкуренты, action-list
/atools price_auditАудит ценообразования с рекомендациями по конкретным SKU
/atools reorder_reviewОбзор реордеров — что заказать сегодня, что отложить

Можно передать параметры: /atools price_audit shop_id=...

Инструменты, которые AI-агент может вызывать сам

Когда вы спрашиваете «сколько я заработал на этой неделе?» или «почему товар просел в выдаче?» — агент сам выбирает нужные инструменты. Помечены: ✏️ — меняет данные на площадке (нужно разрешение на изменение).

Продажи и деньги

  • get_sales_summary(period) — выручка, единицы, возвраты, средний чек
  • list_top_products(period, by) — топ по выручке, единицам или просадке
  • get_business_pulse(period) — комплексная сводка одним вызовом
  • get_finance_snapshot(period) — начисления, комиссии, услуги, чистая выплата
  • get_returns_summary(period) — возвраты в штуках за зрелое окно

Каталог и карточки

  • list_products(search, brand, ...) — поиск по каталогу
  • get_product(sku) — карточка SKU: цена, продажи, остатки
  • products_full(...) — полные карточки из снапшотов: атрибуты, хештеги, габариты, ошибки
  • list_product_groups() — группы вариантов
  • get_variants(offer_id) — состав склейки и кто внутри забирает показы
  • get_media(offer_id) — сколько фото и чего не хватает по мнению Ozon
  • content_gaps() — аудит контента каталога: 9 проверок
  • product_errors() — ошибки карточек (окно «Ошибки в товаре»)
  • ✏️ update_product(changes, dry_run) — правка карточек с обязательным предпросмотром
  • ✏️ bulk_update_product(...) — массовая правка фоном; небольшой батч Claude дожидается сам
  • ✏️ refresh_products_full() — обновить снапшоты карточек из Ozon (точечный ресинк Claude дожидается сам)

Цены и юнит-экономика

  • get_unit_economics(sku) — себестоимость, цена, маржа, комиссия
  • get_pricing_health() — убыточные, мёртвые, низкомаржинальные позиции
  • get_price_history(sku, days) — история изменений цены
  • list_price_lists() — загруженные прайсы поставщиков
  • anchor_test(...) — прогноз цены покупателя при новом якоре
  • competitor_prices(sku) — наши листинги на Ozon / WB / Яндексе рядом

Выдача и продвижение

  • product_queries(...) — поисковые запросы товаров живьём из Seller API
  • get_sales_funnel(...) — где теряется покупатель: искали → смотрели → заказали
  • ranking_factors(offer_id) — что тянет товар вниз в выдаче
  • seo_overview(...) — SEO-картина: позиции недели, видимость, воронка, рекламный CTR, диагноз шага
  • seo_query_history(query) — динамика запроса: спрос/позиции по неделям, дневные позиции из выдачи, события атрибуции
  • seo_serp(query) — последний снимок выдачи по боевому запросу: кто выше нас и чем отличается
  • seo_keyword_coverage(offer_id) — покрытие карточки её запросами и канибализация склейки
  • seo_keyword_economics(query) — деньги запроса: GMV, медианная цена выдачи, маржа, вердикт «двигать ли»
  • seo_semantic_expand(offer_id) — упущенная семантика: дырки выдачи и запросы соседей по склейке
  • seo_propose_experiment(...) — предложить SEO-правку в Inbox (применяется только после подтверждения владельцем)

Реклама

  • get_ad_performance(period, group_by) — расходы, заказы, ДРР, ROMI
  • list_ad_campaigns() — кампании Ozon Performance: тип, статус, бюджеты
  • ✏️ set_ad_campaign_state(campaign_id, active) — запустить или остановить кампанию
  • list_promotions() — акции Ozon: где участвуем и куда можем войти

Склад и снабжение

  • get_stock_status(low_only=true) — остаток на СВОЁМ складе и что дозаказать (⚠ не склад Ozon: остаток площадки идёт отдельным полем)
  • list_reorder_recommendations() — что дозаказать
  • get_supply_plan() — что и в какой кластер везти
  • list_inbound_shipments() — контейнеры в пути
  • list_supplier_orders() — заказы поставщикам
  • list_fbo_supplies() — поставки FBO и черновики

Конкуренты

  • get_competitor_snapshot(sku) — наша цена против конкурентов
  • list_competitor_alerts(threshold_pct) — где мы дороже на ≥ N%

Отзывы

  • list_reviews(...) — отзывы с полным текстом, оценкой и признаком ответа
  • ✏️ draft_review_reply(analysis_id) — черновик ответа (покупателю не уходит)
  • ✏️ reply_to_review(analysis_id, text) — опубликовать ответ продавца

Диагностика

  • diagnose_sku(sku) — полный паспорт одного товара: продажи, маржа, цена, реклама, отзывы, остаток

Wildberries

  • get_wb_stock(low_only) — остатки WB по nm_id с разрезом по складам
  • list_wb_listings(...) — каталог WB-карточек

Авито

  • get_avito_status() — канал Авито: объявления XML-фида (публикуется / снято по остатку / не готово) и пайплайн оптовых сделок с суммами
  • get_avito_deals(status, limit) — оптовые сделки со строками, договорными суммами и номером складского Расхода

База знаний

  • search_knowledge(query) — поиск по справочной базе площадок
  • list_knowledge_topics() — оглавление базы
  • get_glossary_term(slug) — точное определение термина
  • ✏️ record_observation(...) — записать наблюдение о магазине
  • ✏️ give_feedback(...) — подтвердить или отклонить знание

Служебные

  • whoami — кто я, к чему есть доступ, лимиты
  • list_shops() — какие магазины подключены

✅ Инструменты работают только по тем кабинетам, которые вы отметили на экране согласия. Доступ к чужим магазинам невозможен даже внутри одной компании.

⚠️ Часть данных зависит от вашего тарифа Ozon: без подписки Premium не приходят позиции в выдаче и уникальные просмотры, без Premium Plus — метрики корзины, без «Управления отзывами» — сами отзывы. Инструменты прямо называют недостающую подписку, а не показывают пустоту молча.

Как подключить

Адрес MCP-сервера для всех клиентов: https://atools.vip/mcp

ChatGPT

  1. Откройте Settings → Apps → Advanced settings и включите Developer mode.
  2. Перейдите в Settings → Apps → Create.
  3. Укажите endpoint https://atools.vip/mcp.
  4. Запустите проверку инструментов и пройдите авторизацию.

Доступность custom MCP apps зависит от тарифа и настроек workspace. Актуальный путь настройки проверяйте в официальной документации OpenAI.

Claude

  1. Откройте claude.ai.
  2. Перейдите в Settings → Connectors → Add custom connector.
  3. Введите URL https://atools.vip/mcp.
  4. Пройдите авторизацию и выберите доступные магазины.

Другой MCP-клиент

  1. В настройках приложения добавьте remote MCP-сервер https://atools.vip/mcp.
  2. Убедитесь, что клиент поддерживает Streamable HTTP и OAuth 2.1 с PKCE и DCR.
  3. Пройдите авторизацию.
  4. Проверьте, что клиент получил список инструментов.

Авторизация

Откроется наша страница с consent screen — там показано:

  • Какой AI-клиент запрашивает доступ
  • Куда вас перенаправят после одобрения — точный домен (антифишинг). Если хост незнакомый — нажмите «Отменить»
  • ⚠️ Предупреждение если коннектор зарегистрирован недавно (< 7 дней) — лишний сигнал, что это может быть фишинг
  • Какие магазины Ozon и WB-аккаунты вы предоставляете (можно отметить только нужные)
  • Какие права получит агент: только чтение или чтение и изменение (правка карточек и цен, ответы покупателям, управление рекламой) — список прав на экране соответствует тому, что токен реально сможет делать

Нажмите «Разрешить». Клиент получит refresh token на 90 дней и access token на 15 минут; совместимые приложения обновляют его автоматически.

Проверка

В новом чате подключённого приложения напишите:

Покажи список моих магазинов через atools

AI-агент должен вызвать list_shops и вернуть список ваших Ozon-магазинов.

Если что-то пошло не так — см. раздел «Типовые проблемы» ниже.


Как пользоваться

Сценарий 1 — еженедельный CEO-отчёт

В понедельник утром:

/atools weekly_pulse

Агент за 1 запрос получит get_business_pulse (выручка + топ-движение + критические остатки) и потом может уточнить детали через list_top_products(by="drop_pct") для просевших SKU. Через 30-60 секунд у вас на руках:

  • Headline: что важно за неделю
  • Что стало хуже (с конкретными SKU и цифрами)
  • Что стало лучше
  • 3-5 рекомендуемых действий по приоритету

Сценарий 2 — аудит цен

/atools price_audit

Агент вызовет get_pricing_health, найдёт loss-leaders + low-margin SKU, для топ-10 проблемных проверит get_competitor_snapshot — и выдаст таблицу с рекомендацией повысить/понизить/архивировать.

Сценарий 3 — обзор дозаказов

/atools reorder_review

Сгруппирует:

  • Закажи сегодня — стоковт ≤ 7 дней без входящих поставок
  • На неделе — стоковт 7-14 дней
  • Можно отложить — > 30 дней
  • Сезонные риски — то, что может скоро вырасти

Сценарий 4 — свободные вопросы

Можно просто спрашивать естественным языком:

  • «Какие SKU потеряли больше 30% выручки на этой неделе?»
  • «Покажи топ-5 товаров по марже»
  • «У меня хватит остатков «Кружка-1» до конца месяца?»
  • «Сравни мои цены на SKU-12345 с конкурентами»

AI-агент сам выбирает инструменты.


Routines — Claude как сотрудник на расписании

Claude Code Routines (research preview, Anthropic, апрель 2026) запускают чат-сессию автоматически — по cron, API-триггеру или GitHub-событию. Ваш ноутбук может быть выключен.

Пример: еженедельный отчёт каждый понедельник

  1. В Claude Code: /schedule create
  2. Cron: 0 9 * * MON (каждый понедельник 9:00)
  3. Подключите коннектор atools.vip/mcp
  4. Промпт: /atools weekly_pulse
  5. Опционально: подключите Telegram connector от Anthropic — Claude будет сразу постить отчёт в ваш канал.

Лимиты Routines (на стороне Anthropic):

  • Pro: 5 запусков / день
  • Max: 15 / день
  • Team / Enterprise: 25 / день

⚠️ Важно про безопасность Routines

В обычном чате Claude спрашивает разрешение перед каждым tool-вызовом. В Routines — НЕ спрашивает. Поэтому пишущие инструменты вынесены в отдельное право «чтение и изменение» (выдаётся на экране согласия) и по умолчанию работают в режиме предпросмотра dry_run: расписание не сможет молча менять цены или отвечать покупателям — отправка требует явного подтверждения.


Управление подключениями

Где посмотреть, что AI-агент делает

В сервисе: меню аватар (правый верхний угол) → «Личные настройки» → «Подключения AI (MCP)» или прямо /account/settings. Там виден:

  • Список активных коннекторов с client_id и временем подключения
  • Сколько магазинов получил каждый
  • Счётчик запросов за 24ч + время последнего вызова
  • Кнопка «Отозвать» — мгновенно убивает refresh + все живые access JWT
  • Раскрывающийся раздел «Показать активность» — последние 50 tool-вызовов: time / tool / статус / размер ответа KB / латенси

«+ Подключить» открывает окно со скопируемым URL https://atools.vip/mcp и отдельными инструкциями для ChatGPT, Claude и других MCP-клиентов.

Если коннектор «застрял»

Зайдите на /account/settings и нажмите «Отозвать». Все access JWT текущей сессии моментально отправятся в revocation set, refresh token и цепочка его ротации будут аннулированы. Затем добавьте MCP-сервер заново в настройках своего AI-приложения.

Лимиты по умолчанию

  • 100 запросов в минуту на токен — защита от runaway-loop в Routine
  • 5000 запросов в день — потолок суточного «трафика» AI
  • 5 регистраций коннектора в минуту с одного IP (30/день) — защита от спама подключений; обычный пользователь регистрирует коннектор раз в год, так что лимит в 30/день — это с большим запасом

Лимиты можно увеличить на тарифе Team/Enterprise (V1.0.5).


Безопасность и приватность

Что AI-агент видит

  • Список ваших магазинов Ozon (из тех, что вы дали при consent)
  • Продажи, остатки, юнит-экономика, цены, конкурентные снапшоты, реорды, FBO supplies
  • Email и роль (owner / member / superuser) — чтобы знать, чьи данные показывать

Чего AI-агент НЕ видит и не получит даже теоретически

  • API-ключи Ozon / Performance API — никогда не выходят из БД
  • Telegram-бот токен — никогда
  • Чужие компании — токен жёстко связан с вашим company_id и подмножеством магазинов
  • Содержимое других подключений в вашем AI-приложении
  • Записи /admin и /superadmin — скрыты от MCP surface

Что записывается

Каждый tool-вызов пишется в mcp_tool_call_log:

  • token JTI (можно отозвать конкретный токен)
  • tool name + хеш параметров
  • размер ответа в байтах
  • латенси
  • статус (ok / unauthorized / rate_limited / tool_error)

Эти логи доступны вам в разделе «Показать активность» на /account/settings. Для compliance можно показать аудитору, какие данные AI-клиент запрашивал за последний месяц.

Почему мы не используем готовые OAuth-фреймворки

В коннекторе своя реализация OAuth 2.1 на PyJWT. FastMCP-builtin OAuth-прокси сейчас имеет открытый security advisory (токены скоупятся на base_url, а не на resource indicator). Мы пишем сами, чтобы:

  • Жёстко енфорсить RFC 8707 Resource Indicators (aud claim в JWT)
  • Криптографически изолировать MCP-токены от приложения: токены коннектора подписаны отдельным ключом и не работают против обычного API приложения — утёкший токен нельзя переиграть на запись в кабинет.
  • Полная прозрачность кода — security-критичный путь не должен зависеть от чужих обновлений

Дополнительные защиты consent UI

  • Имя коннектора и названия магазинов рендерятся через createElement + textContent — XSS даже от вредоносного DCR-имени невозможен
  • Строгий CSP (default-src 'self') + X-Frame-Options: DENY + Referrer-Policy: no-referrer на consent-странице
  • Первый пользователь, давший consent, становится владельцем коннектора и единственным, кто может его отозвать с /account/settings. Не «потерянных» коннекторов с NULL-владельцем больше нет.

Типовые проблемы

Не подключается — AI-приложение сообщает, что MCP-сервер недоступен

  1. Проверьте URL: должен быть https://atools.vip/mcp (без слеша в конце).
  2. Проверьте статус сервиса — иногда мы выкатываем обновления и /mcp моргает на 30-60 секунд.
  3. Если есть VPN или корпоративный прокси, приложение может не достучаться до нашего сервера. Попробуйте другую сеть.

Подключилось, но AI-агент говорит «у меня нет инструментов atools»

Проверьте, что приложение Ozon-Tools включено именно в текущем чате или workspace. В ChatGPT откройте Settings → Apps, в Claude — Settings → Connectors.

whoami возвращает пустой список магазинов

На consent screen вы не отметили ни одного. Отзовите коннектор и подключите заново.

Routine падает с ошибкой 429

Превышен дневной лимит 5000 запросов. Обычно это означает плохо написанный промпт, который зацикливает агента. Сократите частоту запуска или дайте Routine более конкретные инструкции «вызвать get_business_pulse один раз и остановиться».

Token не обновляется — приложение каждые 15 минут просит войти

Скорее всего, refresh token был отозван или клиент не поддерживает его обновление. Отзовите подключение в сервисе и добавьте MCP-сервер заново.

В отчёте по weekly_pulse пусто — «нет данных»

Проверьте, что синхронизация Ozon у вас отрабатывает (Аналитика → Продажи). Tool'ы читают из тех же таблиц.

Цена в get_price_history показывается с before=null

Самая первая запись цены не имеет «было». Это нормально для свежезавезённого SKU.


Для разработчиков и ops

Полная техническая документация по локальной разработке (cloudflared/ngrok туннели), staging cutover (28-пунктовый чеклист) и production rollout — в файле backend/MCP_DEV.md репозитория. Там же — troubleshooting: что делать если iss mismatch, 429 на легальном трафике, redis=no в проде.


Что появится в следующих релизах

  • Каталоги приложений — после периода стабильной работы подготовим публикацию в каталогах поддерживаемых AI-клиентов, чтобы URL не приходилось вводить вручную
  • Reviews data source — когда появится sync per-review строк, list_reviews начнёт возвращать реальные данные без изменения схемы tool'а
  • V2 — write tools — отдельный коннектор atools-write, который сможет менять цены, создавать поставки, отвечать на отзывы. Через elicitation (подтверждение от пользователя) или explicit-approval scope.
  • Plugin marketplace — пакет MCP + skills + готовые сценарии для поддерживаемых AI-платформ

Ссылки

  • OpenAI: подключение MCP-приложения в ChatGPT
  • Anthropic Custom Connectors docs
  • Claude Code Routines docs
  • Model Context Protocol spec
  • RFC 8707 — Resource Indicators — почему aud в JWT настолько важен

Смотрите также

Перенос карточек из Ozon в Wildberries →Сверка товаров: единый каталог по штрихкоду →Ценообразование: подбор цен и отправка в Ozon →Свой склад: с чего начать →Документы склада →Связь склада и поставок на FBO →Расходы из отгрузок маркетплейсам →Связь склада и закупок →Закупки: что заказать, заявки, контейнеры →Заказы поставщикам →Прайс-листы поставщиков →Сопоставления SKU →Поставки от поставщиков →Поставки на склады Ozon →Создание поставки FBO →Кластеры Ozon →Остатки на складах Ozon →Упаковка FBO →Возвраты к выдаче →Отложенная бронь слотов FBO →Авито: подключение кабинета и Автозагрузка →Контент-фабрика: с чего начать →Бренды →Каналы публикации →База знаний бренда →Мониторинг новостей →Темы и идеи →Очередь контента →Контент-календарь →История публикаций →Автопилот →Аналитика контента →Настройки контент-фабрики →Память агента: что это и зачем →Обучение: как скармливать тексты и файлы →Очередь review, findings, lineage →Уровни знаний: draft / confirmed / archived / static →Когда агент даёт неверный ответ →Insights (Reflector): дайджест паттернов →Industry review: кросс-арендные инсайты →