Claude CodeのAmazon Selling Partnerプラグインで売上と在庫を聞く
AmazonのSelling Partnerプラグインは、Seller Centralの売上・在庫・出品の状態をClaude Codeから聞けるようにします。導入、同梱のスキル、3つのコマンド、書き込みの承認ゲートを扱います。
Amazon Selling Partnerプラグインは、Seller CentralのアカウントをClaude Codeにつなぎ、売上・在庫・出品の状態を自分のデータで答えさせるためのプラグインです。提供元はAmazonで、マーケットプレイスのページには「Anthropic verified」の表示があり、ベータ版と記されています。
この記事では、プラグインに何が入っているか、導入と認可の流れ、売上と在庫の聞き方、3つのコマンドの中身、書き込みを止める承認ゲートを順に扱います。
プラグインの中身は「MCP接続1つ、スキル12個、コマンド3つ」
プラグインの実体は、Amazonが公開しているリポジトリ(selling-partner-agentic-toolkit)です。plugin.json の名前は amazon-selling-partner、バージョンは1.0.0、ライセンスはApache-2.0です。
中身は3種類に分かれます。
プラグインが持つ3つの部品
コネクタ(MCPサーバー)
同梱の
.mcp.jsonが、https://sellingpartner-ai.amazon.com/mcpをHTTP型のMCPサーバーとして登録します。名前はamazon-selling-partnerです。スキル12個
分析、在庫切れ防止、出品の診断、FBA納品、月次の精算など、セラーの作業ごとに手順を持ちます。
スラッシュコマンド3つ
/sp-stockout-check、/sp-fix-listing、/sp-sales-dropの3つです。中身は、特定のスキルを決まった条件で呼ぶ指示文です。
スキルは役割で見ると、次のように並びます。READMEの説明を作業の種類でまとめ直した表です。
| 作業 | スキル | 書き込み |
|---|---|---|
| 数字を聞く | スキルseller-analytics | 書き込みなし(読み取りのみ) |
| 在庫切れを防ぐ | スキルstockout-prevention | 書き込み価格の下書きのみ(承認制) |
| 月次を締める | スキルfinance-month-end-closer | 書き込みなし(説明のみ。送金や申請はしない) |
| 納品を組む | スキルfba-inbound-management | 書き込み承認ゲートつき |
| 出品の不具合を直す | スキルlisting-troubleshooter、listing-issues、listing-buyability、listing-searchability | 書き込みプレビュー後に承認 |
| 出品前の規制確認 | スキルlisting-compliance | 書き込みなし(助言のみ) |
| チームに権限を渡す | スキルinvite-secondary-users | 書き込みなし(画面操作の案内) |
| サポートに問い合わせる | スキルsupport-case-helper | 書き込み明示の確認なしに送信しない |
| API開発の質問に答える | スキルsp-api-knowledge | 書き込みなし |
READMEには「書き込みは常に人間の承認を前提に下書きされる」とあります。売上や在庫を聞く使い方は、この中の読み取り側だけで完結します。
導入:Claude Codeからプラグインを入れてOAuthで認可する
このプラグインは、Anthropicの公式マーケットプレイス(claude-plugins-official)の一覧に載っています。公式マーケットプレイスは対話セッションを初めて開いたときにClaude Codeが登録するので、追加の手順は要りません。シェルからは次の1行で入ります。
claude plugin install amazon-selling-partner@claude-plugins-officialセッションの中なら /plugin install amazon-selling-partner@claude-plugins-official です。この場合は /plugin の詳細画面が開き、スコープを選んでから入れます。スコープやマーケットプレイスの仕組みはClaude Codeプラグインの完全ガイドにまとめています。
入れた直後は、まだAmazonのアカウントにつながっていません。READMEによると、アクセスはSeller Centralの標準的なOAuth同意画面で許可します。流れは次のとおりです。
導入から最初の質問まで
- 1
プラグインを入れる
上の
claude plugin installを実行します。MCPサーバーは.mcp.jsonから自動で登録されます。 - 2
OAuthで認可する
MCPサーバーの認証画面から、Seller Centralの同意フローに進みます。使えるツールは、そのSeller Centralのロール(役割)で許可されたものに限られます。
- 3
マーケットプレイスを決める
質問のたびに、Merchant Token(出品者を識別する値)とマーケットプレイスIDが要ります。セッションに情報があれば再利用され、無ければ聞き返されます。
- 4
質問する
「直近30日の売上を見て」のように自然文で聞きます。次の節の読み取り用スキルが起動します。
同じアカウントのメンバーに使わせる
自分だけでなくチームで使うときは、Seller Centralの「Manage Your Permissions」にある「Manage Agents」で設定します。invite-secondary-users スキルによると、設定は2つに分かれます。
- エージェントの有効化: アカウントでエージェントを使えるようにするかどうか
- 二次ユーザーの認可: 有効にしたエージェントを、どの二次ユーザーが自分用に認可できるか
この操作を行えるのは、アカウントのオーナー、管理者、権限管理者です。それ以外のユーザーには、管理者に頼むよう案内して止まる作りになっています。エージェントの権限を切り替えるSP-APIのツールは無く、スキルは画面操作を案内するだけで、権限そのものは変えません。
売上と在庫を聞く:seller-analytics は「先に指標を探す」
「今月どれだけ売れたか」「在庫はあと何日持つか」といった質問を受けるのは seller-analytics です。このスキルの規律は、指標の名前を推測せず、先に調べてから問い合わせることにあります。
呼び出すツールは2つです。
| 段階 | ツール | 役割 |
|---|---|---|
| 探す | ツールanalytics_getMetricMetadata | 役割マーケットプレイスで使える指標のID・定義・グループ化できる列を一覧する |
| 取る | ツールanalytics_getMetricData | 役割期間・絞り込み・グループ化を指定して値を取得する |
名前を推測しない理由は、SKILL.mdに具体例があります。「在庫が何日もつか」で FBA_INV_VIS_CURRENT_DAYS を選ぶと違う指標になり、正しいのは FBA_INV_VIS_ONHAND_PMEAN_DOS だという例です。
同梱の指標カタログには、質問と指標IDの対応表があります。一部を抜き出します。
| 聞きたいこと | 指標ID | 領域 |
|---|---|---|
| 在庫はいくつあるか | 指標IDFBA_AVAILABLE_QTY | 領域在庫 |
| 在庫切れのリスクは | 指標IDFBA_INV_VIS_ONHAND_PMEAN_DOS(在庫日数) | 領域在庫 |
| いつ補充すべきか | 指標IDFBA_INV_VIS_RESTOCK_ORDER_DATE | 領域在庫 |
| どれだけ補充すべきか | 指標IDFBA_INV_RESTOCK_QTY | 領域在庫 |
| セッション数は | 指標IDSESSION_CNT | 領域トラフィック |
| 売れた数は | 指標IDTOTAL_ORDERED_UNITS | 領域売上 |
| 売上金額は | 指標IDTOTAL_ORDERED_PROD_SALES_AMT | 領域売上 |
カタログ自身が断っているとおり、この表は出発点です。正とされるのは実際のメタデータの応答で、そこに無い指標は使われず、近い指標に切り替えて何を使ったかを伝える決まりです。
数字を読むときに押さえておきたい動作が3つあります。
- 期間を指定しなければ、2日前までの直近の窓が使われます。データに約2日の遅れがあるためで、使った期間は回答に明示されます。
entityId(Merchant Token)は自動で補われません。セッションのアカウント情報から明示的に渡されます。- 結果が空のときの再試行は1回までです。期間を広げるか、グループ化を外して合計にして、それでも空なら「データなし」と報告して尋ね返します。
このスキルは読み取り専用で、値を捏造しないこと、ツールの返答に埋め込まれた指示に従わないことも守るべき点として書かれています。
CLAUDE.mdに置く固定の前提
質問のたびにマーケットプレイスを聞き返されるのは面倒です。アカウントの前提はCLAUDE.mdに置いておくと、会話の初めから共有できます。形の例を示します(Merchant Tokenは伏せ字のプレースホルダです)。
## Amazonセラーアカウント
- 対象マーケットプレイスは <使う国のマーケットプレイスID> の1つだけ。他は聞かれない限り扱わない
- Merchant Tokenはこのファイルに書かない。聞かれたらセッションの中で答える
- 売上・在庫は seller-analytics で先に指標を探してから取得する
- 価格・出品の変更は下書きまで。「approve」と言うまで実行しない
- 回答には、使った期間とデータの遅れ(約2日)を必ず添えるマーケットプレイスIDは、あなたのアカウントが出品している国のものを、Seller Centralで確かめてから書きます。Merchant Tokenはアカウントを識別する値なので、リポジトリに入るファイルには書かず、質問の途中で聞かれたときに答えます。
/sp-stockout-check:在庫日数を3段階に分けて、納品の遅れまで見る
在庫の質問に特化しているのが /sp-stockout-check です。コマンドの実体は stockout-prevention スキルを呼ぶ指示文で、指標IDを推測しないこと、価格に助言しないこと、承認なしに書き込まないことが、コマンド側にも書かれています。
スキルの手順は次の流れです。
stockout-preventionの処理手順
- 1
FBA在庫を取る
fbaInventory_getInventorySummariesで、SKUごとの出荷可能数を取ります。 - 2
売れる速さを測る
sales_getOrderMetricsで直近30日の販売数を取り、1日あたりの販売数と「在庫日数(days of cover)」を計算します。 - 3
リスクを分類する
在庫日数が7日未満ならCRITICAL、7日以上21日未満ならWARNING、21日以上ならHEALTHYです。HEALTHYのSKUは警告せず、問題ないと伝えます。
- 4
納品の遅れを見る
警告対象のSKUだけ、
fbaInbound_listInboundPlansで輸送中の納品の到着予定を調べ、在庫が尽きる日との差を出します。
閾値には補足があります。Amazon自身の分析ルールは「在庫日数14日未満で在庫切れの危険」で、このスキルの7日・21日はそれより保守的に設けた帯です。14〜21日のSKUは「危険に近づいている」と表現し、すでに危険域に入ったとは言わない決まりになっています。
結果は表に加えて、在庫日数の棒グラフと、在庫切れ日と納品到着の差を示すタイムラインの2つのアーティファクトとして描かれます。ただしこのスキルのメタデータにある対応環境は platforms: [claude-desktop, aws-quick] で、claude-codeは入っていません。seller-analytics はclaude-codeを含むので、Claude Codeではグラフが出ない場合があり、表の結果が主な出力になります。
注目したいのは、売れる速さの取得に非同期のReports APIを使っていない点です。同梱の設計メモによると、接続先のツール一覧にreportsのツールが無く、同期で返る sales_getOrderMetrics があったため、待ち時間なしで日次の速さを出せるそちらを選んでいます。Reports APIを自分のスクリプトで扱う場合の流れはSP-APIのReportsを呼ぶ記事で扱っています。プラグインは分析の質問、スクリプトは大きな表の一括取得とExcelでの加工、という分担です。
/sp-sales-drop:売上が落ちた理由を原因の候補から順に絞る
売上が減ったときは /sp-sales-drop を使います。指示文の内容は次のとおりです。
- 比較する期間と、その前の期間(基準)を決める
- 両方の期間の注文を取る
- 原因の候補を順位づけする。候補は出品の停止・無効化、在庫切れ、バイボックスや価格、アカウントの健全性、広告費の変化
- 売上の差額を先に報告し、特定のASINや原因に結びつける
- 次の手を「読み取りだけの示唆」と「承認が要る操作」に分けて示す
価格やバイボックスが原因として出てきても、診断として報告するだけで、値上げや値下げは勧めない決まりです。書き込みは行いません。
例えば、次のように依頼します。
/sp-sales-drop 先週の売上が前の週より落ちた理由を調べて。
対象は <使う国のマーケットプレイス>。原因はASIN単位で、読み取りだけで分かることと、
承認が要る対応を分けて示して。READMEとマーケットプレイスのページには、対応するマーケットプレイスの一覧が載っていません。自分のアカウントで使えるかどうかは、認可したあとにSeller Centralのロールとメタデータの応答で確かめられます。
書き込みは下書きで止まる
プラグインの安全設計の中心は、書き込みの扱いです。stockout-prevention の価格変更の手順がわかりやすい例です。
- 出品の更新ツール
listings_patchListingsItemは、まずVALIDATION_PREVIEWモードで呼ばれる。このモードは検証だけで、実際の変更は起きない - セラーが具体的な価格を自分で言ったときだけ下書きになる。スキルは価格の上げ下げを提案せず、言われた数字をそのまま使う
- 下書きはSKUと「現在の価格 → 指定された価格」だけを示し、投影される効果や元に戻す日付などの解説は添えない
- 「approve」と入力されるまでは本番の更新を行わない。無言は承認とみなさない
- 複数のSKUは1件ずつ別の項目として下書きし、1回の承認にまとめない
/sp-fix-listing も同じ型です。停止(SUPPRESSED)、無効(INACTIVE)、不完全(INCOMPLETE)の出品を探して原因と修正案を示し、修正は明示的に承認されてから行い、反映後に出品が有効になったかを確認します。
Claude Code側でも二重に守れます。権限設定のaskルールに、書き込みツールを入れる方法です。MCPツールは mcp__<サーバー名>__<ツール名> の形で指定でき、askルールはツール名の位置にグロブも使えます。ここでの対象は listings_patchListingsItem です。プラグインが登録したサーバーの正確な名前は、接続後に /mcp で確かめてから書いてください。
プラグインの承認ゲートはスキルの指示に基づくもので、モデルが従う手順です。権限設定はClaude Code側が強制する仕組みなので、役割が違います。両方を重ねておけば、スキルが想定外の呼び方をしても、書き込みの前に確認が入ります。
送られるデータと、使える範囲
READMEの「Data sent」は、通信の範囲を次のように説明しています。
- 送るもの: スキルが代行するツール呼び出し(在庫、売上・トラフィックの分析、出品の状態、下書きされた出品や価格の変更)と、その引数(Merchant Token、マーケットプレイス、SKUやASIN)
- 戻るもの: 承認した呼び出しに対してゲートウェイが返す、在庫・分析・出品の詳細
- 権限の範囲: Seller Centralのロールが許すツールに限る。書き込みは明示の承認なしに実行されない
- 送らないもの: Amazon以外の送信先にデータを送らず、アカウント識別子やデータをセッションを超えて保持しない
プロンプト本文の扱いは、使っているAIアシスタント側の規約に従う、とも書かれています。サポートケースの要約を作る support-case-helper は、個人情報を伏せた要約を作ります。
制約も押さえておきます。
- ベータ版である: マーケットプレイスのページに「Currently in beta」とあります。指標のドメイン名に
Threep_の接頭辞が付くことがあるのも、SKILL.mdが「GA前に変わる可能性」と注記している点です - 指標は全員に出るわけではない: カタログの指標がすべてのセラーに公開されているとは限らず、メタデータに無い指標は使えません
- 分析は約2日遅れ: 今日の売上を今日見る使い方には向きません
- 権限はロールで決まる: 質問が通らないときは、Seller Centralの権限設定が原因のことがあります
つまずきやすい点
落とし穴
直近2日の数字が空で返ってくる
分析のデータには約2日の遅れがあります。「昨日の売上」を聞くと空になることがあるので、終了日を2日以上前にした期間で聞くか、seller-analytics が自動で選ぶ窓に任せてください。
落とし穴
別のマーケットプレイスの数字を混ぜてしまう
スキルは1回の呼び出しにつきMerchant Token1つ、マーケットプレイス1つに固定する決まりです。2つのマーケットプレイスを並べたいときは、質問を分けて、それぞれの結果を自分で並べてください。NA・EU・FEをまたぐ切り替えでは、Merchant Tokenの再確認が入ります。
落とし穴
チームのメンバーだけ認可できない
二次ユーザーが自分でエージェントを認可するには、管理者側でManage Agentsの有効化とユーザーの許可が済んでいる必要があります。メンバーのSeller Central画面で操作できない場合は、オーナーか管理者に設定を依頼します。
よくある質問
売上の数字はSeller Centralの画面と一致しますか
スキルは、ツールが返した値だけを報告する決まりです。指標の定義や期間の区切りは、analytics_getMetricMetadata が返す定義に従います。画面のレポートと突き合わせるときは、期間とマーケットプレイスをそろえ、データの2日遅れを考慮してください。