Shopify UCP CLI と Global Catalog のサムネイル

Shopify が公開した UCP CLI と Global Catalog ── AI エージェント向け商品検索インフラを試してみた

2026年5月19日、Shopify の開発者公式アカウントから、AI エージェント向けの新しい仕組みが本格稼働したというアナウンスがありました。具体的には、UCP CLI と呼ばれるコマンドラインツール、そして Global Catalog という新しい商品検索インデックスの公開です。

ユニバーサル・コマース・プロトコルがすべての加盟店向けに本格稼働しました。Shopify Catalog で数十億の商品を検索し、カートを作成し、新しい UCP スキルでチェックアウトする方法をエージェントに教えます。

Shopify Developers のアナウンス(2026-05-19)

先日の記事で、Shopify が全ストアに対して AI エージェント向けのエンドポイント(/llms.txt / /agents.md / /.well-known/ucp)を自動配備していたことを取り上げましたが、その続報にあたる内容になります。本記事では、今回公開された UCP CLI と Global Catalog が「何のためのもので、どんなことができるようになるのか」を整理しつつ、実際にツールを動かしてみた記録です。

何が公開されたのか

公開されたのは大きく次の2つです。

ひとつは UCP CLI。Universal Commerce Protocol(以下 UCP)という、AI エージェントが EC ストアと対話するための共通プロトコルがあり、そのリファレンス実装としてのコマンドラインツールです。

npm install -g @shopify/ucp-cli

上記のコマンドでインストールでき、AI エージェントに「ショッピングの手順書」として組み込むことが想定されています。

もうひとつは Global Catalog。Shopify が運営する catalog.shopify.com という中央集権的な商品インデックスで、全世界の Shopify マーチャントの商品を集約して、AI エージェントから横断検索できるようにしたものです。リアルタイムの価格・在庫・地域・通貨に対応していて、商品データの正規化やランキングも内部で処理されます。

これは何のための仕組み?

少し抽象的なので、何のための仕組みかを噛み砕いて整理してみます。

これまで、AI に「キーボードが欲しい」と頼んだとしても、AI はせいぜい Google で検索して、出てきたページの内容を読み上げてくれる程度の対応しかできませんでした。実際に商品を比較・カートに入れる・決済する、というところまではユーザー自身がブラウザを開いて手を動かす必要があります。

今回の発表で、その状況が大きく変わります。Global Catalog があることで、AI エージェントは「全世界の Shopify ストアの商品を、1 つの窓口に問い合わせるだけで横断的に検索できる」状態になりました。クロールやスクレイピングは必要ありません。価格や在庫もリアルタイムです。

そして商品が見つかった後は、その商品の所属するマーチャント(個別の Shopify ストア)に対して、カート作成、配送オプション選択、決済までを同じ UCP プロトコルで実行できるようになっています。つまり「商品を探す」から「実際に購入する」までを、AI エージェントが一気通貫で代行できる経路がすでに整備されています。

UCP CLI は、その経路を実際に叩くためのリファレンス実装です。自分でエージェントを構築する開発者は、これをインストールして、エージェントから呼び出せるようにすれば、「商品検索 → カート → チェックアウト」を実装で動かせます。

「検索」と「購入」を分離する設計

アーキテクチャ的に面白いのは、「検索」と「購入」を別のレイヤーに分けている点です。

検索は Global Catalog(catalog.shopify.com)が担当します。ここは商品検索と商品参照に特化したエンドポイントで、カートや決済の機能は持っていません。実際に catalog.shopify.com/.well-known/ucp を叩いて取得した UCP プロファイルにも、catalog.searchcatalog.lookup という capability しか並んでいません。

一方、購入の実行は個別の Shopify マーチャント側が担当します。各ストアの /.well-known/ucp には、cart / checkout / fulfillment / discount / payment_handlers といった商取引のフルセットが公開されています。Global Catalog で見つけた商品の所属マーチャントに対して、AI エージェントが直接カートを作り、チェックアウトを進めるという流れです。

この役割分担によって、AI エージェントは「中央の検索窓口でまず最適な商品を見つけ、そこから先は個別マーチャントに対して購買フローを進める」というシンプルなパターンで全世界の Shopify ストアを扱えるようになっています。

UCP CLI を実際にセットアップしてみる

インストール自体は npm install -g @shopify/ucp-cli で完了します。Node.js が 22 以上必要なので、古い環境の場合はそこだけ注意です。

インストール後にひとつだけ必須の手順があり、エージェント側のプロファイルを作成する必要があります。UCP は「どの AI エージェントから問い合わせが来ているか」をプロトコルレベルで識別するため、プロファイルが無いと検索などのコマンドが何も返ってきません。

ucp profile init --name agent

プロファイル名(--name の後の文字列)は手元で識別するためのものなので、任意の名前で問題ありません。agent / shopper / mybot のように、自分が分かりやすいものを付けておけば十分です。複数のエージェントを使い分けたい場合に区別できるよう、用途に応じた名前にしておくと便利です。

これで ~/.ucp/profiles/agent 配下にプロファイルが作成され、以降のコマンドで使えるようになります。準備はこれだけです。

