关于 Woocommerce Mcp Server
Woocommerce Mcp Server 为 WooCommerce 商店管理提供覆盖商品、订单、客户、物流、税务和报表等领域的 MCP 工具。它还提供资源、引导式提示词及只读模式,便于 Agent 获取结构信息并谨慎操作商店数据。
主要功能
- 01管理商品、订单、客户与优惠券
- 02处理物流、税务和 Webhook
- 03读取销售报表与商店设置
- 04按字段筛选工具响应
- 05提供 MCP 资源和工作流提示词
- 06支持只读模式及工具安全标注
适用场景
- 01查询和更新商品目录及订单
- 02处理退款、优惠券和物流配置
- 03汇总商店销售及商品数据
- 04在只读模式下检查商店
MCP 相关
MCP 服务通过工具连接 WooCommerce REST API,提供商店数据管理和报表能力。它还公开只读资源与工作流提示词,为客户端提供数据结构说明和操作指引。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-server-woocommerce
用于通过 Claude 等 AI 助手管理 WooCommerce 商店的 MCP 服务。提供 101 个工具,涵盖产品、订单、客户、优惠券、配送、税费、Webhook、设置、报告等。
快速开始
1. 获取 WooCommerce API 密钥
在 WordPress 管理后台中:依次选择 WooCommerce > Settings > Advanced > REST API > Add key,并设置 Read/Write 权限。
2. 添加到 AI 工具
无需安装,可直接通过 npx 运行:
Claude Code
添加到项目的 .mcp.json:
{
"mcpServers": {
"woocommerce": {
"command": "npx",
"args": ["-y", "@amitgurbani/mcp-server-woocommerce"],
"env": {
"WORDPRESS_SITE_URL": "https://store.example.com",
"WOOCOMMERCE_CONSUMER_KEY": "ck_your_key",
"WOOCOMMERCE_CONSUMER_SECRET": "cs_your_secret"
}
}
}
}
Claude Desktop
添加到 Claude Desktop 配置(macOS 上为 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 上为 %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"woocommerce": {
"command": "npx",
"args": ["-y", "@amitgurbani/mcp-server-woocommerce"],
"env": {
"WORDPRESS_SITE_URL": "https://store.example.com",
"WOOCOMMERCE_CONSUMER_KEY": "ck_your_key",
"WOOCOMMERCE_CONSUMER_SECRET": "cs_your_secret"
}
}
}
}
Cursor
在 Cursor 中安装(一键安装),或添加到项目根目录下的 .cursor/mcp.json:
{
"mcpServers": {
"woocommerce": {
"command": "npx",
"args": ["-y", "@amitgurbani/mcp-server-woocommerce"],
"env": {
"WORDPRESS_SITE_URL": "https://store.example.com",
"WOOCOMMERCE_CONSUMER_KEY": "ck_your_key",
"WOOCOMMERCE_CONSUMER_SECRET": "cs_your_secret"
}
}
}
}
4. 开始使用 — 可以向 AI 助手提出如下请求:
“列出所有缺货的产品” “创建一张满 $50 订单可用的 10% 折扣优惠券” “显示本周的销售报告”
功能
- 完整的商店管理 — 对产品、分类、标签、品牌、订单、客户和优惠券执行 CRUD 操作
- 产品分类体系 — 属性、属性词项和变体,支持批量操作
- 配送 — 配送区域、区域配送方式和配送类别
- 税费 — 税率和税种
- Webhook — 创建、管理并监控 Webhook 订阅
- 设置 — 读取和更新商店配置
- 报告 — 销售报告、畅销商品、订单/产品/客户总数
- 媒体管理 — 通过 WordPress REST API 列出、删除并清理孤立媒体
- 令牌优化 — 所有工具均支持
fields参数,仅返回指定字段,可将响应大小缩减 60-97% - MCP 资源 — 产品、订单、优惠券、退款和支付网关的架构参考,Agent 可读取以获取上下文
- 引导式提示词 — 用于可变产品设置、订单处理和商品目录概览的多步骤工作流
- 工具注释 — 全部 101 个工具均带有
readOnlyHint、destructiveHint和idempotentHint,帮助 Agent 安全运行 - 可操作的错误 — 错误响应包含修复常见问题的指导
安全
此服务连接到正在运行的 WooCommerce 商店。 每项创建、更新和删除操作都会影响真实数据。请谨慎操作,尤其是在生产商店中。
开始前
- 使用具有破坏性的工具前,请备份商店。 可使用 WordPress 备份插件或主机提供的备份功能。
- 先在预发布环境中测试。 将生产商店克隆到预发布环境,并将此服务指向预发布 URL。
- 探索时使用只读模式。 设置
WOOCOMMERCE_MCP_READ_ONLY=true可阻止所有写入操作 — 仅列表、获取和报告类工具可用。
不可逆操作
大多数删除操作会将项目移至回收站(可恢复)。不过,以下操作是永久性的,无法撤销:
| 工具 | 不可逆原因 |
|---|---|
delete_media | WordPress 媒体删除会完全绕过回收站 |
delete_tax_rate | 税率没有回收站——会立即删除 |
delete_tax_class | 税种没有回收站——税率会变成孤立项 |
delete_attribute | 从所有产品中移除该属性及其所有术语 |
delete_refund | 移除退款记录(不会撤销付款) |
cleanup_orphaned_media | 当 delete=true 时,永久删除所有未关联的媒体 |
run_system_tool | 系统维护操作(清除缓存、更新数据库)无法撤销 |
级联影响
有些操作会影响不止正在更改的单个项目:
- 删除属性会将其从所有产品中移除——可变产品可能因此出问题
- 删除属性术语会从所有产品和变体中移除该选项
- 删除配送区域会移除该区域中的所有配送方式和位置
- 批量操作(
batch_update_attribute_terms、batch_update_variations)可在单次调用中创建、更新并删除项目
API 密钥权限
为确保最大安全性,请创建仅具有所需权限的 WooCommerce API 密钥:
- 只读浏览:创建仅具有读取权限的密钥
- 全面管理:使用读取/写入权限
可用工具(101)
| 领域 | 工具 |
|---|---|
| 产品 | 列出、获取、创建、更新、删除 |
| 分类 | 列出、获取、创建、更新、删除 |
| 标签 | 列出、获取、创建、更新、删除 |
| 品牌 | 列出、获取、创建、更新、删除 |
| 属性 | 列出、获取、创建、删除 |
| 属性术语 | 列出、创建、删除、批量更新 |
| 变体 | 列出、获取、创建、更新、批量更新 |
| 订单 | 列出、获取、创建、更新、删除 |
| 订单退款 | 列出、创建、删除 |
| 订单备注 | 列出、创建、删除 |
| 客户 | 列出、获取、创建、更新 |
| 优惠券 | 列出、获取、创建、更新、删除 |
| 产品评价 | 列出、获取、更新、删除 |
| 配送区域 | 列出、获取、创建、更新、删除 |
| 配送区域方式 | 列出、获取、创建、更新、删除 |
| 配送类别 | 列出、创建 |
| 税率 | 列出、获取、创建、更新、删除 |
| 税种 | 列出、创建、删除 |
| Webhooks | 列出、获取、创建、更新、删除 |
| 支付网关 | 列出、获取、更新 |
| 设置 | 列出分组、获取、更新 |
| 系统状态 | 获取状态、列出工具、运行工具 |
| 数据 | 列出国家、列出货币 |
| 报告 | 销售额、畅销商品、订单/产品/客户总计 |
| 媒体 | 列出、删除、清理孤立媒体 |
资源
该服务提供 7 个 MCP 资源,为 AI Agent 提供架构参考和指南:
| URI | 说明 |
|---|---|
woo://schema/product | 产品字段、类型、状态和关键规则 |
woo://schema/order | 订单字段、状态生命周期和支付信息 |
woo://schema/coupon | 优惠券类型、限制、约束和规则 |
woo://schema/refund | 退款字段、原因、明细项和处理规则 |
woo://reference/product-types | 何时使用简单、可变、分组或外部产品 |
woo://reference/order-statuses | 订单状态转换和生命周期图 |
woo://reference/payment-gateways | 可用的支付网关及其配置选项 |
资源提供只读上下文,Agent 可在发起 API 调用前获取这些内容,以了解 WooCommerce 数据结构。
提示词
5 个引导式工作流提示词,用于编排多步骤操作:
| 提示词 | 参数 | 功能 |
|---|---|---|
setup_variable_product | product_name、attribute_name、variations | 端到端创建可变商品:属性 → 术语 → 商品 → 变体 → 发布 |
process_order | order_id | 查看订单详情并推荐适当的状态变更 |
catalog_overview | (none) | 并行运行 5 个工具,生成商店仪表板(商品、订单、客户、分类、畅销商品) |
handle_refund | order_id | 引导完成退款处理:查看订单、选择商品、创建退款、验证 |
moderate_reviews | (none) | 查看待处理的商品评价,并推荐批准、更新或删除操作 |
工具注解
每个工具都标注了行为提示,帮助 AI Agent 安全地做出决策:
| 注解 | 含义 | 应用于 |
|---|---|---|
readOnlyHint | 无副作用,可随时调用 | 所有 list_*、get_* 和报告工具(46 个) |
destructiveHint | 删除或移除数据 | 所有 delete_* 工具 + cleanup_orphaned_media + run_system_tool + batch_update_*(22 个) |
idempotentHint | 可安全重试,每次结果相同 | 所有 update_* 工具(15 个) |
所有工具还会设置 openWorldHint: false——它们仅与 WooCommerce 交互,不会产生外部副作用。
配置
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
WORDPRESS_SITE_URL | 是 | WordPress 商店 URL(例如:https://store.example.com) |
WOOCOMMERCE_CONSUMER_KEY | 是 | WooCommerce REST API 消费者密钥(ck_...) |
WOOCOMMERCE_CONSUMER_SECRET | 是 | WooCommerce REST API 消费者密钥(cs_...) |
WORDPRESS_USERNAME | 否 | WordPress 管理员用户名(用于媒体工具) |
WORDPRESS_APP_PASSWORD | 否 | WordPress 应用程序密码(用于媒体工具) |
MCP_TRANSPORT | 否 | 设置为 http 以使用远程 HTTP 访问(默认值:stdio) |
PORT | 否 | 平台提供的端口(Hostinger、Railway);优先于 MCP_PORT |
MCP_PORT | 否 | HTTP 服务端口(默认值:3000) |
MCP_AUTH_TOKEN | 否* | HTTP 身份验证的 Bearer 令牌(*当 MCP_TRANSPORT=http 时必填) |
WOOCOMMERCE_MCP_READ_ONLY | 否 | 设置为 true 可阻止所有写入/删除操作(安全探索模式) |
使用 .env 文件
无需内联凭据,可改为指定包含 .env 文件的目录:
{
"mcpServers": {
"woocommerce": {
"command": "npx",
"args": ["-y", "@amitgurbani/mcp-server-woocommerce"],
"cwd": "/path/to/your/project"
}
}
}
多个商店
使用不同的服务名称,从一个项目管理多个商店:
{
"mcpServers": {
"store-a": {
"command": "npx",
"args": ["-y", "@amitgurbani/mcp-server-woocommerce"],
"env": { "WORDPRESS_SITE_URL": "https://store-a.com", "..." }
},
"store-b": {
"command": "npx",
"args": ["-y", "@amitgurbani/mcp-server-woocommerce"],
"env": { "WORDPRESS_SITE_URL": "https://store-b.com", "..." }
}
}
}
令牌优化
所有工具都支持可选的 fields 参数(逗号分隔),仅返回特定字段:
# Browsing products — just names and prices
fields: "id,name,price"
# Stock check
fields: "id,name,stock_status,stock_quantity"
# Order overview
fields: "id,number,status,total"
这可将响应大小减少 60-97%,让 AI 上下文窗口保持聚焦并降低成本。
开发
git clone https://github.com/AmitGurbani/mcp-server-woocommerce.git
cd mcp-server-woocommerce
pnpm install
pnpm dev # Watch mode
pnpm build # Build
pnpm start # Run directly
pnpm test # Run unit tests
pnpm test:integration # Run integration tests (requires Docker)
pnpm test:watch # Run unit tests in watch mode
pnpm inspector # Debug with MCP Inspector
集成测试通过 @wordpress/env 在真实的 WordPress 6.9.4 + WooCommerce 10.5.3 实例上运行。前提条件:Docker。运行 pnpm test:integration 时,测试环境会自动启动。
Docker
docker build -t mcp-server-woocommerce .
docker run \
-e WORDPRESS_SITE_URL=https://store.example.com \
-e WOOCOMMERCE_CONSUMER_KEY=ck_your_key \
-e WOOCOMMERCE_CONSUMER_SECRET=cs_your_secret \
mcp-server-woocommerce
远程 / 移动访问(HTTP 传输)
要通过 Claude 移动端、ChatGPT 或其他远程客户端访问 WooCommerce 工具,请在 HTTP 模式下运行服务:
MCP_TRANSPORT=http MCP_AUTH_TOKEN=your-secret-token node build/index.js
或者使用 Docker:
docker run -p 3000:3000 \
-e MCP_TRANSPORT=http \
-e MCP_AUTH_TOKEN=your-secret-token \
-e WORDPRESS_SITE_URL=https://store.example.com \
-e WOOCOMMERCE_CONSUMER_KEY=ck_your_key \
-e WOOCOMMERCE_CONSUMER_SECRET=cs_your_secret \
mcp-server-woocommerce
| 变量 | 默认值 | 描述 |
|---|---|---|
MCP_TRANSPORT | stdio | 设置为 http 以进行远程访问 |
PORT | — | 平台提供的端口(优先于 MCP_PORT) |
MCP_PORT | 3000 | HTTP 服务端口 |
MCP_AUTH_TOKEN | — | 用于身份验证的 Bearer 令牌(Claude Desktop/Code) |
AUTH0_DOMAIN | — | 用于 OAuth 2.1 的 Auth0 租户 URL(Claude.ai Connectors) |
AUTH0_AUDIENCE | — | 用于 OAuth 2.1 的 Auth0 API 标识符 |
MCP_SERVER_URL | — | 用于 OAuth 2.1 发现的公共服务 URL |
必须设置 MCP_AUTH_TOKEN,或者设置 AUTH0_DOMAIN + AUTH0_AUDIENCE + MCP_SERVER_URL。
部署指南:请参阅 docs/DEPLOYMENT.md,了解 Railway(约 $0/月)、Fly.io(支持缩容至零,约 $0/月)和 Docker 部署的分步说明。
Claude Desktop / Code:使用 Bearer 令牌身份验证——在配置中添加服务 URL 和 Authorization: Bearer <token> 标头。
Claude.ai 网页版 / 移动端:需要通过 Auth0(免费套餐)使用 OAuth 2.1。请参阅部署指南了解设置说明。
默认模式仍为 stdio——现有的 npx 用户不受影响。
许可证
MIT
WooCommerce 是 Automattic Inc. 的注册商标。本项目与 Automattic Inc. 无关,未获其认可,也未受其赞助。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。