ClaudeとShipBobを連携する方法 — 在庫・注文の確認と書き込みの範囲
ShipBobのMCPサーバーをClaudeに接続する手順です。本番とサンドボックスの接続先、MCP Read/Write権限、書き込みが同意時に作ったチャンネルに限られる仕組み、在庫や遅延の調べ方をまとめます。
ClaudeとShipBobの連携でできること
ShipBobのコネクタは、フルフィルメントの注文・在庫・商品・出荷をClaudeの会話から引ける連携です。ShipBob自身が作って運用しており、ディレクトリでは「Anthropic verified」の表示が付き、サインインが必須と書かれています。カテゴリは「Commerce & shopping」です。
接続先はShipBobがホストするリモートMCPサーバーです。自分でサーバーを立てる必要はありません。認証はOAuthで、APIトークンを貼る手順もありません。
ツールの数は載っている場所で違います。ディレクトリのページは「Show all 72 tools」と表示し、ShipBobの開発者向けドキュメントは73個と数えています。増減しうる数なので、手元で「ShipBobのツールを一覧にして」と尋ねるのが確実です。
ツールの内訳(開発者向けドキュメントの区分)
注文
21
読み取り12 / 書き込み9
商品
16
読み取り7 / 書き込み9
在庫
9
すべて読み取り専用
入荷
9
読み取り6 / 書き込み3
残りは返品5、請求4、Webhook3、追跡2、参照データ2、分析1、フィードバック1です。請求は4つとも読み取りで、在庫はMCP経由では読み取り専用です。
接続前に決めておく3つのこと
URLを貼る前に、環境・権限・クライアントの3点を決めます。ここを飛ばすと、サインインの途中で止まります。
接続前の確認事項
環境を選ぶ
接続先はサンドボックスと本番の2つです。両者は隔離されていて、アカウントも引き継がれません。URLに合ったアカウントでサインインします。
MCP権限を持つユーザーで入る
ShipBobのMCP権限は「MCP Read」と「MCP Write」の2つです。OwnerとClient Adminが、User Managementのユーザー編集画面にある権限タブで付け外しできます。
Claudeのプランと管理者権限を見る
claude.aiでコネクタを使えるのはProプラン以上と案内されています。組織向けプランでは、カスタムコネクタの追加が管理者に限られます。
接続先のURLは次の2つです。
| 環境 | URL |
|---|---|
| 本番 | URLhttps://api.shipbob.com/developer-api/mcp |
| サンドボックス | URLhttps://sandbox-api.shipbob.com/developer-api/mcp |
最初はサンドボックスで試し、問題なければ本番に切り替える流れが安全です。ShipBobの案内も、実データに影響を与えずに試すならサンドボックスのURLを使う、という書き方です。
claude.aiとClaude Desktopに接続する手順
ディレクトリから追加する方法と、カスタムコネクタとしてURLを貼る方法があります。ディレクトリで見つかるなら、そちらが手数の少ない経路です。コネクタ全体の種類や追加方法の違いはClaudeのコネクタとはにまとめています。
カスタムコネクタとして追加する流れ
- 1
Connectorsを開く
claude.aiのサイドバーから「Customize」→「Connectors」へ進みます。
- 2
カスタムコネクタを追加する
「+」アイコンから「Add custom connector」を選びます。名前に
ShipBob、URLに環境に合うものを入れて「Add」を押します。 - 3
サインインして同意する
ブラウザのタブでShipBobにサインインし、同意画面で権限を承認します。
- 4
接続状態を確かめる
設定画面でコネクタが「Connected」になれば完了です。続けて「What ShipBob tools are available?」と尋ねると、ツールの一覧が返ります。
Claude Desktopも手順は同じで、「Customize」→「Connectors」から追加します。設定にカスタムコネクタの項目が出ない場合は、Desktopを最新版にします。それでも出ないときの代替として、claude_desktop_config.jsonにmcp-remote経由で登録する方法が案内されています。この場合はNode.jsが必要で、保存後にClaude Desktopを完全に終了して開き直します。
claude_desktop_config.jsonに直接書く場合の例
{
"mcpServers": {
"shipbob-mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.shipbob.com/developer-api/mcp"
]
}
}
}他のサーバーがすでに登録されている場合は、mcpServersの中にshipbob-mcpだけを足します。既存の項目を消さないよう注意してください。
「Missing permissions」が出たとき
組織向けのClaudeプランでは、カスタムコネクタを追加できるのは管理者だけです。「Add」を押して「Missing permissions」が出たら、いったんキャンセルします。「+」からディレクトリを検索して「ShipBob MCP」を選び、「Connect」で認可する経路なら、管理者が組織に導入済みであれば一般ユーザーも使えます。検索に出ないときは、管理者にShipBob MCPの導入を頼みます。
同意画面で何が決まるか — 読み取りは全チャンネル、書き込みは1チャンネル
ShipBobのコネクタで押さえておく仕様は、同意画面での「チャンネル」の作成です。初回接続時に、ShipBobはAIクライアント用のチャンネルを作るよう求めます。チャンネルは、どのアプリがどのレコードを作ったかを追うための単位です。
ここから読み取りと書き込みで扱いが分かれます。
- 読み取り: 商家アカウントのすべてのチャンネルが対象です。ShopifyやAmazon経由の注文も読めます
- 書き込み: 同意時に作ったチャンネルのレコードにだけ効きます
- 権限: MCP Readが読み取り、MCP Writeが書き込みのツールを使えるかを決めます
書き込みのうち、注文・出荷・入荷・返品に対する操作は、レコードが自分のチャンネルのものでなければ通りません。対象は、注文のキャンセル、出荷のキャンセル(個別・注文指定・一括)、追跡番号の一括更新、配送サービスの一括変更、出荷先住所の更新、出荷の明細の更新、入荷注文のキャンセル、返品の更新と返品のキャンセルです。商品とバリエーションの書き込みは、カタログ単位で動くため、この規則の対象外です。
落とし穴
読めるのにキャンセルできない
他のアプリや別チャンネルで作られた注文は、Claudeからは読めてもキャンセルや変更ができず、403(場合によっては404)が返ります。404は「レコードが無い」ではなく「自分のチャンネルのものではない」の意味になることがあります。先にレコードを取得してchannel_idを調べ、一致するチャンネルのセッションで接続し直します。複数チャンネルを持つなら、チャンネルごとにMCPサーバーの登録を分けます。
403が返る原因はもう一つあり、ユーザーにMCP権限が付いていない場合です。この場合はShipBobのアカウント管理者に権限の確認を頼みます。
在庫と出荷の調べ方 — 会話の組み立て方
ドキュメントの例を見ると、主な使い方は3系統あります。在庫の見通し、レポート、例外対応です。
- 在庫の見通し: 直近30日の出荷数と現在庫から、10日以内に欠品しそうなSKUを挙げる
- 輸送実績: 直近30日の出荷日から配達日までの平均日数を、フルフィルメントセンターと配送ゾーンで分ける
- 例外対応: 例外状態の注文を出し、同じ商品ファミリーの代替SKUの在庫を引く
- 遅延の検知: 出荷から7日たっても配達済みにならない注文や、2週間以内で運送会社のスキャンがない注文を出す
いずれも読み取りだけで成立します。入荷注文(WRO)の作成を頼む例もありますが、これは書き込みで、MCP Write権限が必要です。まず読み取りの分析で候補を出させ、作成は人が内容を見てから頼む、と段を分けると事故を避けられます。
ツールの名前に注目すると、仕組みが見えます。ディレクトリに並ぶのはinventory-get-inventory-levelやorders-get-timeline-by-shipmentidのように、領域・動作・対象を並べた名前です。集計やトレンドを尋ねる質問には、分析用のask-analyticsが使われます。これは自然言語で指標やKPIを答える分析エージェントとして説明されています。
Claude Codeで使う場合の設定
Claude Codeからも同じサーバーに接続できます。登録のコマンドは次のとおりです。
claude mcp add --transport http shipbob-sandbox --scope user \
https://sandbox-api.shipbob.com/developer-api/mcp本番を登録するときは、名前をshipbob-mcpにして本番のURLを渡します。初回のツール呼び出しでブラウザが開き、ShipBobのサインインと同意画面に進みます。サンドボックスと本番は別々のサーバーとして登録し、会話の中で使い分けます。登録の構文やスコープの詳細はClaude Code MCP設定ガイドが扱っています。
ShipBobの案内では、Claude Codeはツールごとの権限規則に従い、書き込みのツールは初回に明示的な承認が要る、とされています。これを踏まえた運用の組み方を一例で示します。次の形は公式の記述に沿った例示で、ツール名はディレクトリに載っている読み取り用のものを使っています。
{
"permissions": {
"allow": [
"mcp__shipbob-mcp__inventory-get-inventory-level",
"mcp__shipbob-mcp__orders-get-timeline-by-shipmentid",
"mcp__shipbob-mcp__ask-analytics"
]
}
}読み取りだけを許可リストに置き、書き込みは都度の承認に残す形です。許可を広げる前に、実際に使うツール名をセッションの中で確かめてください。
プロジェクトのCLAUDE.mdに運用ルールを書いておくと、書き込みの暴走を抑えられます。
## ShipBob の扱い
- まず shipbob-sandbox で試し、本番は shipbob-mcp だけを使う
- 注文・出荷・返品の変更は、対象の channel_id を表示してから実行する
- 在庫の分析結果は、元になったSKUと期間を必ず併記する分析の結果は、数字の出どころを併記させると検算しやすくなります。たとえば欠品予測なら、使った期間と日あたりの出荷数を表にさせ、ShipBobのダッシュボードの数字と突き合わせます。ドキュメントも、データが合わないときは接続環境を確かめ、同じ問い合わせをダッシュボードで照合するよう勧めています。
他のクライアントと、類似の連携との違い
ShipBobのドキュメントはClaudeのほかに、ChatGPT、Gemini、Gemini CLI、VS Codeの設定も載せています。クライアントによって承認の挙動が違う点は重要です。claude.ai、Claude Desktop、VS Codeは書き込みの前に確認を挟みます。ChatGPTは開発者モードのコネクタだと、既定で確認なしに呼び出されます。書き込みを含む連携を使うなら、確認の有無がクライアント選びの条件になります。
ECのストア側とつなぐ連携はClaude Shopify連携の使い方にあります。Shopifyが商品・注文の「売る側」を扱うのに対し、ShipBobは倉庫から配送までの「出す側」の在庫と出荷を扱います。決済側の調査を読み取り専用で任せる例はCheckout.comのコネクタが参考になります。
つまずきの切り分け
症状ごとに、確認する順番をまとめます。
ShipBobのツールが使えないときの切り分け
- Qコネクタは「Connected」になっていますか?答えがサーバーを削除して追加し直し、OAuthをやり直します。ポップアップのブロックも解除します答えがはい
- QURLとサインインしたアカウントの環境が合っていますか?答えがサンドボックスのURLにはサンドボックスのアカウント、本番のURLには本番のアカウントでサインインします答えがはい
- Qエラーは403以外ですか?答えが読み取りが403ならMCP Read権限を、読めるのに書けないならチャンネルの不一致を疑います答えがはい
入力と環境を見直す
注文IDやSKU、日付の形式を直し、接続中の環境にそのデータがあるかを確かめます。
リクエストが絞られる場合は、呼び出しの頻度を下げ、一括取得のツールを使います。上限はShipBobのレート制限のページで確認します。
安全に使うための運用
OAuthでつないだ場合、長期のトークンは手元に残りません。クライアントが短期のセッションを持ち、サーバーの登録を消せば接続が切れます。使わなくなったクライアントからは、サーバーの登録を外してください。
APIトークンを使う別の設定もあり、自動化などブラウザで認証できない用途向けです。この場合は長期のBearerトークンが設定ファイルに残るため、リポジトリにコミットしない、定期的に再発行する、漏れたら直ちにダッシュボードで失効させる、といった管理が必要です。
費用について、ShipBobはMCPサーバーを顧客に無償で提供すると書いています。ディレクトリのページも、すべてのShipBob加盟店に含まれる、という説明です。ただしClaude側のプラン条件は別に効くので、Proプラン以上かどうかは別に見てください。
よくある質問
サンドボックスのコネクタと本番のコネクタは同時に使えますか?
使えます。URLごとに別のサーバーとして2つ登録し、それぞれのURLに合うアカウントでサインインします。会話の中で、どちらを使うかを指定します。
接続を解除するにはどうしますか?
解除はクライアント側の操作です。コネクタの削除か、サーバー登録の削除で接続が切れます。Claude Codeならclaude mcp removeで登録を外せます。