返回市场
Shopify-MCP服务器主

Shopify-MCP服务器主

作者:therealhexi10 星标更新:2025-02-05

项目介绍

Shopify MCP Server

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

<a href="https://glama.ai/mcp/servers/bemvhpy885"><img width="380" height="200" src="https://gips2.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 Admin 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. update-product-price

    • 更新产品的价格
    • 输入参数:
      • productId (字符串):要更新的产品ID
      • price (字符串):产品的新价格
    • 返回值:更新响应
  5. get-variants-by-ids

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

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

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

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

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

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

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

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

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

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

    • 获取扩展的商店详情,包括发货国家
    • 输入参数:无
    • 返回值:包括发货国家的扩展商店信息
  16. 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. 点击配置Admin API范围
  6. 选择以下范围:
    • read_products, write_products
    • read_customers, write_customers
    • read_orders, write_orders
  7. 点击保存
  8. 点击安装应用
  9. 点击安装以授予应用访问您的商店数据权限
  10. 安装后,您将看到您的Admin 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

社区


使用❤️构建于 Model Context Protocol