Shopify商店数据管理服务器

通过GraphQL API与Shopify商店数据交互的管理服务器,提供产品、客户、订单和集合的管理工具。

  • by asaricorp
  • TypeScript
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 sarayd/mcp-shopify

使用说明

Shopify MCP服务器

Shopify API的MCP服务器,通过GraphQL API实现与商店数据的交互。此服务器提供用于管理产品、客户、订单等的工具。

特性

  • 产品管理:搜索和检索产品信息
  • 客户管理:加载客户数据并管理客户标签
  • 订单管理:高级订单查询和筛选
  • 收集管理:创建和管理集合

设置

Shopify访问令牌

要使用此MCP服务器,您需要在Shopify商店中创建一个自定义应用程序:

  1. 从您的Shopify管理员,转到 设置 > 应用程序和销售渠道
  2. 点击 开发应用程序 (您可能需要先启用开发人员预览)
  3. 点击 创建应用程序
  4. 为您的应用程序设置一个名称(例如,“Shopify MCP服务器”)
  5. 点击 配置管理员API作用域
  6. 选择以下范围:
    • read_products, write_products
    • read_customers, write_customers
    • read_orders, write_orders
    • read_collections, write_collections
  7. 点击 保存
  8. 点击 安装应用程序
  9. 点击 安装 让应用程序访问您的商店数据
  10. 安装后,您将看到 管理员API访问令牌
  11. 复制此令牌-您需要它进行配置

使用Claude Desktop

将此添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "shopify": {
      "command": "npx",
      "args": [
        "shopify-mcp",
        "--accessToken",
        "<YOUR_ACCESS_TOKEN>",
        "--domain",
        "<YOUR_SHOP>.myshopify.com"
      ]
    }
  }
}

Claude Desktop配置文件的位置:

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%/Claude/claude_desktop_config.json

替代方案:使用环境变量在本地运行

如果您更喜欢使用环境变量而不是命令行参数:

  1. 创建一个 .env 使用您的Shopify凭据文件:

    SHOPIFY_ACCESS_TOKEN=your_access_token
    MYSHOPIFY_DOMAIN=your-store.myshopify.com
    
  2. 使用npx运行服务器:

    npx shopify-mcp
    

直接安装(可选)

如果要全局安装该软件包:

npm install -g shopify-mcp

然后运行它:

shopify-mcp --accessToken=<YOUR_ACCESS_TOKEN> --domain=<YOUR_SHOP>.myshopify.com

可用工具

产品管理

  1. get-products

    • 获取所有产品或按标题搜索
    • 输入:
      • searchTitle (可选字符串):按标题筛选产品
      • limit (数量):可退回的最大产品数量
  2. get-product-by-id

    • 按ID获取特定产品
    • 输入:
      • productId (string):要检索的产品的ID

客户管理

  1. get-customers

    • 获取客户或按姓名/电子邮件搜索
    • 输入:
      • searchQuery (可选字符串):按姓名或电子邮件筛选客户
      • limit (可选数量,默认值:10):可退回的最大客户数量
  2. update-customer

    • 更新客户信息
    • 输入:
      • id (字符串,必填):Shopify客户ID(仅限数字ID,如“6276879810626”)
      • firstName (字符串,可选):客户的名字
      • lastName (字符串,可选):客户的姓氏
      • email (字符串,可选):客户的电子邮件地址
      • phone (字符串,可选):客户的电话号码
      • tags (字符串数组,可选):应用于客户的标签
      • note (string,可选):关于客户的注释
      • taxExempt (boolean,可选):客户是否免税
      • metafields (对象数组,可选):用于存储其他数据的客户元字段
  3. get-customer-orders

    • 获取特定客户的订单
    • 输入:
      • customerId (字符串,必填):Shopify客户ID(仅限数字ID,如“6276879810626”)
      • limit (可选数字,默认值:10):要返回的最大订单数
  4. create-customer

    • 在Shopify中创建新客户
    • 输入:
      • email (string,必填):客户的电子邮件地址
      • firstName (字符串,可选):客户的名字
      • lastName (字符串,可选):客户的姓氏
      • phone (字符串,可选):客户的电话号码
      • tags (字符串数组,可选):应用于客户的标签
      • note (string,可选):关于客户的注释
      • taxExempt (boolean,可选):客户是否免税
      • password (字符串,可选):客户帐户的密码
      • passwordConfirmation (字符串,可选):确认密码
      • addresses (对象数组,可选):客户地址
      • metafields (对象数组,可选):用于存储其他数据的客户元字段

