mcpField
S
shopify-multi-store

shopify-multi-store

本地服务
github.com/alex-brecher商业与营销55 天前更新

关于 shopify-multi-store

shopify-multi-store 是面向运营团队的 MCP 服务,可在一个会话中连接多个 Shopify Admin 店铺,生成跨店报告并执行受控更新。它支持本地运行或团队托管,并按每位用户的 Shopify 权限处理操作。

主要功能

  1. 01在单个会话中连接多个店铺
  2. 02生成跨店商品、库存和订单报告
  3. 03对多个店铺执行只读 GraphQL 查询
  4. 04每次更新均要求明确确认
  5. 05使用操作系统凭据存储保存密钥
  6. 06提供 Shopify Admin 操作工作流

适用场景

  1. 01比较多个店铺的商品目录和价格
  2. 02查找库存不足或跨店库存差异
  3. 03汇总未履约订单并检查 SLA
  4. 04经确认后更新指定店铺

MCP 相关

该 MCP 服务将 Shopify Admin 店铺数据和操作工具提供给 MCP 客户端,支持本地 stdio 和远程服务器连接。每项店铺操作都需指定别名;更新针对单个店铺并要求明确确认。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"alex-brecher-shopify-multi-store": {
"command": "npx",
"args": [
"-y",
"shopify-multi-store-mcp-server"
]
}
}
}
启动命令npx -y shopify-multi-store-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmshopify-multi-store-mcp-server2.0.3

工具

29

收录的工具列表 · 更新于 5 天前

参数类型必填说明
storestring是
type_namestring是

详细介绍

Shopify Multi-Store MCP

一个 MCP 服务,连接所有 Shopify 店铺。

通过 Claude、ChatGPT、Codex、Cursor、VS Code 和其他 MCP 客户端,查询、比较和报告 Shopify 店铺数据,并进行受保护的更新。

一个 MCP 服务连接多个电商店铺

CI npm version npm provenance Node.js 20+ MCP ready License: MIT

演示 · 快速开始 · 报告 · AI 客户端 · 安全模型

版本 2.0

可在本地运行,也可为团队托管一个服务:每个人都使用自己的 Shopify 员工账号登录,并从 Claude、ChatGPT、Codex 或任何远程 MCP 客户端连接。每个人能执行的操作由 Shopify 自身的员工权限决定。内置引导式 Admin 工作流、ShopifyQL 报告、架构验证,以及可用于任何 Admin 变更的通用操作接口。 请参阅功能覆盖范围和验收要求。 目前尚未验证与 Shopify ChatGPT 的完全一致性。

查看运行效果

在终端中演示跨多个 Shopify 店铺进行健康检查和搜索商品

演示使用的是示例店铺和示例数据。服务会将每个真实店铺的凭据分开保存。

快速开始

安装服务、连接店铺并运行健康检查:

npm install --global shopify-multi-store-mcp-server
shopify-multi-store setup
shopify-multi-store doctor

Claude Code 用户可以用一条命令添加服务:

claude mcp add shopify-multi-store -- npx -y shopify-multi-store-mcp-server start

每个店铺都有一个永久别名和单独的安全凭据。每次店铺操作都必须指定该别名。

功能一览

功能效果
多个活跃店铺在一段 AI 对话中访问所有 Shopify 店铺。
跨店铺报告搜索商品、比较目录、查找库存缺口,并报告履约 SLA 违约情况。
并行 GraphQL对多达一百个店铺运行一条只读查询。
受保护的变更指定一个店铺,并为每次更新提供明确确认。
安全凭据使用 macOS Keychain、Windows Credential Manager 或 Linux Secret Service。
可移植技能为 Claude、Codex、Cursor 和其他兼容 Agent 提供操作指引。

此服务器与 Shopify Dev MCP

这两个服务器解决的是不同的问题。当 Agent 需要 Shopify 参考资料并访问你的店铺时,请同时使用它们。

