Skip to main content
Glama

mcp-wb

ClaudeをWildberriesでの購入者とのコミュニケーション(レビュー、質問、チャット)に接続するリモートMCPサーバー。組織のカスタムコネクタとしてデプロイされ、各従業員が自分のClaudeで接続し、Wildberriesトークンはサーバー上にのみ保持されます。

できること

読み取り

ツール

機能

wb_overview

概要: 返信待ちのレビューと質問の数、未読の有無、チャット数

wb_feedbacks_list / wb_feedback_get / wb_feedbacks_archive / wb_feedbacks_count

レビュー

wb_questions_list / wb_question_get / wb_questions_count

質問

wb_chats_list / wb_chat_events

チャットとカーソル付きメッセージ一覧

wb_whoami

コネクタが誰として動作し、何が許可されているか

顧客への返信 — 下書き経由のみ

ツール

機能

wb_draft_feedback_reply

レビューへの返信を準備

wb_draft_feedback_answer_edit

公開済み返信の編集を準備(WBは60日間で1回の試行を許可)

wb_draft_question_answer

質問への返信を準備

wb_draft_chat_message

チャットメッセージを準備

wb_drafts_list / wb_draft_discard

下書きの表示とキャンセル

wb_draft_send

購入者に何かを送信する唯一のツール。 confirm="ОТПРАВИТЬ" が必要

wb_question_reject / wb_question_mark_viewed

質問の拒否と「未読」マークの解除

各送信は、従業員のメール、テキスト、結果とともに audit ログに記録されます。

Related MCP server: marketplaces-mcp-ru

なぜこのように構成されているのか

Wildberriesトークンは個人用であり、サーバーから出ることはありません。 基本トークンの「質問とレビュー」カテゴリのWB制限は1時間あたり5リクエスト、チャットは1時間あたり1リクエストで、これでは運用できません。個人トークンは1秒あたり3リクエストを許可しますが、WBの規則により第三者への譲渡やクラウドサービスでの使用は禁止されています — 自社またはレンタルしたインフラ上のシステム向けです。そのため: 自前のVPS、サーバー上の1つのトークン、従業員はOAuth経由でアクセスします。

従業員の身元は当サーバーが確認します。 ClaudeはMCPサーバーにメールもユーザーIDも渡さず、組織の管理画面は「認証なしサーバー」オプションをサポートしていません。そのため、サーバー自体がOAuth 2.1認可サーバー(PKCE、Dynamic Client Registration、RFC 9728/8414)として動作し、身元はGoogle、Yandex、またはワンタイムコードから取得します。

ロール。 ALLOWED_EMAIL_DOMAINS / ALLOWED_EMAILS が誰がログインできるかを決定します。RESPONDER_EMAILS と ADMIN_EMAILS — 誰が送信できるか。その他は wb:write 権限のないトークンを受け取り、wb_draft_send を物理的に呼び出せません。

要件

  • インターネットからアクセス可能なパブリックIPを持つVPS(Claudeは自らの側からサーバーにアクセスします — NATやVPNの背後にあるサーバーは不可)

  • このIPへのAレコードを持つドメイン

  • Docker と Docker Compose

  • 「質問とレビュー」および「購入者とのチャット」カテゴリを持つWB個人トークン

  • Claude組織での Owner または Primary Owner 権限(コネクタを追加できるのはこれらのみ)

デプロイ

1. Wildberriesトークン

販売者個人アカウント → 設定 → APIアクセス → トークンを作成 → 「手動統合用」タブ → タイプ 個人。カテゴリ 「質問とレビュー」 と 「購入者とのチャット」 を選択し、アクセスレベルは 読み取りと書き込み。トークンは一度だけ表示され、有効期間は180日です — 交換のリマインダーを設定してください。

2. 設定

git clone <репозиторий> mcp-wb && cd mcp-wb
cp .env.example .env

.env を記入してください。必須の最小構成:

PUBLIC_URL=https://mcp-wb.вашдомен.ru
MCP_DOMAIN=mcp-wb.вашдомен.ru
ACME_EMAIL=admin@вашдомен.ru
WB_TOKEN=<токен из шага 1>
SESSION_SECRET=<openssl rand -hex 32>
ALLOWED_EMAIL_DOMAINS=вашдомен.ru
ADMIN_EMAILS=вы@вашдомен.ru
RESPONDER_EMAILS=менеджер1@вашдомен.ru,менеджер2@вашдомен.ru

