Wildberries商品搜索服务

Wildberries MCP服务提供商品搜索、商品详情查询和用户评论读取功能,通过直接调用Wildberries的公开API实现快速响应。

  • by eduard256
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 eduard256/wb-mcp-server

使用说明

Wildberries MCP Server

MCP-сервер для поиска товаров на Wildberries (wildberries.ru). Даёт ИИ три инструмента: искать товары, читать карточку и читать отзывы.

У Wildberries есть публичный JSON API, поэтому браузер не нужен — сервер ходит прямо в search.wb.ru, card.wb.ru и feedbacks.wb.ru обычным HTTP и парсит готовый JSON. Образ лёгкий, ответы быстрые.

Инструменты

  1. wb_search — поиск товаров. Возвращает название, цену (в рублях, числом), старую цену, рейтинг, число отзывов, бренд, продавца, картинку и ссылку.
  2. wb_product_details — карточка товара по артикулу (nm) или ссылке. Цена, старая цена, наличие, рейтинг, продавец, цвета, фото, характеристики, описание.
  3. wb_product_reviews — отзывы покупателей: автор, оценка, текст, плюсы, минусы, дата, цвет/размер.

Запуск через Docker

Образ опубликован в Docker Hub.

docker run -i --rm --init eduard256/wb-mcp-server:latest

Флаги: -i — stdin для stdio, --init — корректное завершение процесса. Chromium не нужен — образ на node:20-slim весит ~80 МБ.

Установка в ваш клиент

Инструкция под каждую систему — отдельным файлом:

Как это работает

  • src/wb.js — HTTP-клиент к публичному API Wildberries. Запросы идут через системный curl (Node-fetch WB отбивает по TLS-фингерпринту, curl проходит). Троттлинг между запросами + ретрай с джиттером на 429/403.
  • src/parse.js — чистые парсеры JSON (search / detail / card.json / feedbacks). Без сети.
  • src/index.js — MCP-сервер по stdio. Логи идут только в stderr (stdout занят протоколом JSON-RPC).

Важно:

  1. WB режет частые запросы (HTTP 429/403). Сервер сам выдерживает паузу и повторяет — но при шквале запросов ответы будут медленнее.
  2. Эндпоинт деталей — card.wb.ru/cards/v4/detail (v2 больше не работает).
  3. Описание и характеристики берутся из CDN card.json на шардах basket-XX.wbbasket.ru; номер шарда вычисляется по артикулу.
  4. Артикул (nm) для отзывов не подходит — отзывы лежат по root (imtId), который берётся из ответа деталей.

Локальная разработка

npm install
node src/index.js          # MCP-сервер по stdio