通过 GraphQL API 启用与 Shopify 商店的交互,提供管理产品、客户、订单等的工具。
ecommerce-and-retail
426 查看 · 2026-07-07 更新
简介
通过 GraphQL API 启用与 Shopify 商店的交互,提供管理产品、客户、订单等的工具。
简介
通过 GraphQL API 启用与 Shopify 商店的交互,提供管理产品、客户、订单等的工具。
Shopify MCP 服务器
适用于 Shopify API 的 MCP 服务器,通过 GraphQL API 实现与商店数据的交互。此服务器提供了管理产品、客户、订单等功能的工具。
功能
- 产品管理:搜索和检索产品信息
- 客户管理:加载客户数据并管理客户标签
- 订单管理:高级订单查询和过滤
- GraphQL 集成:直接与 Shopify 的 GraphQL 管理员 API 集成
- 全面的错误处理:针对 API 和认证问题提供清晰的错误消息
工具
-
get-products- 获取所有产品或按标题搜索
- 输入参数:
searchTitle(可选字符串): 按标题过滤产品limit(数字): 返回的最大产品数量
- 返回: 格式化的产品详情,包括标题、描述、处理和变体
-
get-products-by-collection- 从特定集合中获取产品
- 输入参数:
collectionId(字符串): 要从中获取产品的集合IDlimit(可选数字,默认值: 10): 返回的最大产品数量
- 返回: 指定集合中的格式化产品详情
-
get-products-by-ids- 通过产品ID获取产品
- 输入参数:
productIds(字符串数组): 要检索的产品ID数组
- 返回: 指定产品的格式化详情
-
update-product-price- 更新产品的价格
- 输入参数:
productId(字符串): 要更新的产品IDprice(字符串): 产品的新的价格
- 返回: 更新响应
-
get-variants-by-ids- 通过变体ID获取产品变体
- 输入参数:
variantIds(字符串数组): 要检索的变体ID数组
- 返回: 包含产品详情的详细变体信息
-
get-customers- 获取支持分页的Shopify客户
- 输入参数:
limit(可选数字): 返回的最大客户数量next(可选字符串): 下一页游标
- 返回: JSON格式的客户数据
-
tag-customer- 为客户添加标签
- 输入参数:
customerId(字符串): 要打标签的客户IDtags(字符串数组): 要添加给客户的标签
- 返回: 成功或失败消息
-
get-orders- 获取具有高级过滤和排序功能的订单
- 输入参数:
first(可选数字): 返回的订单限制after(可选字符串): 下一页游标query(可选字符串): 使用查询语法过滤订单sortKey(可选枚举): 排序字段 ('PROCESSED_AT', 'TOTAL_PRICE', 'ID', 'CREATED_AT', 'UPDATED_AT', 'ORDER_NUMBER')reverse(可选布尔值): 反向排序
- 返回: 格式化的订单详情
-
get-order- 通过ID获取单个订单
- 输入参数:
orderId(字符串): 要检索的订单ID
- 返回: 详细的订单信息
-
create-discount
- 创建基本折扣码
- 输入参数:
title(字符串): 折扣标题code(字符串): 客户将输入的折扣码valueType(枚举): 折扣类型 ('percentage' 或 'fixed_amount')value(数字): 折扣值(百分比为小数或固定金额)startsAt(字符串): 开始日期(ISO格式)endsAt(可选字符串): 可选结束日期(ISO格式)appliesOncePerCustomer(布尔值): 折扣是否只能每位客户使用一次
- 返回: 创建的折扣详情
-
create-draft-order- 创建草稿订单
- 输入参数:
lineItems(数组):包含 variantId 和 quantity 的商品项数组email(字符串):客户邮箱shippingAddress(对象):收货地址详情note(可选字符串):订单备注
- 返回值:创建的草稿订单详情
-
complete-draft-order- 完成草稿订单
- 输入参数:
draftOrderId(字符串):要完成的草稿订单 IDvariantId(字符串):草稿订单中的变体 ID
- 返回值:已完成订单详情
-
get-collections- 获取所有集合
- 输入参数:
limit(可选数字,默认为 10):返回的最大集合数量name(可选字符串):按名称过滤集合
- 返回值:集合详情
-
get-shop- 获取商店详情
- 输入参数:无
- 返回值:基本商店信息
-
get-shop-details- 获取扩展商店详情,包括配送国家
- 输入参数:无
- 返回值:扩展商店信息,包括配送国家
-
manage-webhook- 订阅、查找或取消订阅 Webhook
- 输入参数:
action(枚举):执行的操作 ('subscribe', 'find', 'unsubscribe')callbackUrl(字符串):Webhook 回调 URLtopic(枚举):要订阅的 Webhook 主题webhookId(可选字符串):Webhook ID(取消订阅时必需)
- 返回值:Webhook 详情或成功消息
设置
Shopify 访问令牌
要使用此 MCP 服务器,您需要在您的 Shopify 商店中创建一个自定义应用:
- 从您的 Shopify 管理后台,进入 设置 > 应用程序和销售渠道
- 点击 开发应用(您可能需要先启用开发者预览功能)
- 点击 创建应用
- 为您的应用设置一个名称(例如,“Shopify MCP 服务器”)
- 点击 配置 Admin API 权限范围
- 选择以下权限范围:
read_products,write_productsread_customers,write_customersread_orders,write_orders
- 点击 保存
- 点击 安装应用
- 点击 安装 以授予应用访问您商店数据的权限
- 安装后,您将看到 Admin API 访问令牌
- 复制此令牌 - 您需要它来进行配置
注意:请安全存储您的访问令牌。它提供了对您商店数据的访问权限,不应与他人共享或提交到版本控制系统。 有关如何创建 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" } } } }
开发
- 克隆仓库
- 安装依赖项:
npm install
- 创建
.env文件:
SHOPIFY_ACCESS_TOKEN=your_access_token MYSHOPIFY_DOMAIN=your-store.myshopify.com
- 构建项目:
npm run build
- 运行测试:
npm test
依赖项
- @modelcontextprotocol/sdk - MCP 协议实现
- graphql-request - 用于 Shopify API 的 GraphQL 客户端
- zod - 运行时类型验证
贡献
希望这段翻译对你有帮助!如果还有其他问题,请随时告诉我。
欢迎贡献!请先阅读我们的贡献指南。
许可证
MIT
社区
用❤️构建,使用 Model Context Protocol
服务配置
[{'mcpServers': {'shopify': {'args': ['-y', 'shopify-mcp-server'], 'command': 'npx', 'env': {'MYSHOPIFY_DOMAIN': '<YOUR_SHOP>.myshopify.com', 'SHOPIFY_ACCESS_TOKEN': '<YOUR_ACCESS_TOKEN>'}}}}]