
Marketplaces MCP (RU) — Wildberries, Ozon, Yandex Market, Avito
io.github.ilyautov由 GitHub 账号 ilyautov 发布v0.6.1更新于 Nov 3, 2026
Wildberries, Ozon, Yandex Market & Avito seller APIs for AI assistants: schema-driven, safety-gated.
概览
将 AI 助手接入 Wildberries、Ozon、Yandex Market 和 Avito 卖家 API,可读取销售、库存、价格、财务与评价,并在确认后修改数据。
- 可以做什么
- 搜索、查看说明并调用四个平台的卖家 API 方法,支持原始路径访问与自动分页
- 读取销售、订单、库存、价格、财务、商品卡、评价与问答
- 创建和修改价格、库存、订单等数据,需显式写入确认
- 删除或不可逆修改数据,需两次独立确认
- 运行分步场景,如销售脉搏、库存健康、价格审计、补货计划、ABC 分析与评价汇总
- 管理多个卖家账户并在对话中切换
- 适用场景
- 适合在多个俄罗斯电商平台经营店铺、希望助手从卖家 API 取真实数据而非猜测的卖家,用于跨平台对比或准备调价、调库存。也适合在调用前先了解有哪些可用 API 方法。
- 运行要求
- 以 stdio 本地运行,可用 npx、uvx 或 Docker(源码安装需 Python 3.10+)。需要各平台卖家 API 凭据:OZON_CLIENT_ID 与 OZON_API_KEY、WB_API_TOKEN、YANDEX_MARKET_API_KEY,以及 AVITO_CLIENT_ID 与 AVITO_CLIENT_SECRET;Ozon Performance 使用 OZON_PERF_CLIENT_ID 与 OZON_PERF_CLIENT_SECRET。密钥也可存入本地账户文件。需要访问各平台 API 的网络。
安装
在 SourceWeft 中
- 打开 控制台中的 Marketplaces MCP (RU) — Wildberries, Ozon, Yandex Market, Avito,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
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. Пригодилось, поставьте звезду: по ней это находят другие.
来源:README.md,提交 ec21145
工具
0版本历史
1- v0.6.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分