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 曾成功購買。

来源与延伸閱讀