wildberries-mcp-server
v0.2.4
Published
MCP server for Wildberries seller API
Readme
Wildberries MCP Server
MCP server для работы с API Wildberries продавца через stdio.
Сервер ориентирован на v1 сценарии:
- создание карточек товаров WB с характеристиками, размерами и SKU;
- загрузка медиа по прямым URL;
- чтение и установка цен;
- чтение и обновление остатков FBS на существующих складах продавца;
- lookup предметов, характеристик и справочников WB.
Требования
- Node.js
20+(24.xпроверен локально) pnpm10+- API-токен WB с категориями:
ContentPrices and DiscountsMarketplace
Установка
pnpm install
pnpm buildДля разработки:
pnpm devУстановка в Codex
В проект уже добавлены:
.codex-plugin/plugin.json.mcp.json- npm
binentrypointwildberries-mcp-server
Практически это даёт два способа установки.
Вариант 1. Как Codex plugin
Если Codex умеет ставить plugin из git-репозитория, достаточно установить этот репозиторий как plugin. Внутри plugin уже есть .mcp.json, который запускает сервер так:
npx -y wildberries-mcp-serverПосле установки plugin пользователю останется только задать WB_API_TOKEN.
Вариант 2. Как обычный MCP server через npx
Можно подключить сервер напрямую в MCP-конфиг:
{
"mcpServers": {
"wildberries": {
"command": "npx",
"args": ["-y", "wildberries-mcp-server"],
"env": {
"WB_API_TOKEN": "your-wb-token",
"WB_API_LOCALE": "ru"
}
}
}
}В этом варианте ручная установка зависимостей не нужна: npx сам скачает пакет.
Переменные окружения
WB_API_TOKEN— обязательный токен WildberriesWB_API_LOCALE—ru | en | zh, по умолчаниюruWB_API_TIMEOUT_MS— таймаут HTTP-запроса, по умолчанию30000WB_LOG_LEVEL—debug | info | warn | error, по умолчаниюinfo
Пример MCP-конфига
{
"mcpServers": {
"wildberries": {
"command": "node",
"args": [
"C:/Users/Behrooz/Desktop/Wildberries MCP/dist/index.js"
],
"env": {
"WB_API_TOKEN": "your-wb-token",
"WB_API_LOCALE": "ru"
}
}
}
}Доступные tools
wb_token_info— декодирует токен и показывает его тип/праваwb_ping— проверяетcommon,content,prices,marketplacewb_subjects_search— поиск предметов WBwb_characteristics_get— характеристики предмета поsubjectIdwb_content_directory_lookup— бренды, цвета, страны, сезоны, НДС, ТН ВЭД, полwb_card_create— создание карточек WB с raw payloadwb_cards_list— список карточек и размеровwb_card_errors_list— ошибки асинхронного создания/обновления карточекwb_media_upload— привязка изображений/видео по URL через/content/v3/media/savewb_media_file_upload— прямая загрузка локального файла через/content/v3/media/filewb_prices_get— чтение ценwb_prices_set— установка цен и скидокwb_prices_upload_status— статус/детали uploadID по ценамwb_size_prices_get— чтение цен по размерамwb_size_prices_set— установка цен по размерамwb_warehouses_list— существующие склады продавцаwb_inventory_get— чтение остатков FBS поwarehouseIdиchrtIdwb_inventory_update— обновление остатков FBS
Как работать с карточками
Практический порядок:
- Найти предмет через
wb_subjects_search - Получить характеристики через
wb_characteristics_get - Добрать значения справочников через
wb_content_directory_lookup - Создать карточку через
wb_card_create - Проверить ошибки очереди через
wb_card_errors_list - Получить
nmIDиchrtIDчерезwb_cards_list - Загрузить медиа, цены и остатки
Важно:
- WB создаёт карточки асинхронно.
- После создания карточки синхронизация может занимать до 30 минут.
- До завершения синхронизации цены и остатки могут не применяться.
Пример payload для wb_card_create
Tool принимает payload в формате WB API почти без изменений. Можно передавать как объект/массив или как JSON-строку:
{
"mode": "create",
"payload": [
{
"subjectID": 1234,
"variants": [
{
"vendorCode": "sku-001",
"title": "Футболка базовая",
"description": "Описание товара",
"brand": "My Brand",
"dimensions": {
"length": 30,
"width": 20,
"height": 3,
"weightBrutto": 0.25
},
"characteristics": [
{
"id": 14177449,
"value": ["черный"]
}
],
"sizes": [
{
"techSize": "M",
"wbSize": "46",
"skus": ["1234567890123"]
}
]
}
]
}
]
}Команды
pnpm build
pnpm test
pnpm startИсточники
https://dev.wildberries.ru/en/docs/openapi/api-informationhttps://dev.wildberries.ru/en/docs/openapi/work-with-products
