Shopify数据管理服务器

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

  • by tanush-yadav
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 tanush-yadav/shopify-mcp

使用说明

Shopify MCP服务器

Shopify API的MCP服务器,通过GraphQL实现与商店数据(产品、客户、订单等)的交互。

特性

提供用于产品、客户和订单管理、直接GraphQL集成和清晰错误处理的工具。

先决条件

  1. Node.js(v16+)
  2. Shopify自定义应用访问令牌

安装

git clone https://github.com/pashpashpash/shopify-mcp-server.git
cd shopify-mcp-server
npm install
npm run build

Shopify设置和配置

  1. 创建自定义应用程序:在Shopify管理中> 设置 > 应用程序和销售渠道 > 开发应用程序 > 创建应用程序.
  2. 配置作用域:赠款 read/write 权限 products, customers,以及 orders.
  3. 安装应用程序并获取令牌:安装应用程序并复制 管理员API访问令牌.
  4. 创建 .env 文件 在项目根目录中:
    SHOPIFY_ACCESS_TOKEN=your_access_token
    MYSHOPIFY_DOMAIN=your-store.myshopify.com
    
  5. 配置Claude桌面 (claude_desktop_config.json):
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %APPDATA%/Claude/claude_desktop_config.json
    {
      "mcpServers": {
        "shopify": {
          "command": "node",
          "args": ["path/to/shopify-mcp-server/dist/index.js"],
          "env": {
            "SHOPIFY_ACCESS_TOKEN": "your_access_token",
            "MYSHOPIFY_DOMAIN": "your-store.myshopify.com"
          }
        }
      }
    }
    
    注意:使用克隆仓库的正确路径并安全存储令牌。

可用工具

产品管理

  1. findProducts:获取所有产品或按标题搜索。
    • searchTitle (可选字符串):按标题筛选。
    • limit (数量):最大产品。
  2. listProductsInCollection:从收藏中获取产品。
    • collectionId (string):集合ID。
    • limit (可选数字,默认值:10):最大产品数。
  3. getProductsByIds:按ID获取产品。
    • productIds (字符串数组):产品ID。
  4. getVariantsByIds:按ID获取变体。
    • variantIds (字符串数组):变量ID。

客户管理

  1. listCustomers:通过分页吸引客户。
    • limit (可选数字):最大客户数。
    • next (可选字符串):下一页光标。
  2. addCustomerTags:为客户添加标签。
    • customerId (string):客户ID。
    • tags (字符串数组):要添加的标签。

订单管理

  1. findOrders:使用高级过滤/排序功能获取订单。
    • first (可选数字):限价订单。
    • after (可选字符串):下一页光标。
    • query (可选字符串):筛选查询。
    • sortKey (可选枚举):排序字段。
    • reverse (可选布尔值):反向排序。
  2. getOrderById:通过ID获取单个订单。
    • orderId (string):订单ID。
  3. createDraftOrder:创建订单草稿。
    • lineItems (array):项目(variantId,数量)。
    • email (string):客户电子邮件。
    • shippingAddress (对象):发货详情。
    • note (可选字符串):订单备注。
  4. completeDraftOrder:完成订单草稿。
    • draftOrderId (string):草稿订单ID。
    • variantId (string):变量ID。

折扣管理

  1. createDiscountCode:创建基本折扣码。
    • title (string):折扣标题。
    • code (string):折扣码。
    • valueType (枚举):“百分比”或“固定金额”。
    • value (number):折扣值。
    • startsAt (string):开始日期(ISO)。
    • endsAt (可选字符串):结束日期(ISO)。
    • appliesOncePerCustomer (boolean):限制每位客户使用一次。

收集管理

  1. listCollections:获取所有收藏。
    • limit (可选数字,默认值:10):最大收藏数。
    • name (可选字符串):按名称筛选。

店铺信息

  1. getShopDetails:获取基本店铺详细信息(无输入)。
  2. getExtendedShopDetails:获取扩展的店铺详细信息(无输入)。

网钩 管理

  1. manageWebhooks管理 Webhooks。
    • action (enum):“订阅”、“查找”、“取消订阅”。
    • callbackUrl (string): 网钩 URL。
    • topic Webhook 主题。
    • webhookId (可选字符串):取消订阅时必须填写。

调试工具

  1. debugGetVariantMetafield:获取变体& size_chart_json 梅塔菲尔德。
    • variantId (string):变量GID。

开发者工具

  1. introspect_admin_schema:Introspect Admin API GraphQL架构。
    • query (string):过滤词。
    • filter (可选数组):按“类型”、“查询”、“突变”、“所有”进行筛选。
  2. search_dev_docs:搜索shopify.dev文档。
    • prompt (string):搜索查询。

调试

检查克劳德桌面MCP日志: tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

常见问题:

  • 认证:检查令牌、域格式、API作用域。
  • API错误:检查速率限制、输入格式、必填字段。

发展

npm install
npm run build
npm test

依赖项

  • @模型上下文协议/sdk
  • graphql请求
  • 动物圈

许可证

麻省理工学院


注:叉 原始shopify mcp服务器存储库