Shopify代理MCP网关
Shopify上第一个用于自主AI代理的三协议商务网关。
让AI代理完全自主地浏览、协商、购物车、支付和跟踪订单。
    
______________________________________________________________________
为什么存在
AI代理正在学习购物。但今天,代理商没有标准的方法来发现商家的能力、协商条款、构建购物车、授权付款和完成购买——所有这些都不需要人工点击按钮。
Shopify代理MCP网关 通过在单个可部署的网关中实现三种新兴协议来解决这个问题:
| 协议 | 角色 | 它的作用 |
|---|---|---|
| UCP (通用商务协议) | 发现+功能 | 代理在以下位置发现您的商店 /.well-known/ucp,协商能力,并通过标准购物服务API进行交互 |
| AP2 (代理支付协议) | 授权+安全 | 三授权签名链(意向、购物车、支付)确保代理只能使用用户授权的金额 |
| 主控程序 (模型上下文协议) | 代理接口 | Claude、GPT和其他LLM代理通过stdio或HTTP传输直接调用的五个工具注册 |
______________________________________________________________________
特性
- 5个MCP工具 --
scout_inventory,manage_cart,negotiate_terms,execute_checkout,track_order - UCP配置文件发现 --
/.well-known/ucp具有能力协商和传输通告的端点 - AP2授权链 --加密ES256签名链(意向->购物车->付款),具有完整验证
- 护栏 --AI幻觉卫士验证价格、库存、授权金额和结账状态转换
- 收费 --自动计算平台费用(可配置费率)并跟踪分类账
- 结账状态机 --三态机(
incomplete->requires_escalation->ready_for_complete)具有自动检测功能 - 双运行时 --作为Claude Desktop的stdio MCP服务器在本地运行,或通过API网关部署到AWS Lambda
- DynamoDB就绪 --带有带注释的DynamoDB迁移路径的内存存储,用于授权、会话和分类账
______________________________________________________________________
快速开始
先决条件
- Node.js>=22.0.0
- 可访问Storefront API的Shopify商店
- (可选)用于Lambda部署的AWS帐户
1.安装
git clone https://github.com/kuro-tomo/shopify-agentic-mcp.git
cd shopify-agentic-mcp
npm install2.配置
cp .env.example .env编辑 .env 使用您的Shopify凭据:
SHOPIFY_STORE_DOMAIN=your-store.myshopify.com
SHOPIFY_STOREFRONT_TOKEN=your_storefront_token
SHOPIFY_ACCESS_TOKEN=your_access_token
SHOPIFY_API_KEY=your_api_key
SHOPIFY_API_SECRET=your_api_secret3.构建和运行
npm run build
npm startMCP服务器以stdio模式启动,为Claude Desktop或任何MCP客户端做好准备。
4.连接到克劳德桌面
将此添加到您的Claude Desktop配置中(claude_desktop_config.json):
{
"mcpServers": {
"shopify-agentic": {
"command": "node",
"args": ["/absolute/path/to/shopify-agentic-mcp/dist/index.js"],
"env": {
"SHOPIFY_STORE_DOMAIN": "your-store.myshopify.com",
"SHOPIFY_STOREFRONT_TOKEN": "your_token"
}
}
}
}现在问克劳德: *“搜索价格低于50美元的无线耳机,并将最好的耳机添加到我的购物车中。”*
______________________________________________________________________
建筑
+------------------+
| AI Agent |
| (Claude / GPT) |
+--------+---------+
|
MCP (stdio / HTTP)
|
+--------v---------+
| MCP Server |
| 5 Tool Handlers |
+--------+---------+
|
+--------------------+--------------------+
| | |
+--------v-------+ +--------v--------+ +---------v--------+
| UCP Layer | | AP2 Layer | | Middleware |
| - Profile | | - Signer | | - Guardrail |
| - Negotiate | | - Verifier | | - Fee Collector |
| - Checkout SM | | - Mandate Store | | - Rate Limiter |
| - Discovery | | | | - Auth |
+--------+--------+ +-----------------+ +------------------+
|
+--------v--------+
| Shopify APIs |
| - Storefront GQL |
| - Admin REST |
+------------------+______________________________________________________________________
工具参考
| 工具 | 说明 | 关键参数 |
|---|---|---|
scout_inventory | 在Shopify目录中搜索产品 | query (字符串), category?, price_min?, price_max?, limit? |
manage_cart | 创建、修改或检索购物车 | action (创建/添加/删除/获取), cart_id?, variant_id?, quantity? |
negotiate_terms | 在代理商和商家之间协商能力、折扣和运输 | cart_id (字符串), agent_profile_url (字符串), discount_code? |
execute_checkout | 通过AP2授权链验证完成购买 | checkout_id, intent_mandate, cart_mandate, payment_mandate |
track_order | 检索订单状态和履行跟踪 | order_id (字符串) |
所有价格都在 小型单位 (美分)。一个29.99美元的产品 price: 2999.
______________________________________________________________________
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
SHOPIFY_STORE_DOMAIN | 是 | 您的Shopify商店域名(例如。, store.myshopify.com) |
SHOPIFY_STOREFRONT_TOKEN | 是 | 店面API访问令牌 |
SHOPIFY_ACCESS_TOKEN | 是 | 管理员API访问令牌 |
SHOPIFY_API_KEY | 是 | Shopify应用程序API密钥 |
SHOPIFY_API_SECRET | 是 | Shopify应用程序API秘密 |
AP2_SIGNING_PRIVATE_KEY | 是 | JWK格式的ES256私钥用于授权签名 |
AP2_VERIFICATION_PUBLIC_KEY | 没有JWK格式的 | ES256公钥(默认从私钥派生) |
GATEWAY_BASE_URL | 否 | 公共网关URL(默认值: http://localhost:3000) |
FEE_RATE | 否 | 平台费率为十进制(默认值: 0.005 = 0.5%) |
FEE_WALLET_ADDRESS | 否 | 收费钱包地址 |
LOG_LEVEL | 否 | 日志记录级别(默认值: info) |
______________________________________________________________________
部署
AWS Lambda(无服务器)
npm run build
npm run deploy这将通过无服务器框架进行部署,其中包括:
- 运行时:ARM64上的Node.js 22.x(Graviton2)
- 路线:
/.well-known/ucp(GET),/ucp/v1/*(任何),/mcp(POST),/a2a(职位) - DynamoDB:自动配置三个表(授权、分类账、会话),并使用PAY_PER_REQUEST计费
看 docs/deployment.md 查看完整部署指南。
______________________________________________________________________
文档
| 文档 | 描述 |
|---|---|
| 建筑 | 系统架构、组件职责、数据流 |
| UCP集成 | 配置文件发现、能力协商、签出状态机 |
| AP2任务 | 授权类型、签名链、验证流程 |
| 部署指导 | AWS Lambda设置、CloudFront、监控 |
| 开发工具包 | 定价、支持、包含内容 |
______________________________________________________________________
例子
examples/claude-desktop.json--Claude桌面MCP配置examples/autonomous-purchase.ts--完全自主的购买流程examples/mandate-flow.ts--AP2任务生成和验证
______________________________________________________________________
许可证
MIT许可证。看 许可证 了解详情。
______________________________________________________________________
为代理商业时代而建。