订单管理

  1. get-orders

    • 使用可选过滤功能获取订单
    • 输入:
      • status (可选字符串):按订单状态筛选
      • limit (可选数字,默认值:10):要返回的最大订单数
  2. get-order-by-id

    • 按ID获取特定订单
    • 输入:
      • orderId (字符串,必填):完整的Shopify订单ID(例如,“gid://shopify/Order/6090960994370")
  3. update-order

    • 用新信息更新现有订单
    • 输入:
      • id (字符串,必填):Shopify订单ID
      • tags (字符串数组,可选):订单的新标签
      • email (字符串,可选):更新客户电子邮件
      • note (字符串,可选):订单备注
      • customAttributes (对象数组,可选):订单的自定义属性
      • metafields (对象数组,可选):对图元字段进行排序
      • shippingAddress (对象,可选):收货地址信息
  4. create-order

    • 在Shopify中创建新的草稿订单
    • 输入:
      • lineItems (对象数组,必填):订单中要包含的产品
        • variantId (string,必填):产品变体的ID
        • quantity (数字,必填):产品数量
        • customAttributes (对象数组,可选):行项目的自定义属性
      • email (字符串,可选):客户电子邮件
      • phone (字符串,可选):客户电话号码
      • note (字符串,可选):订单备注
      • tags (字符串数组,可选):订单标签
      • customAttributes (对象数组,可选):订单的自定义属性
      • metafields (对象数组,可选):对图元字段进行排序
      • billingAddress (对象,可选):账单地址信息
      • shippingAddress (对象,可选):收货地址信息
      • customerId (字符串,可选):现有客户的ID
      • shippingLine (对象,可选):配送方式和价格
      • taxExempt (boolean,可选):订单是否免税
      • presentmentCurrencyCode (字符串,可选):订单的货币代码
  5. create-fulfillment

    • 在Shopify中为订单创建新的履行
    • 输入:
      • orderId (string,必填):要完成的订单的ID
      • notifyCustomer (boolean,默认值:true):是否通知客户履行
      • trackingInfo (对象,可选):跟踪信息
        • number (字符串,可选):跟踪号
        • url (字符串,可选):跟踪URL
        • company (字符串,可选):运输公司
      • lineItems (对象数组,可选):要完成的特定行项目
        • id (字符串,必填):行项目的ID
        • quantity (数字,必填):要完成的数量
      • locationId (字符串,可选):完成订单的位置的ID
      • trackingNumbers (字符串数组,可选):多个跟踪号
      • trackingUrls (字符串数组,可选):多个跟踪URL
      • metadata (object,可选):履行的其他元数据

收集管理

  1. create-collection
    • 在Shopify中创建新的手动或自动收藏
    • 输入:
      • title (字符串,必填):收藏标题
      • description (字符串,可选):集合描述
      • descriptionHtml (字符串,可选):描述的HTML版本
      • handle (字符串,可选):集合的URL句柄
      • isPublished (boolean,可选):是否发布集合
      • seo (对象,可选):SEO设置
        • title (字符串,可选):SEO标题
        • description (字符串,可选):SEO描述
      • image (对象,可选):收藏图像
        • src (字符串,必填):图像URL
        • altText (字符串,可选):图像的Alt文本
      • productsToAdd (字符串数组,可选):要添加到集合中的产品ID
      • sortOrder (string,可选):产品在集合中的排序方式
        • 选项:“手动”、“BEST_SELLING”、“ALPHA_ASC”、“阿尔法_德”、“价格_德”
      • templateSuffix (字符串,可选):自定义模板的模板后缀
      • privateMetafields (对象数组,可选):集合的私有图元字段
        • owner (字符串,必填):元字段所有者
        • namespace (字符串,必填):元字段命名空间
        • key (字符串,必填):元字段键
        • value (字符串,必填):元字段值
        • valueType (string,必填):值的类型(例如,“string”、“INTEGER”等)
      • ruleSet (对象,可选):自动收集规则
        • rules (对象数组,必填):收集规则
          • column (字符串,必填):规则列(例如“TAG”、“TITLE”等)
          • relation (string,必填):规则关系(例如“EQUALS”、“CONTAINS”等)
          • condition (字符串,必填):规则条件值
        • appliedDisjunctively (boolean,可选,默认值:true):规则是否与OR(true)或AND(false)组合
      • metafields (对象数组,可选):集合的公共图元字段
        • namespace (字符串,必填):元字段命名空间
        • key (字符串,必填):元字段键
        • value (字符串,必填):元字段值
        • type (字符串,必填):元字段类型
      • publications (对象数组,可选):发布设置
        • publicationId (字符串,必填):发布的ID
        • publishDate (字符串,可选):发布集合的日期

许可证

麻省理工学院