Skip to main content
Glama

HARBEZ WB Feedbacks — Conector MCP

Las reseñas y preguntas de Wildberries llegan directamente al chat de Claude — para ti y los empleados, desde cualquier dispositivo de la organización. Los tokens de Seller API solo están en el entorno del servidor: no están ni en la correspondencia, ni en los portátiles, ni en los archivos del proyecto.

Claude (проект «Коммерческий отдел»)
        │  HTTPS, streamable HTTP, персональный Bearer-ключ
        ▼
   Caddy (TLS, Let's Encrypt)
        │
   MCP-сервер (Docker, слушает только внутри сети compose)
        │  токены WB из .env
        ▼
   feedbacks-api.wildberries.ru

Qué hace

Herramienta

Finalidad

wb_accounts_list

Lista de cuentas de vendedor (claves y nombres, sin tokens)

wb_feedbacks_unanswered_count

Cuántas reseñas sin respuesta, de ellas hoy, calificación media

wb_feedbacks_list

Reseñas con filtros: cuenta, artículo, calificación, período, estado de respuesta

wb_feedbacks_stats

Resumen por SKU: media, distribución 1–5, proporción de negativas, sin respuesta

wb_product_rating

Calificación de un artículo específico

wb_questions_list

Preguntas de los compradores

wb_feedback_answer

Publicación de respuesta. Desactivada por defecto, requiere confirm=true

Las solicitudes a WB están limitadas (throttling), los textos de las reseñas se recortan a 600 caracteres, wb_feedbacks_stats devuelve solo agregados — para no quemar el contexto.

Related MCP server: marketplace-mcp

Despliegue en VPS

Se necesitan: VPS con Ubuntu/Debian, subdominio con registro A hacia él, root al inicio.

# 1. На ВПС под root — пользователи, фаервол, Docker, клон репозитория
git clone git@github.com:Albertharbez/mcp-wb.git /srv/wb-mcp
bash /srv/wb-mcp/deploy/setup-vps.sh albert <логин-сотрудника>

# 2. Заполнить /srv/wb-mcp/.env (шаблон — .env.example)
#    MCP_DOMAIN, WB_TOKEN_*, MCP_CLIENT_KEYS

# 3. Поднять
cd /srv/wb-mcp && docker compose up -d --build
curl https://<MCP_DOMAIN>/healthz     # -> {"ok":true}

La actualización del código después — deploy/update.sh: hace git pull, recompila, levanta y verifica /healthz, y en caso de fallo muestra los logs.

Los tokens de WB se crean en cada cuenta de vendedor: Configuración → Acceso a API → categoría «Preguntas y reseñas». Una cuenta — un token.

Trabajo de dos en el mismo VPS

  • Un usuario SSH separado para cada uno, acceso solo por clave, contraseñas y login root desactivados. No hay cuenta compartida — de lo contrario no se ve quién hizo qué.

  • Ambos en los grupos wb (directorio del proyecto /srv/wb-mcp, setgid — los archivos nuevos heredan el grupo) y docker (levantar y ver el servicio).

  • .env — 640 root:wb: lo leen ambos, no hay extraños en el servidor.

  • El código se edita mediante git, no en vivo en el servidor: git pull en deploy/update.sh.

  • MCP_CLIENT_KEYS personal por persona, no compartido. En los logs se ve quién accedió; despido — eliminar la línea y reiniciar, sin rotar los tokens de WB.

Conexión a Claude

Claude → Settings → Connectors → Add custom connector: URL https://<MCP_DOMAIN>/mcp, encabezado Authorization: Bearer <clave personal>. Lo conecta el propietario de la organización — así el conector está disponible para el departamento desde cualquier dispositivo. En el plan corporativo, los conectores personalizados pueden requerir habilitarse primero en la configuración de la organización.

Seguridad

  • Los tokens solo en el entorno del servidor. No llegan a git (.gitignore), no aparecen en las respuestas de las herramientas, en toString de la cuenta están reemplazados por un marcador.

  • Autenticación fail-closed: MCP_CLIENT_KEYS vacío — el servidor no arranca. Modo abierto solo con MCP_ALLOW_NO_AUTH=true explícito y solo para localhost.

  • Hacia afuera están abiertas tres rutas: POST /mcp, GET /healthz (sin detalles), GET /status (detalles, detrás de la clave). El resto — 404 a nivel de Caddy.

  • El propio servidor no publica puerto hacia afuera: la única entrada es a través de Caddy.

  • La publicación de respuestas es la única operación irreversible: destructiveHint, confirm=true y el interruptor WB_ALLOW_WRITES en el servidor.

  • Un token que ya se ha enviado en la correspondencia se considera comprometido. Revocarlo.

Qué se corrigió durante el despliegue

Qué

Por qué

Autenticación fail-open → fail-closed

MCP_CLIENT_KEYS vacío abría el servidor con tokens de WB a todo Internet

/healthz ya no devuelve la composición de cuentas y el modo de escritura

El endpoint público revelaba la estructura interna; los detalles pasaron a /status detrás de la clave

El filtro por calificación se movió dentro de la paginación

La consulta «quejas, limit=100» no devolvía 100 quejas, sino las pocas que aparecían entre las primeras 100 reseñas

El limitador (throttler) se encadenó

Las llamadas paralelas leían el mismo valor lastCall y iban a WB de una vez, el límite no se cumplía

GET/DELETE /mcp → 405 con explicación

El servidor stateless devolvía 404 y un error poco claro

@types/express alineado a 4.x

En las dependencias express 4, los tipos eran de 5

Probado y no probado

  • La sintaxis y la lógica de los cambios revisadas; tsc --noEmit y la ejecución no se realizaron — en la máquina donde se trabajó no hay Node. La primera ejecución de compilación — en el VPS (docker compose up -d --build), allí mismo tsc funcionará dentro de la imagen.

  • Las solicitudes a WB con tokens reales no se probaron. Después de llenar .env, probar con wb_feedbacks_unanswered_count — la llamada más barata.

  • Verificar la composición de campos y límites antes de producción: https://dev.wildberries.ru (sección «Reseñas y preguntas»).

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    Wildberries Seller API MCP server providing 15 tools for managing products, prices, stocks, orders, sales, warehouses, supplies, statistics, feedbacks, and ABC analysis with built-in rate limiting and 409 penalty protection.
    30
    28 npm
    16
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI agents to read and work with Wildberries, Ozon, and Yandex Market seller accounts through typed tools, multi-account support, unified data schemas, rate limiting, audit, and encrypted credential storage.
    17
    30 npm
    MIT
  • F
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to retrieve a Wildberries seller's product cards and customer reviews through the official Content and Feedbacks APIs.
    2
    72 npm
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables read-only analytics and product search for a Wildberries seller account, covering items, advertising, sales, stock, reviews, finances, and tariffs through MCP clients like ChatGPT or Cursor.
    12
    MIT