Shopify订单管理服务器

一个用于将Shopify操作与LLM代理集成的模型上下文协议(MCP)服务器,提供订单履行、跟踪、归档和检索等功能。

  • by wfilleman
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 wfilleman/shopify-mcp-server

使用说明

Shopify MCP服务器

用于将Shopify操作与LLM代理集成的模型上下文协议(MCP)服务器。此服务器提供了一组用于处理Shopify订单的工具,包括履行、跟踪、归档和检索。

特性

  • 请求履行订单
  • 在订单中添加跟踪信息
  • 存档订单
  • 获取特定订单的详细信息
  • 列出所有活动订单

设置

先决条件

  • Node.js 18或更高版本
  • 可访问API的Shopify商店

安装

  1. 克隆存储库:

    git clone https://github.com/yourusername/shopify-mcp-server.git
    cd shopify-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 创建一个 .env 文件基于 .env.example 并添加您的Shopify API凭据:

    SHOPIFY_API_KEY=your_api_key
    SHOPIFY_API_SECRET=your_api_secret
    SHOPIFY_SCOPES=write_orders,read_orders
    SHOPIFY_SHOP=your-shop.myshopify.com
    SHOPIFY_ACCESS_TOKEN=your_access_token
    

建立和运行

  1. 构建项目:

    npm run build
    
  2. 启动服务器:

    npm start
    
  3. 对于自动重建的开发:

    npm run dev
    

与LLM代理一起使用

此服务器实现了模型上下文协议(MCP),并公开了以下工具:

  • get-order-details:获取特定订单的详细信息(接受友好的订单号,如“#1001”)
  • get-active-orders:获取所有活动订单的列表
  • request-fulfillment:使用可选的跟踪信息完成订单(接受友好的订单号)
  • add-tracking:将跟踪信息添加到已完成的订单中
  • archive-order:存档订单(接受友好的订单号)

使用友好的订单号

所有需要订单ID的工具现在都接受友好的订单号:

  • #1001 -带有#前缀的订单号
  • 1001 -不带#前缀的订单号
  • 完整Shopify ID(gid://shopify/Order/12345)-仍然支持

当您提供友好的订单号时,系统将自动查找正确的Shopify ID。

更新跟踪信息

要更新订单的跟踪信息,请执行以下步骤:

  1. 首先,使用以下命令获取订单详细信息 get-order-details 使用订单号(例如。, #1001)
  2. 从响应中,在“履行”部分找到履行ID
  3. 使用 add-tracking 带有履行ID和跟踪信息的工具:
    {
      "fulfillmentId": "gid://shopify/Fulfillment/123456789",
      "trackingNumber": "1Z999AA10123456789",
      "trackingCompany": "UPS",
      "trackingUrl": "https://www.ups.com/track?tracknum=1Z999AA10123456789",
      "notifyCustomer": true
    }
    

技术细节

API版本管理

此服务器使用Shopify的 LATEST_API_VERSION 常数(目前为2025-01),以确保与最新API功能的兼容性。这一未来的应用程序,但当Shopify对其API进行突破性更改时,可能偶尔需要对架构进行调整。

PII处理

为了支持所有Shopify计划上的商店,此服务器避免请求个人身份信息(PII),如客户详细信息、电子邮件和地址,这些信息仅限于更高级别的Shopify计划。

许可证

国际协调委员会