商品検索を試してみる

セットアップ後、実際にコマンドを叩いてみます。CLI から直接「キーワード」と「コンテキスト(地域や購入意図)」を渡して検索する、という形です。

ucp catalog search \
  --set /query='本革 リュック レディース' \
  --set /context/address_country=JP \
  --view :compact --format md

これを実行すると、世界中の Shopify ストアの中から、クエリにマッチする商品が複数のマーチャントを横断して返ってきます。各商品には、商品名・価格・通貨に加えて、商品が所属する seller の domain も併記されているので、エージェントはそこから次のアクション(カート作成)に進めます。

手元で実際に叩いた結果がこちらです(上位10件)。

## result

| title                                                | price | currency | seller            |
|------------------------------------------------------|-------|----------|-------------------|
| Women's Classic Leather Belt | Black Matte           | 13100 | JPY      | thursdayboots.com |
| Classic Belt – Black                                 |  6500 | JPY      | bellabelts.com    |
| Custom Handbag with Kid's Name / Little Sweethearts  |  9684 | JPY      | suzitee.com       |
| Modern Belt – Navy Blue                              |  6500 | JPY      | bellabelts.com    |
| Women's Western Leather Belt | Black                 | 13100 | JPY      | thursdayboots.com |
| Original Bag Stone & Accessories                     |  7496 | GBP      | pompomlondon.com  |
| "Frankenstein" Old Parchment Leather Handbag         | 14299 | USD      | litborne.com      |
| Penrose Pocket Tote 25                               | 30000 | JPY      | dooney.com        |
| Modern Belt – Beige                                  |  6500 | JPY      | bellabelts.com    |
| Women's Transport                                    | 11996 | USD      | dardanos.com      |

特定のマーチャントだけに絞って検索したい場合は、--business <url> を付けます。この場合、CLI は Global Catalog ではなく、指定したマーチャントの UCP エンドポイントを直接叩きに行きます。

レスポンスの末尾には、毎回 「次にエージェントが取るべきアクション」のヒントが含まれていて、たとえば「カートを作るならこの business と variant ID を渡してください」というコマンド例まで生成されます。AI エージェントが自走しやすいように、毎レスポンスが手順書になっている設計です。

日本語クエリと英語クエリの差

上記の結果をよく見ると、検索クエリは「本革 リュック レディース」だったのに、返ってきた上位はベルトやハンドバッグばかりで、肝心のリュックが1件も出ていません。さらに、通貨も JPY / USD / GBP が混在していて、海外マーチャントの商品が中心です。/context/address_country=JP を指定しているにもかかわらず、日本のマーチャントの商品はあまり前に出てきていません。

