Shopify MCP服务器
Shopify API的MCP服务器,通过GraphQL API实现与商店数据的交互。此服务器提供用于管理产品、客户、订单等的工具。
特性
- 产品管理:搜索和检索产品信息
- 客户管理:加载客户数据并管理客户标签
- 订单管理:高级订单查询和筛选
- GraphQL集成:与Shopify的GraphQL Admin API直接集成
- 全面的错误处理:清除API和身份验证问题的错误消息
工具
get-products
- 获取所有产品或按标题搜索 - 输入: - searchTitle (可选字符串):按标题筛选产品 - limit (数量):可退回的最大产品数量 - 退货:格式化的产品详细信息,包括标题、描述、句柄和变体
get-products-by-collection
- 从特定收藏中获取产品 - 输入: - collectionId (string):要从中获取产品的集合的ID - limit (可选数量,默认值:10):可退回的最大产品数量 - 返回:来自指定集合的格式化产品详细信息
get-products-by-ids
- 按ID获取产品 - 输入: - productIds (字符串数组):要检索的产品ID数组 - 退货:指定产品的格式化产品详细信息
get-variants-by-ids
- 通过ID获取产品变体 - 输入: - variantIds (字符串数组):要检索的变量ID数组 - 返回:详细的变体信息,包括产品详细信息
get-customers
- 通过分页支持让客户购物 - 输入: - limit (可选数量):可退货的最大客户数量 - next (可选字符串):下一页光标 - 返回:JSON格式的客户数据
tag-customer
- 为客户添加标签 - 输入: - customerId (string):要标记的客户ID - tags (字符串数组):要添加到客户的标签 - 返回:成功或失败消息
get-orders
- 通过高级过滤和排序获取订单 - 输入: - first (可选数字):退货订单限制 - after (可选字符串):下一页光标 - query (可选字符串):使用查询语法筛选订单 - sortKey (可选枚举):要排序的字段(“PROCESSIED_AT”、“TOTAL_PRICE”、“ID”、“CREATED_AT”、”UPDATED_AT“、”ORDER_NUMBER“) - reverse (可选布尔值):反向排序顺序 - 退货:格式化订单详细信息
get-order
- 按ID获取单个订单 - 输入: - orderId (string):要检索的订单的ID - 退货:详细订单信息
create-discount
- 创建基本折扣码 - 输入: - title (string):折扣标题 - code (string):客户将输入的折扣码 - valueType (枚举):折扣类型(“百分比”或“固定金额”) - value (数字):折扣值(小数百分比或固定金额) - startsAt (字符串):ISO格式的开始日期 - endsAt (可选字符串):ISO格式的可选结束日期 - appliesOncePerCustomer (boolean):折扣是否每个客户只能使用一次 - 退货:已创建折扣详细信息
create-draft-order
- 创建订单草稿 - 输入: - lineItems (array):具有变量Id和数量的项目数组 - email (string):客户电子邮件 - shippingAddress (对象):收货地址详细信息 - note (可选字符串):订单的可选注释 - 退货:已创建草稿订单详细信息
complete-draft-order
- 完成订单草稿 - 输入: - draftOrderId (string):要完成的草稿订单的ID - variantId (string):草稿顺序中变量的ID - 退货:已完成订单详情
get-collections
- 获取所有收藏 - 输入: - limit (可选数字,默认值:10):要返回的最大集合数 - name (可选字符串):按名称筛选集合 - 退货:收款明细
get-shop
- 获取店铺详细信息 - 输入:无 - 退货:店铺基本信息
get-shop-details
- 获取包括发货国家在内的扩展店铺详细信息 - 输入:无 - 退货:扩展店铺信息,包括发货国家
manage-webhook
- 订阅、查找或取消订阅webhooks - 输入: - action (enum):要执行的操作(“订阅”、“查找”、“取消订阅”) - callbackUrl (string):Webhook回调URL - topic (enum):要订阅的Webhook主题 - webhookId (可选字符串):Webhook ID(取消订阅时需要) - 返回:Webhook详细信息或成功消息
设置
Shopify访问令牌
要使用此MCP服务器,您需要在Shopify商店中创建一个自定义应用程序:
- 从您的Shopify管理员,转到 设置 > 应用程序和销售渠道
- 点击 开发应用程序 (您可能需要先启用开发人员预览)
- 点击 创建应用程序
- 为您的应用程序设置一个名称(例如,“Shopify MCP服务器”)
- 点击 配置管理员API作用域
- 选择以下范围:
- read_products, write_products - read_customers, write_customers - read_orders, write_orders
- 点击 保存
- 点击 安装应用程序
- 点击 安装 让应用程序访问您的商店数据
- 安装后,您将看到 管理员API访问令牌
- 复制此令牌-您需要它进行配置
注意:安全地存储您的访问令牌。它提供对您的存储数据的访问,永远不应该被共享或提交给版本控制。 有关如何创建Shopify应用程序的更多详细信息,请参阅 这里.
使用Claude Desktop
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"shopify": {
"command": "npx",
"args": ["-y", "shopify-mcp-server"],
"env": {
"SHOPIFY_ACCESS_TOKEN": "",
"MYSHOPIFY_DOMAIN": ".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-运行时类型验证
贡献
欢迎投稿!请阅读我们的 贡献指南 第一。
许可证
麻省理工学院
社区
______________________________________________________________________
内置于❤️ 使用 模型上下文协议
