mcp-wb
mcp-wb
ClaudeをWildberriesでの購入者とのコミュニケーション(レビュー、質問、チャット)に接続するリモートMCPサーバー。組織のカスタムコネクタとしてデプロイされ、各従業員が自分のClaudeで接続し、Wildberriesトークンはサーバー上にのみ保持されます。
できること
読み取り
ツール | 機能 |
| 概要: 返信待ちのレビューと質問の数、未読の有無、チャット数 |
| レビュー |
| 質問 |
| チャットとカーソル付きメッセージ一覧 |
| コネクタが誰として動作し、何が許可されているか |
顧客への返信 — 下書き経由のみ
ツール | 機能 |
| レビューへの返信を準備 |
| 公開済み返信の編集を準備(WBは60日間で1回の試行を許可) |
| 質問への返信を準備 |
| チャットメッセージを準備 |
| 下書きの表示とキャンセル |
| 購入者に何かを送信する唯一のツール。 |
| 質問の拒否と「未読」マークの解除 |
各送信は、従業員のメール、テキスト、結果とともに 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.ts3. 従業員のログイン
Google Workspace (IDENTITY_PROVIDER=google) — Google Cloud Console で「Web アプリケーション」タイプのOAuthクライアントを作成し、Authorized redirect URIs に追加:
https://mcp-wb.вашдомен.ru/idp/google/callbackGOOGLE_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@вашдомен.ru4. 起動
docker compose up -d --buildCaddyがLet's Encrypt証明書を自動取得します。確認:
curl https://mcp-wb.вашдомен.ru/.well-known/oauth-protected-resource/mcp"resource": "https://mcp-wb.вашдомен.ru/mcp" を含むJSONが返されるはずです。
5. Claude組織への接続
組織の Settings → Connectors(項目はOwnerのみに表示)。
Add → Custom → Web。
URL:
https://mcp-wb.вашдомен.ru/mcpAdvanced settings は触る必要はありません: サーバーはDynamic Client Registrationをサポートしており、Claudeを自動登録します。
保存すると、コネクタが組織の全従業員に表示されます。
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
Your own WhatsApp in Claude and ChatGPT: read chats, draft replies, send messages you approve.
Amazon Seller Central, Ads and Vendor Central in ChatGPT & Claude. 106 tools; writes need approval.
Business WhatsApp from Claude: read chats, reply to customers, pause the AI agent, edit its prompt.
Run social media from Claude: draft, schedule and approve posts, answer comments, read results.
Related MCP Servers
- FlicenseAqualityCmaintenanceConnects 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-
- AlicenseNot gradedqualityDmaintenanceConnects AI assistants to Wildberries and Ozon seller accounts for real-time access to sales, stocks, prices, finances, and reviews through official APIs.MIT
- AlicenseAqualityCmaintenanceEnables 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.1783 npmMIT
- FlicenseAqualityBmaintenanceEnables AI assistants to retrieve a Wildberries seller's product cards and customer reviews through the official Content and Feedbacks APIs.211 npm-