Shopify核心模块工具
语言类型:英语 翻译结果:用于与Shopify API交互,包括产品、客户、订单。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"shopify": {
"args": [
"shopify-mcp",
"--accessToken",
"\u003cYOUR_ACCESS_TOKEN\u003e",
"--domain",
"\u003cYOUR_SHOP\u003e.myshopify.com"
],
"command": "npx"
}
}
}
该服务需要配置环境变量:MYSHOPIFY_DOMAIN、SHOPIFY_ACCESS_TOKEN
服务介绍
Shopify MCP 服务器
(如果您喜欢,请给个星标!)
用于 Shopify API 的 MCP 服务器,通过 GraphQL API 与商店数据进行交互。此服务器提供了管理产品、客户、订单等的工具。
功能
- 产品管理:搜索和检索产品信息
- 客户管理:加载客户数据并管理客户标签
- 订单管理:高级订单查询和过滤
- GraphQL 集成:直接集成 Shopify 的 GraphQL Admin API
- 全面的错误处理:为 API 和身份验证问题提供清晰的错误消息
先决条件
- Node.js(版本 16 或更高)
- Shopify 自定义应用访问令牌(请参阅以下设置说明)
设置
Shopify 访问令牌
要使用此 MCP 服务器,您需要在您的 Shopify 商店中创建一个自定义应用:
- 从您的 Shopify 管理后台,转到 设置 > 应用和销售渠道
- 单击 开发应用(您可能需要先启用开发者预览功能)
- 单击 创建应用
- 为您的应用设置一个名称(例如:“Shopify MCP 服务器”)
- 单击 配置 Admin API 范围
- 选择以下范围:
read_products,write_productsread_customers,write_customersread_orders,write_orders
- 单击 保存
- 单击 安装应用
- 单击 安装 以授予应用访问您的商店数据的权限
- 安装后,您将看到您的 Admin API 访问令牌
- 复制此令牌——您将在配置时需要用到它
使用 Claude 桌面版
将以下内容添加到您的 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
替代方案:使用环境变量本地运行
如果您更愿意使用环境变量而不是命令行参数:
-
创建一个包含您的 Shopify 凭证的
.env文件:SHOPIFY_ACCESS_TOKEN=your_access_token MYSHOPIFY_DOMAIN=your-store.myshopify.com -
使用 npx 运行服务器:
npx shopify-mcp-server
直接安装(可选)
如果您想全局安装该软件包:
npm install -g shopify-mcp-server
然后运行它:
shopify-mcp-server --accessToken=<YOUR_ACCESS_TOKEN> --domain=<YOUR_SHOP>.myshopify.com
可用工具
产品管理
-
get-products- 获取所有产品或按标题搜索
- 输入:
searchTitle(可选字符串):按标题过滤产品limit(数字):返回的最大产品数量
-
get-product-by-id- 通过 ID 获取特定产品
- 输入:
productId(字符串):要检索的产品 ID
客户管理
-
get-customers- 获取客户或按姓名/邮箱搜索
- 输入参数:
searchQuery(可选字符串):按姓名或邮箱过滤客户limit(可选数字,默认值:10):返回的最大客户数量
-
update-customer- 更新客户信息
- 输入参数:
id(字符串,必填):Shopify 客户 ID(仅限数字 ID,例如 "6276879810626")firstName(字符串,可选):客户的名lastName(字符串,可选):客户的姓email(字符串,可选):客户的电子邮件地址phone(字符串,可选):客户的电话号码tags(字符串数组,可选):应用于客户的标签note(字符串,可选):关于客户的备注taxExempt(布尔值,可选):客户是否免税metafields(对象数组,可选):用于存储额外数据的客户元字段
-
get-customer-orders- 获取特定客户的订单
- 输入参数:
customerId(字符串,必填):Shopify 客户 ID(仅限数字 ID,例如 "6276879810626")limit(可选数字,默认值:10):返回的最大订单数量
订单管理
-
get-orders- 获取订单,并可选择性地进行过滤
- 输入参数:
status(可选字符串):按订单状态过滤limit(可选数字,默认值:10):返回的最大订单数量
-
get-order-by-id- 通过 ID 获取特定订单
- 输入参数:
orderId(字符串,必填):完整的 Shopify 订单 ID(例如:"gid://shopify/Order/6090960994370")
-
update-order- 使用新信息更新现有订单
- 输入参数:
id(字符串,必填):Shopify 订单 IDtags(字符串数组,可选):订单的新标签email(字符串,可选):更新客户电子邮件note(字符串,可选):订单备注customAttributes(对象数组,可选):订单的自定义属性metafields(对象数组,可选):订单元字段shippingAddress(对象,可选):发货地址信息
调试
如果遇到问题,请检查 Claude Desktop 的 MCP 日志:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
许可证
MIT