
Marketplaces MCP (RU) — Wildberries, Ozon, Yandex Market, Avito
io.github.ilyautovPublished by GitHub account ilyautovv0.6.1Updated Nov 3, 2026
Wildberries, Ozon, Yandex Market & Avito seller APIs for AI assistants: schema-driven, safety-gated.
Overview
Connects an AI assistant to Wildberries, Ozon, Yandex Market and Avito seller APIs so it can read sales, stock, prices, finances and reviews, and change data…
- What you can do
- Search, describe and call seller API methods across the four marketplaces, with raw-path access and automatic pagination
- Read sales, orders, stocks, prices, finances, product cards, reviews and questions
- Create and update data such as prices, stocks and orders, gated behind an explicit write confirmation
- Delete or irreversibly change data, requiring two separate confirmations
- Run guided step-by-step scenarios such as sales pulse, stock health, price audit, reorder planning, ABC analysis and review summaries
- Manage multiple seller cabinets and switch between them from the chat
- When to use it
- Useful for sellers who run shops on several Russian marketplaces and want an assistant to pull real figures from the seller APIs instead of guessing, compare platforms, or prepare price and stock changes. Also handy for exploring which API methods exist before calling them.
- Requirements
- Runs locally over stdio via npx, uvx or Docker (Python 3.10+ for the source install). Seller API credentials are needed per marketplace: OZON_CLIENT_ID and OZON_API_KEY, WB_API_TOKEN, YANDEX_MARKET_API_KEY, and AVITO_CLIENT_ID with AVITO_CLIENT_SECRET; Ozon Performance uses OZON_PERF_CLIENT_ID and OZON_PERF_CLIENT_SECRET. Keys can also be stored in a local cabinets file. Network access to the marketplace APIs is required.
Installation
In SourceWeft
- Open Marketplaces MCP (RU) — Wildberries, Ozon, Yandex Market, Avito in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
marketplaces-mcp-ru: Wildberries, Ozon, Яндекс Маркет и Авито в вашем ИИ-ассистенте
Подключает ИИ-ассистента (Claude, Cursor, Codex, Cowork и др.) напрямую к вашим кабинетам Wildberries, Ozon, Яндекс Маркета и Авито. Вы спрашиваете обычными словами, агент берёт продажи, заказы, остатки, цены, финансы и отзывы прямо из API маркетплейса (WB Seller API, Ozon Seller API, Yandex Market Partner API, Avito API), а не выдумывает цифры.
[PyPI] [MCP Registry] [License: MIT] [Методов] [Сайт] [Звёзды] [Docker] [Install in VS Code] [Install in Cursor]
Быстрый старт, без установки в систему:
Зачем
Вы продаёте на нескольких площадках, а данные лежат в разных кабинетах. Продажи, остатки, цены, финансы, отзывы: всё руками, по очереди, через несколько браузеров. Обычный ИИ-ассистент тут мало помогает. Либо ходит через браузер и спотыкается о капчу, либо называет цифры, которые звучат уверенно, но взяты из воздуха.
Этот проект решает задачу иначе. Он даёт ассистенту прямой доступ к API всех четырёх площадок:
- Цифры приходят из ответа Wildberries, Ozon, Яндекс Маркета и Авито, с указанием источника и полей. Не пересказ, не догадка.
- Перед тем как менять цену или остаток, агент просит подтверждение. Случайно «уронить цену в три раза» не получится.
- Никакого браузера и капчи: обращение идёт по токену кабинета напрямую.
Спросите обычными словами: «покажи продажи за неделю на всех площадках», «что пора дозаказать», «сравни мои цены с рынком». Агент подберёт нужный метод или готовый сценарий и проведёт по шагам.
⚠️ Версия alpha. Помогает с операционкой продавца, но это инструмент, а не замена аналитику. Проверенное вручную ядро (продажи, остатки, цены, финансы, отзывы) выверено на реальных кабинетах. Остальные методы импортированы из спецификаций и служат картой для разведки. Подробности в разделе Оговорки.
Что можно спросить
Просто пишите агенту в чат по-русски:
Не знаете, с чего начать, скажите «что ты умеешь по моему кабинету». Агент покажет готовые сценарии: для Wildberries это пульс продаж, здоровье остатков, аудит цен, планировщик дозаказа, ABC-анализ, сводка отзывов; для Ozon: риск out-of-stock, анализ цен, юнит-экономика, синхронизация каталога, аудит контента и те же ABC и отзывы; для Яндекс Маркета: риск out-of-stock, анализ цен, разбор отзывов, индекс качества; для Авито: заказы на подтверждение, здоровье объявлений, расходы против результата, разбор отзывов. Каждый сценарий это пошаговый рецепт с трактовкой результата и типичными ошибками.
Установка
Подробный гайд под любую аудиторию лежит в QUICKSTART.md. Несколько способов, результат один.
- Claude Desktop в один клик (
.mcpb). Возьмитеmarketplaces-mcp-ru-v<версия>.mcpbиз GitHub Releases и дважды кликните — Claude Desktop сам поставит расширение и спросит ключи в окне настроек. Без терминала и без Gatekeeper. Один бандл поднимает WB + Ozon + Ozon Performance + Яндекс Маркет + Авито сразу. - Попросить своего ИИ (без терминала). Откройте Claude или Cowork и скажите: «установи marketplaces-mcp-ru». Агент проведёт по встроенному скиллу
marketplace-mcp-install/. В песочнице Cowork финальный клик остаётся за вами; в Claude Code установка проходит полностью сама. - Скиллом из каталога.
npx skills add ilyautov/marketplaces-mcp-ruкладёт агенту скиллmarketplaces-mcp: дальше он сам ставит сервер, спрашивает ключи и проверяет установку. Работает в Claude Code, Cursor и всём, что читает Agent Skills. - Скачать и кликнуть. Возьмите
marketplaces-mcp-ru-v<версия>.zipиз GitHub Releases, распакуйте, дважды кликнитеinstall.command(macOS) илиinstall.bat(Windows), вставьте ключи. На macOS при первом запуске: правый клик → «Открыть» → «Открыть» (так обходится Gatekeeper для скачанного файла). - Через терминал.
git clone https://github.com/ilyautov/marketplaces-mcp-ru, затемpython3 install.py --client <ваш-клиент>. - Для разработчиков (
npx/uvx).npx -y marketplaces-mcp-ru— та же строка, что в конфигах всех MCP-клиентов; Python ставить не нужно, запускалка с npm сама подтянетuvи нужную версию с PyPI.uvx marketplaces-mcp-ruзапускает объединённый сервер прямо из PyPI; отдельные серверы — консольными командамиwb-mcp/ozon-mcp/ozon-perf-mcp/yandex-mcp/avito-mcp. Ключи — через переменные окружения или те же*_add_cabinetиз чата. - VS Code / Cursor в один клик. Кнопки «поставить» над этим текстом открывают редактор и прописывают
uvx marketplaces-mcp-ruв его конфиг MCP; VS Code сразу спросит ключи, в Cursor их вписывают в открывшийся JSON. - Docker.
docker run -i --rm -e WB_API_TOKEN=… -e OZON_CLIENT_ID=… -e OZON_API_KEY=… ghcr.io/ilyautov/marketplaces-mcp-ru— тот же объединённый сервер по stdio, без Python на машине. Этот образ и указан в MCP Registry как OCI-пакет. Для удалённого доступа добавьте-e MCP_TRANSPORT=http -e MCP_HTTP_HOST=0.0.0.0 -p 8000:8000: сервер поднимется наhttp://…:8000/mcp(Streamable HTTP). Своей авторизации у HTTP-режима нет, закрывайте его прокси или файрволом.
Только один маркетплейс. Если четыре площадки сразу не нужны, рядом лежат отдельные пакеты: тот же сервер и тот же каталог, но один маркетплейс и имя, которым его ищут. Код общий, он приходит зависимостью отсюда.
Установщик копирует приложение в стабильную папку (~/.marketplace-mcp/app) и привязывает конфиг туда, так что исходную папку потом можно перемещать или удалять, ничего не сломается. Ни pip install, ни ручной правки JSON: зависимости ставятся сами при первом запуске. От вас нужны только ключи. Поддерживается 4 клиента через --client: claude-desktop и opencode получают готовый конфиг, claude-code и codex получают готовые команды mcp add.
Где взять ключи. Wildberries: seller.wildberries.ru → Настройки → Доступ к API. Ozon: seller.ozon.ru → Настройки → API-ключи. Яндекс Маркет: partner.market.yandex.ru → Настройки → Доступ к API (Api-Key). Авито: avito.ru → Для бизнеса → Интеграции → API (client_id + client_secret). Ключи хранятся в ~/.marketplace-mcp/cabinets.json локально (chmod 600), в репозиторий и в чат не попадают. Можно подключить несколько магазинов и переключаться между ними прямо из чата (*_add_cabinet / *_use_cabinet).
Проверка после установки: одна команда показывает по всем пяти серверам, сколько инструментов и методов загрузилось, найдены ли ключи и где (кабинет / env), а с --live делает по одному реальному read-вызову в каждый кабинет.
Код возврата 0 означает, что все настроенные кабинеты ответили. Секреты в вывод не попадают.
Безопасность
Ключ кабинета двигает цены, остатки и деньги, поэтому каждый метод заранее размечен по уровню риска:
read: чтение, выполняется сразу;write: изменение, требуетconfirm_write=true;destructive: удаление, требуетconfirm_write=trueиi_understand_this_modifies_data=true.
Проверка работает локально, наружу без подтверждения ничего не уходит. Что метод-мутация случайно не пометится как read, проверяет тест в CI (test_safety_catalog.py): сборка падает, если в каталог попадёт PUT, PATCH или DELETE с уровнем read. Дополнительно call_method подстраховывается на лету: даже устаревшая пометка read на мутирующем запросе не опустит проверку ниже write.
Подробнее в SECURITY.md. О найденной уязвимости пишите на [email protected] с темой SECURITY: marketplaces-mcp-ru, без публичного issue.
Как это устроено
Под капотом пять MCP-серверов (Wildberries, Ozon Seller, Ozon Performance, Яндекс Маркет, Авито) на общем ядре. Вместо «один инструмент на каждый эндпоинт» (это 300+ инструментов, в которых агент теряется) сделано иначе: универсальные мета-инструменты поверх каталога методов. Полное покрытие API при компактной поверхности.
Мета-инструменты одинаковы на всех серверах (префикс wb_, ozon_, ozon_perf_, ym_ или avito_):
Плюс типизированные инструменты для частых задач (wb_get_sales, wb_get_stocks, ozon_get_products, ozon_get_prices, ym_get_orders, ym_set_price, avito_get_orders, avito_update_stock и др.) и инструменты управления кабинетами.
Каталог собран schema-driven из официальных OpenAPI-спецификаций:
Ядро (продажи, остатки, цены, финансы, отзывы) выверено вживую; остальное импортировано из спецификаций, а get_raw достаёт то, чего ещё нет в каталоге. Что покрыто по бизнес-областям:
Яндекс Маркет и Авито (добавлены в 0.5.0):
Полный список секций покажет *_list_sections прямо в чате, точечный поиск делает wb_search_methods("остатки").
Разработка
Раздел для тех, кто хочет покопаться в коде, выверить методы боем или прислать PR.
Структура. Вся общая логика живёт в core/, серверы это тонкие обёртки над ней:
Локальный запуск и тесты. Нужен Python 3.10+. Зависимости (mcp, httpx, pyyaml) serve.py ставит сам в локальный .venv при первом запуске.
Транспорт. По умолчанию stdio, как ждут Claude Desktop, Cursor, Codex и Claude Code. MCP_TRANSPORT=http переключает любой из серверов (и объединённый) на Streamable HTTP: MCP_HTTP_HOST (по умолчанию 127.0.0.1), MCP_HTTP_PORT (8000), MCP_HTTP_ALLOWED_HOSTS — список допустимых заголовков Host через запятую, защита от DNS-rebinding при публикации наружу. Аутентификации у HTTP-режима нет: кто дотянулся до порта, тот работает с вашими ключами. Держите его на localhost или за прокси.
Как устроен и растёт каталог. endpoints.yaml собирается schema-driven из официальных OpenAPI-спеков: ingest_specs.py (WB) и ingest_ozon.py (Ozon) тянут пути, derive_pagination.py и fix_items_path_from_examples.py настраивают пагинацию и items_path, sync_swagger.py подтягивает свежие спеки. Запись каждого метода описывает operation_id, метод, хост, путь, scope, уровень риска и пагинацию. Импорт идемпотентный и аддитивный: курированные уровни риска и описания не перетираются. validate_items_path.py это live-валидатор (гонять локально на своих ключах), package_release.py собирает чистый версионный zip, smoke_mcp.py это дымовой тест.
Что особенно полезно прислать:
- Боевую выверку HTTP-глаголов. Пути у импортированных методов надёжны, а глаголы нет: live-проба находила «GET», которые на деле POST (405). Поправьте
*/endpoints.yamlи приложите доказательство: код ответа или ссылку на доку. - Новые сценарии в
*/workflows.yaml: пошаговые рецепты с трактовкой и типичными ошибками, каждый шаг сверяется с каталогом. - Уточнение safety-классификации, если метод размечен слишком мягко или строго.
Полностью правила в CONTRIBUTING.md. Перед PR прогоните офлайн-тесты и --selfcheck всех серверов; изменили число методов или тулов, поправьте цифры в README.
Безопасность репозитория. Гайдлайны для людей и агентов лежат в AGENTS.md. Секреты живут только локально: .env, cabinets.json, ключи и сертификаты закрыты .gitignore, а pre-commit прогоняет scripts/security/forbid_sensitive_files.py и scan_mcp_config.py. Что мутирующий метод не попадёт в каталог с уровнем read, держит тест test_safety_catalog.py: сборка падает на PUT, PATCH или DELETE с пометкой read. Файл .mcp.json отслеживается намеренно, это манифест плагина без секретов.
Частые вопросы
Нужно ли уметь программировать? Нет. Есть установка «попроси своего ИИ» и установка двойным кликом. pip install и правка JSON не нужны, зависимости ставятся сами, от вас только API-ключ.
Это безопасно? Куда уходят ключи? Сервер работает там же, где ваш агент, локально. Ключи лежат в ~/.marketplace-mcp/cabinets.json (chmod 600), в репозиторий и в чат не попадают. Любое изменение в кабинете (цена, остаток) происходит только с вашим подтверждением.
Чем это лучше парсеров и браузерных ботов? Это прямой Seller API по токену, а не разбор веб-страниц: нет капчи, нет блокировок, данные приходят структурированными. Плюс защита от случайного изменения цены или остатка.
Это бесплатно? Да, открытый код под лицензией MIT. Берите, форкайте, дорабатывайте.
Работает ли с Яндекс Маркетом и Авито? Да, с версии 0.5.0. Яндекс Маркет подключается по Api-Key из кабинета партнёра (Partner API: заказы, товары, остатки, цены, отчёты, чаты, индекс качества). Авито — по паре client_id / client_secret из раздела «Интеграции» (заказы Авито Доставки, остатки и цены объявлений, статистика, отзывы, мессенджер, продвижение). Сервера yandex-mcp и avito-mcp работают и отдельно, и в составе объединённого.
Что такое MCP и зачем он продавцу? MCP (Model Context Protocol) — открытый стандарт, по которому ИИ-ассистент подключает внешние инструменты. Этот проект — MCP-сервер для маркетплейсов: он превращает API Wildberries, Ozon, Яндекс Маркета и Авито в инструменты, которые агент вызывает сам, по вашему вопросу на русском языке.
Оговорки
Сверяйте с живой документацией маркетплейсов:
- WB
Authorization: сервер шлёт raw-токен без префиксаBearer(подтверждено на практике). Если авторизация падает, проверьте это в первую очередь. - Импортированные из спецификаций методы: пути надёжны, HTTP-глаголы не всегда. Live-проба находила методы, помеченные GET, которые на деле POST (ответ 405). Считайте такие записи картой для разведки: подтверждайте глагол и тело по докам или вызывайте через raw-инструменты. Курированное ядро (7 категорий WB, 4 секции Ozon) и live-выверенный набор надёжны.
- Ozon дрейфует по версиям (list v3, attributes v4, prices v5). При 404 проверьте версию;
ingest_ozon.pyпере-выравнивает пути. - Ozon Performance: пока каталог-артефакт плюс OAuth-обвязка по докам. Контракт токен-эндпоинта вживую не выверен, нужны рекламные креды.
- Яндекс Маркет и Авито (новое в 0.5.0): каталоги собраны из официальных OpenAPI-документов, типизированные инструменты написаны по спецификации, но живой прогон на реальных кабинетах ещё не делался. Ошибки в именах полей возможны,
describe_methodи raw-инструменты помогут поправить запрос на месте. - Кабинет затеняет переменные окружения. Активный кабинет в
cabinets.jsonимеет приоритет над env. Необъяснимый 401 или «Client-Id should be positive integer»: первым делом проверьте этот файл.
Чем это не является
Это инструмент для ИИ-агента, а не онлайн-сервис «в один клик» и не замена аналитику. Решение, которое меняет цены, остатки или деньги, всегда остаётся за вами, защита лишь не даёт сделать это случайно. Проект на стадии alpha: ставьте, проверяйте на своих данных, экспериментируйте. Нашли проблему, заведите issue (без реальных ключей и данных кабинета).
Архитектура взяла сильные идеи зрелых marketplace-MCP (schema-driven каталог, проверка безопасности, единый формат ошибок, авто-пагинация), но реализована своим кодом, без зависимости от чужих библиотек.
Лицензия
MIT.
Кто это сделал
Илья Утов, лаборатория AI Frontier. Как эти инструменты устроены внутри, пишу в Telegram и LinkedIn.
Рядом стоят:
- humanizer-ru: убирает следы нейросети из русского текста
- small-business-ru: 34 скилла для малого бизнеса, считают налоги и проверяют контрагента по ИНН
- consilium-principis: совет мыслителей, где каждая цитата сверяется дословно
- hefest: химическая безопасность завода, целиком офлайн
- cordon: детерминированный слой между недоверенным контентом и действиями агента
Все проекты одним списком, разобранные по назначению: ilyautov.github.io. Исходники: github.com/ilyautov. Пригодилось, поставьте звезду: по ней это находят другие.
Source: README.md at commit ec21145
Tools
0Version history
1- v0.6.1LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts