Shopify 於 10 月 13 日推出 Shop MCP,讓開發者透過單一代管連線搜尋商品、使用購物車與結帳。服務位於 https://mcp.shop.com/。這 17 個工具可在 Shopify Catalog 尋找商品,並開啟販售該商品之商家的結帳流程。型錄搜尋不需要 API 金鑰。實際購買仍須由消費者核准。

本指南供設定 MCP 相容助理的開發者使用。以下步驟依照 10 月 14 日查閱的 Shopify 文件。BIG CHANGE 並未連接代理、建立購物車或進行購買,因此本指南描述預期結果,而非實測效能。

重大變化

  • 有哪些改變: Shopify 現在提供代管 MCP 連線,涵蓋從型錄搜尋到商家購物車與結帳的流程。也說明已登入的消費者明確確認後,如何使用 Shop Pay 完成結帳。
  • 誰可以使用: 支援通訊協定版本 2026-07-28 的 MCP 用戶端開發者,或會執行文件所述 HTTP 呼叫的程式碼。只使用 initialize 握手的舊版用戶端無法直接連線。
  • 要檢查什麼: 結帳是一筆與單一商家的交易。必須同時有 completed 和一個 order 才能確認購買;購物車、結帳連結或處理中的付款都不算。

連線前

您需要支援遠端 HTTP 伺服器的 MCP 用戶端,以及 Shopify 文件所述的 連線方式;也可以使用透過 HTTP 呼叫伺服器的應用程式。請使用根網址 https://mcp.shop.com/;加上 /mcp 會回傳 404。搜尋與購物車工具不需要 Shop 帳戶。登入後,助理可使用已儲存的偏好與地址、尋找訂單,並在商家支援時提供 Shop Pay。若助理使用自行撰寫的 HTTP 程式碼,Shopify 文件說明了由消費者在 Shop 網站核准的 OAuth 裝置流程。

搜尋前請選擇商品查詢、目的地國家與貨幣。將消費者明確提出的要求與搜尋脈絡分開:國家或貨幣有助於在地化結果;價格上限、尺寸或配送目的地才是篩選條件。API 以貨幣的最小單位表示價格。服務可能回報篩選條件未如要求套用,因此應先讀取回應中的 messages,再宣稱結果符合篩選條件。Shopify 搜尋指南說明這項差異,以及每頁 1 至 50 筆結果的限制。

