Markdown 版本
AI-translated from English; not yet reviewed by a fluent editor.
# 如何将购物代理连接至 Shopify Shop MCP
> Shopify 全新的 Shop MCP 串接了型錄搜索、商家购物车与结账。本指南依據文件说明设置方式、消费者核准步驟,以及訂單驗證的界线。
By BIG CHANGE Editorial
Published: 2026-10-14T12:58:17.853Z
Updated: 2026-10-14T12:58:17.853Z
Canonical: https://bigchange.ai/blog/connect-shopping-agent-shopify-shop-mcp

AI-generated conceptual illustration by BIG CHANGE; no actual Shop MCP interface, agent test or purchase is depicted.
Shopify [於 10 月 13 日推出 Shop MCP](https://shopify.dev/changelog/posts/add-shopping-and-shop-pay-checkout-to-any-agent-with-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 文件所述的 [連线方式](https://shop.dev/docs/connect);也可以使用透過 HTTP 呼叫伺服器的应用程式。請使用根网址 `https://mcp.shop.com/`;加上 `/mcp` 会回傳 404。搜索与购物车工具不需要 Shop 账户。登录后,助理可使用已保存的偏好与地址、尋找訂單,并在商家支持時提供 Shop Pay。若助理使用自行撰寫的 HTTP 程式碼,Shopify 文件说明了由消费者在 Shop 網站核准的 OAuth 裝置流程。
搜索前請选择商品查詢、目的地國家与货币。将消费者明確提出的要求与搜索脈絡分開:國家或货币有助於在地化結果;价格上限、尺寸或配送目的地才是篩选條件。API 以货币的最小单位表示价格。服務可能回報篩选條件未如要求套用,因此应先讀取回应中的 `messages`,再宣稱結果符合篩选條件。[Shopify 搜索指南](https://shop.dev/docs/search)说明这項差異,以及每页 1 至 50 筆結果的限制。
## 从搜索到訂單的文件化流程
1. **連线并确认搜索。**使用 `https://mcp.shop.com/` 设置用戶端;若用戶端支持,請載入 Shopify 的 [Shop skill](https://shop.dev/docs/connect)。Shopify 建議先搜索三盞桌燈、不要建立购物车,以此检查連线。正常運作的搜索会回傳商品、賣家、指定货币的价格及商家链接。使用 HTTP 的开发者可參照 Shopify 的 [JSON-RPC 快速入門](https://shop.dev/docs/quickstart),其中包含必要的协议標頭与 `search_catalog` 請求。这是唯讀检查,不需要登录。
2. **选择正確商品。**使用消费者的查詢与要求執行 `search_catalog`。搜索会回傳推薦款式;若消费者要其他尺寸或顏色,請使用 `get_product`。显示或購買前,应将 `product.selected` 与回傳的 `variant.options`,逐一對照消费者指定的尺寸、顏色及其他选項。Shopify 表示,系統可能在不警告的情況下放寬选择條件。消费者选定商品或更改选項后,請再次呼叫 `get_product`,确认目前的供货狀況与价格。款式 ID 和賣家網域必須照原樣保留。不要假設商家会維持先前显示的价格。任何警告都应放在相關商品旁。这些检查詳見 [尋找商品](https://shop.dev/docs/search)。
3. **收到要求后再建立购物车。**依照消费者收集商品的指示,为所选商家与款式呼叫 `create_cart`。购物车只会保存商品,不会建立訂單。Shopify 表示每个购物车与结账流程都只屬於一个商家,因此不同賣家的商品应分開放入不同购物车。結果应包含购物车 ID 与其中的品項。若消费者只是瀏覽,搜索后就应停止;Shopify 的[购物车指南](https://shop.dev/docs/checkout)指出,對商品感興趣本身不代表有權建立购物车。
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 的[结账说明](https://shop.dev/docs/checkout)指出,核准后应只发送一次 `complete_checkout`,再检查回傳狀態。針對 Shopify 以外商店的另一種[核准流程](https://shop.dev/docs/approvals)会让消费者在 Shop 核准付款,并提供卡片供该商店自己的结账使用;这不是步驟 3、4 所述的 Shopify 商家结账流程。
6. **确认結果。**只有 `status: completed` 与 `order` 才能确认商家已建立訂單。若付款仍在處理,請使用 `get_checkout` 再次讀取狀態。Shopify 表示推出時沒有网络掛鉤,因此整合程式必須輪詢 `get_checkout` 取得更新。如果完成呼叫逾時或回应不清楚,不要再次发送,也不要打开替代结账。請讀取現有结账;若沒有同時显示 `completed` 与 `order`,就告知消费者購買尚未确认,并提供 `continue_url`。
## 限制与復原
Shopify 表示搜索不需要憑證。其[推出公告](https://shopify.dev/changelog/posts/add-shopping-and-shop-pay-checkout-to-any-agent-with-shop-mcp)建議需要較高頻率限制的开发者在 Shopify Dev Dashboard 取得 API 金鑰,但沒有公開该金鑰的价格或頻率表。商家商品价格、運費与稅金取自目前的结账数据;消费者付款前应先检查。若开发者使用主机或模型,代理也会有自己的相關成本。公告未量化这些成本。
讀取失敗后,可在指定的 `retry_after` 間隔后重試。對於购物车与结账的建立或更新,Shopify 的[错误指南](https://shop.dev/docs/errors)建議使用冪等性金鑰,并在重試結果不明的寫入前先讀取現有資源。若建立請求未帶金鑰且在回傳 ID 前失敗,結果便未知;不要猜測并再次建立。`complete_checkout` 的規則更嚴格:回应不確定時絕不可重複呼叫。當 `requires_escalation` 或缺少付款信息使代理无法完成流程時,消费者仍应前往商家页面。
請将结账 ID、结账链接、存取權杖与付款工具視为敏感数据。Shopify 表示结账 ID 与 `continue_url` 含有存取金鑰,因此不要放入记录或分析数据,链接也只能分享給消费者。[驗證參考](https://shop.dev/docs/authentication)指出 Shop 權杖只能放在授權標頭中发送至 `https://mcp.shop.com/`。付款工具可能含有憑證;不要列印或记录。
BIG CHANGE 之前曾報導 Shopify 的[瀏覽器代理结账工具](https://bigchange.ai/blog/shopify-webmcp-browser-agent-checkout)。这次代管 MCP 發布说明的是另一種从型錄探索開始的流程。Shopify 的發布说明与手冊列出开发者可呼叫的功能及应检查的回应;但未證明转换率提升、負載下可靠性或 BIG CHANGE 曾成功購買。
## 来源与延伸閱讀
- [Shopify 开发者更新紀錄,〈透過 Shop MCP 为任何代理加入购物与 Shop Pay 结账〉,2026 年 10 月 13 日](https://shopify.dev/changelog/posts/add-shopping-and-shop-pay-checkout-to-any-agent-with-shop-mcp)。發布范围、代管端点、17 个工具、搜索存取、结账路徑与發布時的网络掛鉤狀態。
- [Shop MCP 概覽与連线指南](https://shop.dev/docs/)。目前协议、用戶端与登录要求。
- [Shopify,尋找商品](https://shop.dev/docs/search)。搜索欄位、款式选择、价格单位及篩选警告。
- [Shopify,购物车与结账](https://shop.dev/docs/checkout)。商家范围、狀態意義、结账完成及不確定結果的處理方式。
- [Shopify,错误与重試](https://shop.dev/docs/errors)。讀取与寫入復原規則。
- [Shopify,驗證](https://shop.dev/docs/authentication)。Shop 账户存取与權杖處理。
## Sources
- [Shopify 开发者更新紀錄,透過 Shop MCP 为任何代理加入购物与 Shop Pay 结账](https://shopify.dev/changelog/posts/add-shopping-and-shop-pay-checkout-to-any-agent-with-shop-mcp) — 發布日期、正式端点、17 个工具、無金鑰型錄搜索、Shop 与非 Shopify 结账路徑、推出時沒有网络掛鉤,以及提高頻率限制的 Dev Dashboard 金鑰。这些是 Shopify 的说法,不是獨立結果。
- [Shop MCP 概覽](https://shop.dev/docs/) — 代管端点、2026-07-28 MCP 版本、2026-08-25 UCP 文件版本、每次结账限一个商家,以及完成訂單的确认方式。
- [Shop MCP,连接代理](https://shop.dev/docs/connect) — 根网址与协议需求、用戶端方式、skill 載入及唯讀連线检查。
- [Shop MCP,快速入門](https://shop.dev/docs/quickstart) — 文件所述 JSON-RPC 搜索請求、標頭、回应格式、价格单位与错误。
- [Shop MCP,尋找商品](https://shop.dev/docs/search) — 查詢、篩选、脈絡、推薦款式与警告。
- [Shop MCP,购物车与结账](https://shop.dev/docs/checkout) — 购物车与结账工具行为、商家范围、结账欄位与狀態、人工付款核准、敏感 ID 及不確定完成的處理。
- [Shop MCP,错误与重試](https://shop.dev/docs/errors) — 讀取復原、非付款寫入的冪等性金鑰,以及不確定時不得重複 complete_checkout。
- [Shop MCP,驗證](https://shop.dev/docs/authentication) — Shop 權杖范围、OAuth 裝置流程与私人憑證保護。
- [Shop MCP,核准在 Shopify 以外的購買](https://shop.dev/docs/approvals) — 为非 Shopify 商家结账設計的另一條消费者核准与卡片流程。
BIG CHANGE 新闻通讯
纵览全局,按自己的节奏。
关于人工智能和机器人技术的近期报道、值得关注的变化以及可采用的实用想法。选择每日简报、每周摘要或每月视角。
Next scheduled send (UTC): . Your first edition arrives at the next scheduled send after you confirm.