返回市场
MCP商店连接器

MCP商店连接器

作者:asaricorp8 星标更新:2025-05-07

项目介绍

Shopify MCP Server

针对Shopify API的MCP服务器,通过GraphQL API与商店数据进行交互。此服务器提供了管理产品、客户、订单等功能的工具。

功能

  • 产品管理:搜索并获取产品信息
  • 客户管理:加载客户数据并管理客户标签
  • 订单管理:高级订单查询和过滤
  • 集合管理:创建和管理集合

配置

Shopify 访问令牌

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

  1. 在您的Shopify管理后台,进入设置 > 应用和销售渠道
  2. 点击开发应用(您可能需要先启用开发者预览)
  3. 点击创建应用
  4. 设置应用名称(例如:"Shopify MCP Server")
  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
  • Windows: %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(字符串):要检索的产品ID

客户管理

  1. get-customers

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

    • 更新客户的资料
    • 输入:
      • id(字符串,必需):Shopify客户ID(仅数字ID,如"6276879810626")
      • firstName(字符串,可选):客户的名
      • lastName(字符串,可选):客户的姓
      • email(字符串,可选):客户的电子邮件地址
      • phone(字符串,可选):客户的电话号码
      • tags(字符串数组,可选):应用于客户的标签
      • note(字符串,可选):关于客户的备注
      • taxExempt(布尔值,可选):客户是否免税
      • metafields(对象数组,可选):用于存储额外数据的客户元字段
  3. get-customer-orders

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

    • 在Shopify中创建新客户
    • 输入:
      • email(字符串,必需):客户的电子邮件地址
      • firstName(字符串,可选):客户的名
      • lastName(字符串,可选):客户的姓
      • phone(字符串,可选):客户的电话号码
      • tags(字符串数组,可选):应用于客户的标签
      • note(字符串,可选):关于客户的备注
      • taxExempt(布尔值,可选):客户是否免税
      • 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(字符串,必需):产品变体ID
        • quantity(数字,必需):产品的数量
        • customAttributes(对象数组,可选):行项目的自定义属性
      • email(字符串,可选):客户电子邮件
      • phone(字符串,可选):客户电话号码
      • note(字符串,可选):订单备注
      • tags(字符串数组,可选):订单标签
      • customAttributes(对象数组,可选):订单的自定义属性
      • metafields(对象数组,可选):订单元字段
      • billingAddress(对象,可选):账单地址信息
      • shippingAddress(对象,可选):发货地址信息
      • customerId(字符串,可选):现有客户的ID
      • shippingLine(对象,可选):运输方式和价格
      • taxExempt(布尔值,可选):订单是否免税
      • presentmentCurrencyCode(字符串,可选):订单的货币代码
  5. create-fulfillment

    • 在Shopify中为订单创建新的履行
    • 输入:
      • orderId(字符串,必需):要履行的订单ID
      • notifyCustomer(布尔值,默认值:true):是否通知客户履行情况
      • trackingInfo(对象,可选):跟踪信息
        • number(字符串,可选):跟踪编号
        • url(字符串,可选):跟踪网址
        • company(字符串,可选):运输公司
      • lineItems(对象数组,可选):具体要履行的行项目
        • id(字符串,必需):行项目ID
        • quantity(数字,必需):要履行的数量
      • locationId(字符串,可选):履行订单的地点ID
      • trackingNumbers(字符串数组,可选):多个跟踪编号
      • trackingUrls(字符串数组,可选):多个跟踪网址
      • metadata(对象,可选):履行的附加元数据

集合管理

  1. create-collection
    • 在Shopify中创建新的手动或自动集合
    • 输入:
      • title(字符串,必需):集合标题
      • description(字符串,可选):集合描述
      • descriptionHtml(字符串,可选):描述的HTML版本
      • handle(字符串,可选):集合的URL处理程序
      • isPublished(布尔值,可选):集合是否已发布
      • seo(对象,可选):SEO设置
        • title(字符串,可选):SEO标题
        • description(字符串,可选):SEO描述
      • image(对象,可选):集合图片
        • src(字符串,必需):图片URL
        • altText(字符串,可选):图片的替代文本
      • productsToAdd(字符串数组,可选):要添加到集合中的产品ID
      • sortOrder(字符串,可选):集合中产品排序的方式
        • 选项:"MANUAL", "BEST_SELLING", "ALPHA_ASC", "ALPHA_DESC", "PRICE_DESC", "PRICE_ASC", "CREATED", "CREATED_DESC", "ID_DESC", "RELEVANCE"
      • templateSuffix(字符串,可选):用于自定义模板的模板后缀
      • privateMetafields(对象数组,可选):集合的私有元字段
        • owner(字符串,必需):元字段所有者
        • namespace(字符串,必需):元字段命名空间
        • key(字符串,必需):元字段键
        • value(字符串,必需):元字段值
        • valueType(字符串,必需):值类型(例如:"STRING", "INTEGER"等)
      • ruleSet(对象,可选):自动集合的规则
        • rules(对象数组,必需):集合规则
          • column(字符串,必需):规则列(例如:"TAG", "TITLE"等)
          • relation(字符串,必需):规则关系(例如:"EQUALS", "CONTAINS"等)
          • condition(字符串,必需):规则条件值
        • appliedDisjunctively(布尔值,可选,默认值:true):规则是否组合为OR(true)或AND(false)
      • metafields(对象数组,可选):集合的公共元字段
        • namespace(字符串,必需):元字段命名空间
        • key[END_OF_TEXT]