能力Shopify Multi-Store MCPShopify Dev MCP
主要用途操作已连接的 Shopify Admin 店铺。搜索 Shopify 开发者资源。
店铺数据读取并比较已配置的店铺。不连接 Shopify Admin 店铺数据。
多个店铺在一个会话中保留多个命名店铺处于活动状态。并非为店铺组合运营而设计。
报告提供现成的运营和商品目录报告。提供开发者文档和 API 架构。
更新对一个选定店铺执行受保护的变更。不会对你的店铺运行 Admin API 更新。
身份验证为每个店铺使用单独的凭据。无需身份验证。

Shopify Dev MCP 可帮助 Agent 创建和检查 Shopify 代码。此服务器则会对选定店铺执行获批的操作。

现成报告

shopify_report 会针对选定的店铺运行一份只读报告。将 report 设置为以下选项之一:

报告用途
portfolio_snapshot汇总商品、订单、客户、货币、套餐和店铺身份信息。
order_summary汇总订单金额、折扣、税费、运费、取消情况和状态。
customer_growth比较等长时间段内的新客户数量。
get_product_everywhere在各店铺中查找一个精确的 SKU 或 handle。
compare_inventory比较各店铺中所选 SKU 的库存数量。
low_stock_report查找低库存情况和跨店铺调货机会。
compare_prices标出精确 SKU 的价格和划线价差异。
duplicate_sku_report查找店铺内重复的 SKU,以及多个店铺共用的 SKU。
list_unfulfilled_orders列出所选店铺中尚未履行的订单。
fulfillment_sla_report查找逾期未履行的订单并显示逾期时长分布。
compare_catalog按 handle、状态、供应商、类型和变体比较商品。
catalog_gap_report查找缺失商品或状态不同的商品。
catalog_health查找缺失的商品营销、SEO、媒体、替代文本和库存数据。
recent_product_changes列出所选时间段内更新的商品。
compare_collections按 handle 比较系列内容和配置。
store_locations检查地点、履行、库存和地址覆盖情况。
analytics在每个店铺上运行一条 ShopifyQL 查询,并提供图表提示。需要 read_reports。

若要跨店铺搜索商品,请使用 shopify_search,并设置 resource: "products" 和 stores。

可以尝试以下提示词:

  • “为每个已连接的店铺生成一份组合概览。”
  • “汇总过去 30 天的订单和当前订单金额。不同货币分开显示。”
  • “显示零售和批发店铺中的低库存、零库存和负库存。”
  • “显示在此店铺缺货、但在其他店铺有库存的商品。”
  • “在每个店铺中查找 SKU A123,并比较其状态、价格和库存。”
  • “在每个店铺中搜索与蛋白质相关的商品。”
  • “按逾期时长分组,显示逾期两天以上尚未履行的订单。”
  • “查找在一个店铺中处于启用状态、但在另一个店铺中缺失或处于草稿状态的商品。”
  • “查找这些店铺中的价格差异和重复 SKU。”
  • “比较零售和批发店铺中 SKU A123 和 B456 的库存。”
  • “列出三个店铺过去七天内尚未履行的订单。”
  • “审计商品目录健康状况,并显示缺少 SEO 或媒体数据的商品。”
  • “比较这些店铺中的启用商品目录和精选系列。”

连接 AI 客户端

此服务适用于支持本地 stdio MCP 服务的客户端。如果客户端支持 Agent Skills,Agent Skills 可改善工具选择。

Claude Code

添加 MCP 服务:

claude mcp add shopify-multi-store -- npx -y shopify-multi-store-mcp-server start

复制随附的技能文件供个人使用:

mkdir -p ~/.claude/skills/shopify-multi-store
cp skills/shopify-multi-store/SKILL.md ~/.claude/skills/shopify-multi-store/SKILL.md
Claude Desktop and Cursor

将此服务添加到客户端的 MCP 配置中:

{
  "mcpServers": {
    "shopify-multi-store": {
      "command": "npx",
      "args": ["-y", "shopify-multi-store-mcp-server", "start"]
    }
  }
}
VS Code

