shopify-mcp

by GeLi2001
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Direct integration with Shopify's GraphQL Admin API for querying and manipulating store data with comprehensive error handling for API and authentication issues.

  • Enables interaction with Shopify store data through GraphQL API, providing tools for managing products, customers, orders, and more with capabilities for searching, retrieving, and filtering store information.

Shopify MCP 服务器

(如果喜欢请留下星星!)

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

特征

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

先决条件

  1. Node.js(版本 16 或更高版本)
  2. Shopify 自定义应用访问令牌(请参阅下面的设置说明)

设置

Shopify 访问令牌

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

  1. 在 Shopify 管理员中,转到**“设置”** > “应用和销售渠道”
  2. 单击**“开发应用程序”** (您可能需要先启用开发人员预览)
  3. 单击**“创建应用程序”**
  4. 为您的应用设置名称(例如“Shopify MCP Server”)
  5. 点击配置管理 API 范围
  6. 选择以下范围:
    • read_productswrite_products
    • read_customerswrite_customers
    • read_orderswrite_orders
  7. 点击**“保存”**
  8. 点击**“安装应用程序”**
  9. 单击**“安装”**即可让应用访问您的商店数据
  10. 安装后,您将看到您的Admin 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 桌面配置文件的位置:

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

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

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

  1. 使用您的 Shopify 凭据创建一个.env文件:
    SHOPIFY_ACCESS_TOKEN=your_access_token MYSHOPIFY_DOMAIN=your-store.myshopify.com
  2. 使用 npx 运行服务器:
    npx shopify-mcp-server

直接安装(可选)

如果要全局安装该包:

npm install -g shopify-mcp-server

然后运行它:

shopify-mcp-server --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):返回的最大订单数量

订单管理

  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 (对象,可选):送货地址信息

调试

如果遇到问题,请检查 Claude Desktop 的 MCP 日志:

tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

执照

麻省理工学院

ID: mth778nxe5