これは「本革」「レディース」「リュック」のうち、英語圏のデータに揃っている語(leather、women's)の方が広くマッチして、複合語としての「本革 + リュック」が AND の条件として効いていない可能性が考えられます。試しに同じ意図のクエリを英語に置き換えてみました。

ucp catalog search \
  --set /query='leather backpack women' \
  --set /context/address_country=JP \
  --view :compact --format md

結果がこちらです。

## result

| title                                                            | price | currency | seller                       |
|------------------------------------------------------------------|-------|----------|------------------------------|
| Top Grain Leather Backpack Women City Backpack Natural Cowhide   | 12500 | USD      | rockcowleatherstudio.com     |
| Top Grain Leather Backpack For Women Female Designer Backpack    | 12500 | USD      | rockcowleatherstudio.com     |
| Women Leather Knapsack, Stylish Leather Backpack, Shoulder Bag   | 13900 | USD      | rockcowleatherstudio.com     |
| Real Leather Backpack For Women Daypack Organiser Bags HOL0791   |  7700 | JPY      | houseofleatheruk.com         |
| Womens Real Leather Casual Backpack Eliza Coffee                 | 10900 | JPY      | houseofleatheruk.com         |
| Vintage Leather Women Backpack, School Backpack, Designer Bag    | 17900 | USD      | rockcowleatherstudio.com     |
| Viola Womens Leather Backpack                                    | 24430 | AUD      | mimiandcoco.com.au           |
| Vintage Full Grain Leather Backpack, Women Backpack Purse        | 22900 | USD      | rockcowleatherstudio.com     |
| Genuine Leather Backpack Purse for Women, Full Grain Leather     | 14200 | USD      | rockcowleatherstudio.com     |
| Multicolor Women Leather Zipper Backpack                         | 17900 | JPY      | buykud.com                   |

今度は 10件すべてが「Women's Leather Backpack」というドンピシャの商品で返ってきました。クエリの意図がそのまま結果に反映されています。

同じ意図でも、日本語クエリと英語クエリで返ってくる結果がこれほど違うのは、Global Catalog の自然言語処理が現時点では英語ベースで成熟していて、日本語はまだ十分に最適化されていないことを示しています。Global Catalog 自体は2026年5月時点で本格稼働を始めたばかりなので、日本語クエリへの対応はこれから進んでいく領域だと考えられます。

なお、日本語クエリでも、ブランド名や商品名でピンポイントに検索すれば、Shopify ストアの商品はちゃんとインデックスから返ってきます。「カテゴリや特徴で曖昧に検索した時の精度はこれから」というのが現時点での感触です。

カート作成・チェックアウトも可能

検索で見つけた商品をカートに入れたいときは、ucp cart create に該当マーチャントの URL と variant ID を渡します。マーチャント側からは、確定された価格や送料見積もり、決済フローへの遷移 URL までが返ってきます。

そこから ucp checkout create でチェックアウトに変換、ucp checkout update で配送先や決済情報を指定、最後に ucp checkout complete で確定、という流れです。

途中で「人間の確認が必要」な場面(たとえば 3Dセキュア の認証や、規制上の同意確認)が発生したときには、UCP はその場で AI エージェントに continue_url を返す仕様になっていて、エージェント側で設定したフック(ブラウザを開く / 通知を送る / Webhook を叩く など)に応じて、買い手にスムーズに引き渡せるようになっています。

ちなみに UCP CLI をインストールするのは誰か

少し誤解しやすいですが、UCP CLI を入れるのはマーチャント(売り手)ではありません。マーチャント側は Shopify を使っているだけで自動的に UCP に対応した状態になっているので、追加の作業は不要です。

UCP CLI を入れるのは、AI エージェント側を構築する人です。具体的には、自分のエージェントに「ショッピング機能」を追加したい開発者や、Hermes Agent のような既存のエージェントフレームワークに skill として組み込むパワーユーザーが該当します。

将来的に ChatGPT や Claude といった一般向け AI アシスタントが UCP に正式対応すれば、一般消費者は何もインストールせずにこの仕組みを使えるようになります。現時点では、開発者と先進的なユーザーが先行して触っているフェーズ、という位置づけです。

マーチャントから見て何が変わりそうか

マーチャントの目線で考えると、これまでのストア集客とは少し違う観点が必要になりそうです。

これまでは、SEO や広告でストアそのものへの来訪を増やすことが集客の主軸でした。来訪者がストアの中で商品を見て、カートに入れて、決済する、という流れです。

一方、AI エージェント経由の購入になると、消費者はストア名を直接指定しません。「キーボードが欲しい」「本革のビジネスバッグが欲しい」と AI に頼むだけで、AI が Global Catalog 横断検索 → 最適な商品を上位から選択 → そのマーチャントから購入、という経路で完結します。マーチャント側の役割は「Catalog 内で見つけてもらう」に集中します。

実機で自社ストアを使ってグローバル検索を試してみたところ、自社の商品が一般的なカテゴリ検索(例えば「本革 バッグ」のような検索)では、なかなか上位に出てこないという観察も得られました。一方、ブランド名や商品名でピンポイント検索をすれば、ちゃんと結果に出てきます。つまり「データはインデックスに乗っているが、ランキングで他に埋もれている」状態です。

この差はおそらく、商品名の付け方、商品説明文の内容、メタフィールドや product type の整備度、価格や在庫の鮮度、レビューなど、AI が商品を比較するときに参照する情報の充実度から生まれていると考えられます。Google SEO の文脈でキーワードやコンテンツの質が問われたように、これからは「AI に対する商品情報の整備度」が新たな勝負所になりそうです。

これから注目したい点

今回の発表で動き出したのは、おそらくスタート地点に過ぎません。これから注目していきたい点をいくつか挙げておきます。

ひとつは、一般向け AI アシスタントの UCP 対応です。ChatGPT、Claude、Gemini など、すでに多くの人が使っている AI アシスタントが UCP を正式サポートするようになれば、消費者は意識せずに「AI 経由でショッピングする」ことが日常になります。そのタイミングが来たとき、Catalog 内で見つけてもらえないストアは、文字通り「存在しない店」と同じになる可能性があります。

もうひとつは、Universal Cart API(現在プレビュー)です。これは複数のマーチャントの商品を、リアルタイムの価格・在庫・割引情報を保ったまま、1 つのカートにまとめて扱えるようにする API で、これが本格稼働すると、AI エージェントは複数のストアから商品を選んで一括で買う、という体験を消費者に提供できるようになります。

そして、Global Catalog のランキングロジックです。Shopify が公式に「何を見ているか」を全て開示することは無いとしても、構造化された商品情報・自然文の説明・正規化された属性・価格や在庫の鮮度・レビューなど、ある程度の方向性は推測できます。マーチャント側でできる準備は、今のうちに進めておく価値があると思います。

まとめ

Shopify が公開した UCP CLI と Global Catalog により、AI エージェントは「全世界の Shopify ストアの商品を横断検索し、見つけた商品を所属マーチャントから直接購入する」という一連の動作を、共通のプロトコルで実行できるようになりました。

Shopify ストアはすでに UCP に対応した状態が用意されているため、開発者側でエージェントを組めば、今日からでも「AI 経由のショッピング」が動かせる状況です。

マーチャントから見ると、これまでの「ストアに来訪してもらう」という前提が、徐々に「Catalog の中で見つけてもらう」という前提に置き換わっていく可能性があります。ストアの作り込みだけでなく、商品情報そのものを AI が解釈しやすい形に整えておく、という地道な準備が、これからのフェーズで効いてくると考えられます。

参考リンク

Back to blog