mcp-wb
mcp-wb
ClaudeをWildberriesでの購入者とのコミュニケーション(レビュー、質問、チャット)に接続するリモートMCPサーバー。組織のカスタムコネクタとしてデプロイされ、各従業員が自分のClaudeで接続し、Wildberriesトークンはサーバー上にのみ保持されます。
できること
読み取り
ツール | 機能 |
| 概要: 返信待ちのレビューと質問の数、未読の有無、チャット数 |
| レビュー |
| 質問 |
| チャットとカーソル付きメッセージ一覧 |
| コネクタが誰として動作し、何が許可されているか |
顧客への返信 — 下書き経由のみ
ツール | 機能 |
| レビューへの返信を準備 |
| 公開済み返信の編集を準備(WBは60日間で1回の試行を許可) |
| 質問への返信を準備 |
| チャットメッセージを準備 |
| 下書きの表示とキャンセル |
| 購入者に何かを送信する唯一のツール。 |
| 質問の拒否と「未読」マークの解除 |
各送信は、従業員のメール、テキスト、結果とともに audit ログに記録されます。
Related MCP server: Meta Cloud API MCP Server
なぜこのように構成されているのか
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サーバーのインスタンスが作成されるため、クライアントへのサーバー通知はありません。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityBmaintenanceConnects Claude to Amazon Seller Central via the SP-API for natural language queries on sales, inventory, reports, fees, reimbursements, and analytics.2047
- AlicenseBqualityDmaintenanceEnables Claude to manage WhatsApp templates, flows, and send messages through the WhatsApp Cloud API.3126MIT
- AlicenseAqualityDmaintenanceConnects Claude to Open WebUI, enabling chat management, RAG knowledge bases, files, functions, and prompts directly from Claude.26252MIT
- 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
Related MCP Connectors
Drive your real WhatsApp inbox from Claude — send, reply, label, assign, and triage via TimelinesAI.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
Amazon brand, seller, niche & buy-box intelligence inside your own Claude or ChatGPT.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hollowmountain/wb_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server