将此服务添加到 .vscode/mcp.json:

{
  "servers": {
    "shopify-multi-store": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "shopify-multi-store-mcp-server", "start"]
    }
  }
}
Other LLM clients

将 npx 用作命令,并将 -y shopify-multi-store-mcp-server start 用作参数。

如果客户端支持,请将 skills/shopify-multi-store/SKILL.md 复制到客户端的技能目录。不支持技能的客户端仍可使用所有 MCP 工具。

为团队托管

默认方式是在自己的电脑上本地使用(如上所述)。托管是可选的:想要共享服务的人可以运行一个服务,团队成员则通过自己已在使用的 AI 应用连接,不限方案:Claude(个人自定义连接器)、ChatGPT、Codex、Claude Code、Cursor、VS Code、Gemini CLI、Windsurf,或任何支持远程服务的 MCP 客户端。

每个人都使用自己的 Shopify 员工账号登录,每次调用都使用该用户自己的 Shopify 权限:Shopify 决定他们可以执行的操作,服务端不设置角色或策略文件。Shopify 令牌保存在服务端并经过加密。重新连接最多每天一次,即可一键连接所有商店。每次工具调用都会被审计。

托管方式有两种,均由想要共享服务的人自行托管:

  • Cloudflare Workers:部署到 Cloudflare 请参阅 docs/DEPLOY-CLOUDFLARE.md 中的分步说明:创建 Shopify 应用,设置四个密钥,进行部署,然后在 AI 应用中添加 MCP URL。
  • 任意服务器:运行 shopify-multi-store serve(或使用随附的 Dockerfile),并分享 https://<host>/mcp。

请参阅从 AI 应用连接了解各客户端的操作步骤,参阅 docs/HOSTED.md了解设置方法,并参阅 docs/ACTIONS.md了解各用户的访问权限和通用操作工具。

商店身份验证

方法命令最适用场景
Admin API 访问令牌shopify-multi-store setup你已在商店管理后台创建的自定义应用,并拥有其 shpat_ 令牌。
客户端凭据shopify-multi-store oauthDev Dashboard 应用已安装在与该应用属于同一 Shopify 组织的商店中。
授权码shopify-multi-store oauthDev Dashboard 应用已安装在该组织之外的商店中。

授权码设置使用 http://127.0.0.1:3456/oauth/callback。请先将其添加为允许的重定向 URL。

默认授权码作用域为只读。请仅授予任务所需的 Admin API 作用域。

连接第一个店铺

每个店铺都需要一个别名(由小写字母、数字和连字符组成,例如 main),以及永久的 *.myshopify.com 域名。店铺管理员可在 Settings > Domains 下查看该域名。凭据取决于获取 Admin API 访问权限的方式。Shopify 现在会在 Dev Dashboard 中创建新应用;在店铺管理员中创建的自定义应用,在原有位置仍可继续使用。

使用 Dev Dashboard 应用(新设置):

  1. 打开 Dev Dashboard(dev.shopify.com),选择 Apps > Create app,并为应用命名(例如 “Multi-Store MCP”)。
  2. 创建一个版本。在 access scopes 下添加所需权限范围。read_products,read_orders,read_inventory,read_locations,read_customers 涵盖只读工具;如需查看工具可执行的全部操作所需的权限范围,请运行 node "$(npm root -g)/shopify-multi-store-mcp-server/scripts/print-scopes.mjs" --full 输出完整列表,并移除应用未获批准的权限范围。使用授权码方式时,还需添加重定向 URL http://127.0.0.1:3456/oauth/callback。
  3. 发布该版本,然后从 Dev Dashboard 将应用安装到店铺,并批准权限范围。
  4. 从应用设置中复制客户端 ID 和客户端密钥。
  5. 运行 shopify-multi-store oauth。如果店铺与应用位于同一个 Shopify 组织中,选择 client-credentials;否则选择 authorization-code(此时会打开浏览器以供批准)。输入别名、*.myshopify.com 域名、客户端 ID 和客户端密钥。使用客户端凭据时,服务会自行获取和刷新令牌。