從搜尋到訂單的文件化流程

  1. 連線並確認搜尋。使用 https://mcp.shop.com/ 設定用戶端;若用戶端支援,請載入 Shopify 的 Shop skill。Shopify 建議先搜尋三盞桌燈、不要建立購物車,以此檢查連線。正常運作的搜尋會回傳商品、賣家、指定貨幣的價格及商家連結。使用 HTTP 的開發者可參照 Shopify 的 JSON-RPC 快速入門,其中包含必要的通訊協定標頭與 search_catalog 請求。這是唯讀檢查,不需要登入。
  2. 選擇正確商品。使用消費者的查詢與要求執行 search_catalog。搜尋會回傳推薦款式;若消費者要其他尺寸或顏色,請使用 get_product。顯示或購買前,應將 product.selected 與回傳的 variant.options,逐一對照消費者指定的尺寸、顏色及其他選項。Shopify 表示,系統可能在不警告的情況下放寬選擇條件。消費者選定商品或更改選項後,請再次呼叫 get_product,確認目前的供貨狀況與價格。款式 ID 和賣家網域必須照原樣保留。不要假設商家會維持先前顯示的價格。任何警告都應放在相關商品旁。這些檢查詳見 尋找商品。
  3. 收到要求後再建立購物車。依照消費者收集商品的指示,為所選商家與款式呼叫 create_cart。購物車只會儲存商品,不會建立訂單。Shopify 表示每個購物車與結帳流程都只屬於一個商家,因此不同賣家的商品應分開放入不同購物車。結果應包含購物車 ID 與其中的品項。若消費者只是瀏覽,搜尋後就應停止;Shopify 的購物車指南指出,對商品感興趣本身不代表有權建立購物車。
  4. 開啟並檢查結帳。消費者詢問總價或準備購買時,請使用購物車 ID,或搜尋回傳的正確款式 ID 與賣家網域呼叫 create_checkout。結帳文件應回傳 ID、狀態、品項、貨幣、總額、付款方式、messages、商家政策 links,以及商家頁面的 continue_url。繼續前,應向消費者顯示含標籤的最新總額,包括運費與稅金、所有警告與政策連結。說明應緊鄰相關商品或欄位。即使代理可以完成結帳,也要將未更動且保留查詢參數的 continue_url 與其涵蓋的商品一併提供給消費者。若需要地址,結帳可能處於 incomplete;若消費者必須在商家頁面完成,則可能處於 requires_escalation。Shopify 表示結帳預設於六小時後到期。
  5. 付款由消費者決定。消費者登入後,結帳可能提供已儲存地址與 Shop Pay。呼叫 complete_checkout 前,請讀取最新結帳、確認狀態為 ready_for_complete,顯示商家、商品、數量、總額與可用付款方式,並讓消費者自行選擇付款方式。不要代替他們選擇。即使代理可以完成結帳,也要讓消費者取得商家未更動的 continue_url;若沒有可用付款工具,消費者必須使用該連結。Shopify 的結帳說明指出,核准後應只傳送一次 complete_checkout,再檢查回傳狀態。針對 Shopify 以外商店的另一種核准流程會讓消費者在 Shop 核准付款,並提供卡片供該商店自己的結帳使用;這不是步驟 3、4 所述的 Shopify 商家結帳流程。
  6. 確認結果。只有 status: completed 與 order 才能確認商家已建立訂單。若付款仍在處理,請使用 get_checkout 再次讀取狀態。Shopify 表示推出時沒有網路掛鉤,因此整合程式必須輪詢 get_checkout 取得更新。如果完成呼叫逾時或回應不清楚,不要再次傳送,也不要開啟替代結帳。請讀取現有結帳;若沒有同時顯示 completed 與 order,就告知消費者購買尚未確認,並提供 continue_url。

限制與復原

Shopify 表示搜尋不需要憑證。其推出公告建議需要較高頻率限制的開發者在 Shopify Dev Dashboard 取得 API 金鑰,但沒有公開該金鑰的價格或頻率表。商家商品價格、運費與稅金取自目前的結帳資料;消費者付款前應先檢查。若開發者使用主機或模型,代理也會有自己的相關成本。公告未量化這些成本。

讀取失敗後,可在指定的 retry_after 間隔後重試。對於購物車與結帳的建立或更新,Shopify 的錯誤指南建議使用冪等性金鑰,並在重試結果不明的寫入前先讀取現有資源。若建立請求未帶金鑰且在回傳 ID 前失敗,結果便未知;不要猜測並再次建立。complete_checkout 的規則更嚴格:回應不確定時絕不可重複呼叫。當 requires_escalation 或缺少付款資訊使代理無法完成流程時,消費者仍應前往商家頁面。

請將結帳 ID、結帳連結、存取權杖與付款工具視為敏感資料。Shopify 表示結帳 ID 與 continue_url 含有存取金鑰,因此不要放入記錄或分析資料,連結也只能分享給消費者。驗證參考指出 Shop 權杖只能放在授權標頭中傳送至 https://mcp.shop.com/。付款工具可能含有憑證;不要列印或記錄。

BIG CHANGE 之前曾報導 Shopify 的瀏覽器代理結帳工具。這次代管 MCP 發布說明的是另一種從型錄探索開始的流程。Shopify 的發布說明與手冊列出開發者可呼叫的功能及應檢查的回應;但未證明轉換率提升、負載下可靠性或 BIG CHANGE 曾成功購買。

來源與延伸閱讀