返回市场
Shopify-MCP服务器

Shopify-MCP服务器

作者:amir-bengherbi14 星标更新:2025-01-28

项目介绍

Shopify MCP Server

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

<a href="https://glama.ai/mcp/servers/bemvhpy885"><img width="380" height="200" src="https://gips3.baidu.com/it/u=2606267979,658196962&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Shopify Server MCP server" /></a>

功能

  • 产品管理:搜索并检索产品信息
  • 客户管理:加载客户数据并管理客户标签
  • 订单管理:高级订单查询和过滤
  • GraphQL集成:直接集成到Shopify的GraphQL管理API
  • 全面错误处理:针对API和认证问题提供清晰的错误消息

工具

  1. get-products

    • 获取所有产品或按标题搜索
    • 输入参数:
      • searchTitle(可选字符串):按标题筛选产品
      • limit(数字):返回的产品最大数量
    • 返回值:格式化的产品详情,包括标题、描述、处理方式和变体
  2. get-products-by-collection

    • 从特定集合中获取产品
    • 输入参数:
      • collectionId(字符串):要获取产品的集合ID
      • limit(可选数字,默认值:10):返回的产品最大数量
    • 返回值:指定集合中的格式化产品详情
  3. get-products-by-ids

    • 按产品ID获取产品
    • 输入参数:
      • productIds(字符串数组):要检索的产品ID数组
    • 返回值:指定产品的格式化产品详情
  4. get-variants-by-ids

    • 按变体ID获取产品变体
    • 输入参数:
      • variantIds(字符串数组):要检索的变体ID数组
    • 返回值:详细的变体信息,包括产品详情
  5. get-customers

    • 获取Shopify客户,支持分页
    • 输入参数:
      • limit(可选数字):返回的最大客户数量
      • next(可选字符串):下一页游标
    • 返回值:JSON格式的客户数据
  6. tag-customer

    • 向客户添加标签
    • 输入参数:
      • customerId(字符串):要标记的客户ID
      • tags(字符串数组):要添加到客户的标签
    • 返回值:成功或失败的消息
  7. get-orders

    • 获取订单,支持高级过滤和排序
    • 输入参数:
      • first(可选数字):返回的订单限制
      • after(可选字符串):下一页游标
      • query(可选字符串):使用查询语法过滤订单
      • sortKey(可选枚举):排序字段('PROCESSED_AT', 'TOTAL_PRICE', 'ID', 'CREATED_AT', 'UPDATED_AT', 'ORDER_NUMBER')
      • reverse(可选布尔值):反转排序顺序
    • 返回值:格式化的订单详情
  8. get-order

    • 按ID获取单个订单
    • 输入参数:
      • orderId(字符串):要检索的订单ID
    • 返回值:详细的订单信息
  9. create-discount

    • 创建基本折扣码
    • 输入参数:
      • title(字符串):折扣标题
      • code(字符串):客户输入的折扣码
      • valueType(枚举):折扣类型('percentage' 或 'fixed_amount')
      • value(数字):折扣值(百分比作为小数或固定金额)
      • startsAt(字符串):开始日期,ISO格式
      • endsAt(可选字符串):可选结束日期,ISO格式
      • appliesOncePerCustomer(布尔值):是否每个客户只能使用一次折扣
    • 返回值:创建的折扣详情
  10. create-draft-order

    • 创建草稿订单
    • 输入参数:
      • lineItems(数组):包含变体ID和数量的项目数组
      • email(字符串):客户电子邮件
      • shippingAddress(对象):发货地址详情
      • note(可选字符串):订单的可选备注
    • 返回值:创建的草稿订单详情
  11. complete-draft-order

    • 完成草稿订单
    • 输入参数:
      • draftOrderId(字符串):要完成的草稿订单ID
      • variantId(字符串):草稿订单中的变体ID
    • 返回值:已完成订单详情
  12. get-collections

    • 获取所有集合
    • 输入参数:
      • limit(可选数字,默认值:10):返回的最大集合数量
      • name(可选字符串):按名称筛选集合
    • 返回值:集合详情
  13. get-shop

    • 获取商店详情
    • 输入参数:无
    • 返回值:基本商店信息
  14. get-shop-details

    • 获取扩展商店详情,包括发货国家
    • 输入参数:无
    • 返回值:扩展商店信息,包括发货国家
  15. manage-webhook

    • 订阅、查找或取消订阅Webhook
    • 输入参数:
      • action(枚举):执行的操作('subscribe', 'find', 'unsubscribe')
      • callbackUrl(字符串):Webhook回调URL
      • topic(枚举):要订阅的Webhook主题
      • webhookId(可选字符串):Webhook ID(取消订阅时需要)
    • 返回值:Webhook详情或成功消息

配置

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
  7. 点击保存
  8. 点击安装应用
  9. 点击安装以授予该应用访问您的商店数据的权限
  10. 安装后,您将看到您的管理API访问令牌
  11. 复制此令牌——您将在配置中需要它

注意:安全存储您的访问令牌。它提供了对您的商店数据的访问权限,不应共享或提交到版本控制中。 更多关于如何创建Shopify应用的信息,请参见此处

使用Claude Desktop

添加到您的claude_desktop_config.json

{
  "mcpServers": {
    "shopify": {
      "command": "npx",
      "args": ["-y", "shopify-mcp-server"],
      "env": {
        "SHOPIFY_ACCESS_TOKEN": "<YOUR_ACCESS_TOKEN>",
        "MYSHOPIFY_DOMAIN": "<YOUR_SHOP>.myshopify.com"
      }
    }
  }
}

开发

  1. 克隆仓库
  2. 安装依赖项:
npm install
  1. 创建.env文件:
SHOPIFY_ACCESS_TOKEN=your_access_token
MYSHOPIFY_DOMAIN=your-store.myshopify.com
  1. 构建项目:
npm run build
  1. 运行测试:
npm test

依赖项

  • @modelcontextprotocol/sdk - MCP协议实现
  • graphql-request - Shopify API的GraphQL客户端
  • zod - 运行时类型验证

贡献

欢迎贡献!请先阅读我们的贡献指南

许可证

MIT

社区


使用❤️构建于模型上下文协议