使用在店铺管理员中创建的自定义应用:

  1. 在店铺管理员中,打开 Settings > Apps(部分管理员中为 Apps and sales channels)> Develop apps,然后打开你的应用。如果管理员仍提供此选项,也可以在那里创建应用。
  2. 在 Configuration 下为 Admin API 设置所需的权限范围,然后安装应用。
  3. 在 API credentials 下显示 Admin API 访问令牌(以 shpat_ 开头;Shopify 只会显示一次)。
  4. 运行 shopify-multi-store setup,并输入别名、*.myshopify.com 域名和令牌。

然后运行 shopify-multi-store doctor 检查每个店铺,并对其他店铺重复上述步骤。密钥会存储在操作系统凭据存储区中,不会写入配置文件。

管理店铺
shopify-multi-store list
shopify-multi-store doctor
shopify-multi-store remove store-alias
导入现有的 stores.json 文件
shopify-multi-store import /absolute/path/to/stores.json

导入过程会将凭据复制到操作系统凭据存储区,并保留已配置的店铺。确认导入无误后,删除旧凭据文件。

## MCP 工具

该服务提供 29 个工具。

工具操作
shopify_list_stores列出已配置的商店别名。
shopify_get_shop_info读取单个商店的身份信息。
shopify_check_access显示已授予的权限范围,以及哪些工具或资源会失败;可检查一个或多个商店。
shopify_report运行跨商店报告(见上文)。
shopify_search在一个或多个商店中列出或搜索产品、系列、订单、客户、发布内容、重定向、页面、文件、元对象、市场、主题或配送资料。
shopify_get按 ID 读取单个产品、系列、订单、库存、元字段集、主题文件、博客文章、已上传图片或批量操作。
shopify_update_prices在一个或多个商店中为最多 250 个 SKU 设置价格、划线价和单位成本。
shopify_set_inventory设置可用库存,并启用比较并设置保护。
shopify_create_product创建包含选项、变体和图片的产品。
shopify_update_product更新产品字段、变体、媒体和标签。
shopify_create_collection创建手动系列或智能系列,并将其发布到选定渠道。
shopify_update_collection更新系列,并向手动系列添加产品。
shopify_create_discount创建百分比折扣码。
shopify_upload_image将图片上传到 Shopify Files。
shopify_metafields为任意所有者设置和删除元字段。
shopify_redirects创建和删除 URL 重定向。
shopify_tags为产品、订单、客户或草稿订单添加和移除标签。
shopify_update_order更新订单备注、电子邮件、配送地址和标签。
shopify_update_customer更新客户备注、电子邮件和标签。
shopify_create_fulfillment履行订单中未完成的履行订单,可选附带追踪信息。
shopify_find_actions搜索所有 Admin API mutation。
shopify_describe_action描述单个 mutation。
shopify_run_action在一个或多个商店上运行任意 mutation。
shopify_graphql_query运行只读 Admin GraphQL 查询。
shopify_graphql_query_many在多个商店中运行同一个查询。
shopify_graphql_mutation在获得精确授权后修改单个商店。
shopify_graphql_schema探索 Admin GraphQL 架构。
shopify_validate_graphql_codeblocks验证 GraphQL,但不运行。
shopify_search_docs_chunks搜索 Shopify 文档。

只读操作可以并行运行。变更操作仅针对所选商店执行。

所有引导式写入工具默认使用 dryRun: true,返回变更前后(或将创建内容)的预览,不会进行任何修改;用户授权确切的商店和变更后,传入 dryRun: false 即可应用变更。随后,工具会读取结果。产品、订单和客户的标签通过 addTags 和 removeTags 更改;replaceTags 会替换所有标签,预览中会列出将移除的标签。写入结果不会因过大而被丢弃:对于大型结果,会进行截断,同时保留状态、计数以及所有未应用的条目。