起動前にトークンを確認:

npm install && npx tsx scripts/probe-wb.ts

3. 従業員のログイン

Google Workspace (IDENTITY_PROVIDER=google) — Google Cloud Console で「Web アプリケーション」タイプのOAuthクライアントを作成し、Authorized redirect URIs に追加:

https://mcp-wb.вашдомен.ru/idp/google/callback

GOOGLE_CLIENT_ID と GOOGLE_CLIENT_SECRET — .env に。

Yandex ID (IDENTITY_PROVIDER=yandex) — oauth.yandex.ru のアプリケーション、Callback URI:

https://mcp-wb.вашдомен.ru/idp/yandex/callback

外部IdPなし (IDENTITY_PROVIDER=invite) — ワンタイムコードを発行:

docker compose exec mcp-wb node dist/scripts/invite.js ivan@вашдомен.ru

4. 起動

docker compose up -d --build

CaddyがLet's Encrypt証明書を自動取得します。確認:

curl https://mcp-wb.вашдомен.ru/.well-known/oauth-protected-resource/mcp

"resource": "https://mcp-wb.вашдомен.ru/mcp" を含むJSONが返されるはずです。

5. Claude組織への接続

  1. 組織の Settings → Connectors(項目はOwnerのみに表示)。

  2. Add → Custom → Web。

  3. URL: https://mcp-wb.вашдомен.ru/mcp

  4. Advanced settings は触る必要はありません: サーバーはDynamic Client Registrationをサポートしており、Claudeを自動登録します。

  5. 保存すると、コネクタが組織の全従業員に表示されます。

6. 各従業員が行うこと

Claudeを開く → Connectors → コネクタを見つける → Connect → 会社のメールでログイン。その後は自然言語で指示できます: 「今週の未返信レビューを表示して」、「レビューXへの返信を準備して」など。

自分の権限を確認: wb_whoami。

運用

操作ログ。 購入者に送信されたすべては、データベースファイルの audit テーブルに保存されます:

docker compose exec mcp-wb \
  node -e "const d=require('better-sqlite3')('/data/mcp-wb.db');console.table(d.prepare('SELECT datetime(ts,\"unixepoch\") t,actor,action,target,outcome FROM audit ORDER BY ts DESC LIMIT 30').all())"

従業員のアクセスを無効化 — ALLOWED_EMAILS から削除するか、Google Workspaceで無効にしてコンテナを再起動します。有効なトークンは各リクエストでアクセスリストを確認するため、アクセスは即座に失効します。

WBトークンの交換 — 180日ごと: .env に新しいトークンを設定し、docker compose … up -d を実行。

制限。 クライアントが自らペースを管理します: レビューと質問は3リクエスト/秒、チャットは10秒で10リクエスト、429時は X-Ratelimit-Retry ヘッダーに従って待機します。

開発

npm install
npm run dev          # tsx watch
npm run typecheck
WB_SANDBOX=true npm run dev   # песочница WB (только отзывы и вопросы, чата в ней нет)

OAuthをローカルで試すには、PUBLIC_URL=http://localhost:3000 と IDENTITY_PROVIDER=invite を設定します。

制限事項

  • チャット: WBにはサンドボックスホストがなく、本番アカウントでのみテスト可能。

  • レビューと質問への返信はWBのモデレーションを通過し、即時には公開されません。

  • 返信の編集 — 60日間で1回のみ、以降はテキストが永久に固定されます。

  • 返品申請(returns-api)には別のトークンカテゴリが必要で、このバージョンでは接続されていません。

  • サーバーはセッションレスで動作します: HTTPリクエストごとにMCPサーバーのインスタンスが作成されるため、クライアントへのサーバー通知はありません。

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    C
    maintenance
    Connects Claude to your Amazon Seller Central account via the Selling Partner API, enabling queries for recent orders, sales summaries, FBA inventory, and financial events.
    4
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects AI assistants to Wildberries and Ozon seller accounts for real-time access to sales, stocks, prices, finances, and reviews through official APIs.
    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
    83 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
    11 npm
    -