shopify_graphql_mutation 和 shopify_run_action 会拒绝列入拒绝名单的 mutation;对于具有破坏性的 mutation(包括仅因参数而具有破坏性的 mutation,例如将产品状态设为 ARCHIVED),必须将 confirm 设置为 mutation 名称。

通用操作工具

三个工具可调用 Shopify Admin API 中的所有变更操作(API 2026-04 中共 514 个),包括其中没有专用工具的 483 个:

工具操作
shopify_find_actions按关键词和类别搜索所有变更操作;标记具有破坏性的操作和已有专用工具的操作。
shopify_describe_action显示某个变更操作的参数、输入字段、负载、可供编辑的文档和权限范围提示。
shopify_run_action在 1 到 100 个商店上运行变更操作,并为每个商店指定变量。默认执行试运行,解析其将触及的每条记录 ID;具有破坏性的变更操作需要将 confirm 设置为变更操作名称。

拒绝列表会阻止创建凭据或更改应用自身账单的变更操作。使用 node scripts/print-scopes.mjs --full 请求完整的权限范围集。有关示例和第三方应用无法执行的操作,请参阅 docs/ACTIONS.md。

Shopify 配套技能

安装 Shopify 官方的 shopify 技能:

shopify-multi-store install-shopify-skills

该命令会为其检测到的每个受支持的 Agent 安装此技能。传入 --agent <name> 可选择一个 Agent,例如 --agent claude-code。

shopify 技能包含一个路由表。其 admin 主题用于搜索 Shopify 文档并验证自定义 Admin GraphQL 操作;shopifyql 主题涵盖销售额、收入、订单、转化和趋势分析。Shopify toolkit 2.0.0 将原有的 shopify-admin 和 shopify-shopifyql 技能合并为此技能;toolkit 的 ucp 技能(购物命令行工具)不包含在此安装中。

如果 Shopify 再次重命名该技能,命令会以状态码 1 退出,打印 toolkit 附带的技能,并显示用于按名称安装技能的 npx skills add 命令。若未安装任何内容,命令绝不会报告成功。

此服务仍负责控制商店选择、凭据、执行和变更授权。Shopify 的技能脚本默认会发送使用情况遥测数据。

设置 OPT_OUT_INSTRUMENTATION=true 可关闭此遥测功能。

此集成使用官方的 Shopify AI Toolkit。它也借鉴了 Shopify Admin Skills 中的实用模式。

安全模型

机密信息不会进入主配置文件。

平台凭据后端
macOSKeychain
WindowsCredential Manager
LinuxSecret Service

配置中存储别名、域名、API 版本和非机密的 OAuth 客户端 ID。默认路径为 ~/.config/codex-shopify-multi-store/stores.json。

codex-shopify-multi-store 这一名称在该路径和凭据存储的服务名称中均有使用,是项目早期版本遗留下来的名称。为确保现有安装仍能使用其商店和凭据,此名称会保留;它并不表示此服务仅适用于 Codex。

设置 SHOPIFY_MULTI_STORE_CONFIG 可使用其他配置路径。

  • 切勿提交访问令牌、OAuth 客户端机密、.env 文件或包含凭据的配置文件。
  • 仅授予任务所需的 Shopify Admin API 权限范围。
  • 每次执行变更操作前,确认目标商店。
  • 漏洞报告请参阅 SECURITY.md。

Linux 凭据存储需要 Secret Service 提供程序,例如 GNOME Keyring 或 KWallet。

其他安装选项

无需全局安装即可运行健康检查:

npx -y shopify-multi-store-mcp-server doctor

直接从 GitHub 安装(npm 会运行 prepare 脚本来构建服务):

npm install --global github:alex-brecher/shopify-multi-store

开发

git clone https://github.com/alex-brecher/shopify-multi-store.git
cd shopify-multi-store
npm ci
npm test
npm run test:live
npm pack --dry-run

实时测试使用已配置的商店,并且只会调用 Shopify Admin API 的只读接口。

许可证

MIT

请阅读更新日志、贡献指南、安全政策和目录提交指南。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。