mcp服务器woocommerce
 ](https://www.npmjs.com/package/@amitgurbani/mcp-server-woocommerce)  ](https://nodejs.org)
MCP服务器,用于通过Claude等人工智能助手管理WooCommerce商店。提供101个工具,涵盖产品、订单、客户、优惠券、运费、税费、webhooks、设置、报告等。
快速开始
1.获取WooCommerce API密钥
在您的WordPress管理员中: WooCommerce>设置>高级>REST API>添加密钥 具有读/写权限。
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桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上, %APPDATA%\Claude\claude_desktop_config.json 在Windows上):
{
"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/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订阅
- 设置 --读取并更新存储配置
- 报告 --销售报告、畅销商品、订单/产品/客户总数
- 媒体管理 -通过WordPress REST API列出、删除和清除孤立媒体
- 令牌优化 --所有工具都支持a
fieldsparam仅返回特定字段,将响应大小减少60-97% - MCP资源 --代理可以读取产品、订单、优惠券、退款和支付网关的模式引用以获取上下文
- 引导式提示 --用于可变产品设置、订单处理和目录概述的多步骤工作流
- 工具注释 —
readOnlyHint,destructiveHint,以及idempotentHint关于安全代理行为的101个工具 - 可操作的错误 --错误响应包括如何解决常见问题的指导
安全
此服务器连接到LIVE 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)
| 域 | 工具 |
|---|---|
| 产品 | 列表、获取、创建、更新、删除 |
| 类别 | 列表、获取、创建、更新、删除 |
| 标签 | 列表、获取、创建、更新、删除 |
| 品牌 | 列表、获取、创建、更新、删除 |
| 属性 | 列表、获取、创建、删除 |
| 属性术语 | 列表、创建、删除、批量更新 |
| 变体 | 列表、获取、创建、更新、批量更新 |
| 订单 | 列表、获取、创建、更新、删除 |
| 订单退款 | 列表、创建、删除 |
| 订单备注 | 列表、创建、删除 |
| 客户 | 列表、获取、创建、更新 |
| 优惠券 | 列表、获取、创建、更新、删除 |
| 产品评论 | 列表、获取、更新、删除 |
| 配送区域 | 列表、获取、创建、更新、删除 |
| 运输区域方法 | 列表、获取、创建、更新、删除 |
| 运输类别 | 列表,创建 |
| 税率 | 列表、获取、创建、更新、删除 |
| 税类 | 列表、创建、删除 |
| 网络钩子 | 列表、获取、创建、更新、删除 |
| 支付网关 | 列表、获取、更新 |
| 设置 | 列出组、获取、更新 |
| 系统状态 | 获取状态、列出工具、运行工具 |
| 数据 | 列出国家,列出货币 |
| 报告 | 销售额、畅销商品、订单/产品/客户总数 |
| 媒体 | 列出、删除、清理孤立对象 |
资源
服务器公开了7个MCP资源,为AI代理提供模式参考和指南:
| 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 | 可用的支付网关及其配置选项 |
资源是只读上下文,代理可以在进行API调用之前获取该上下文以理解WooCommerce数据结构。
提示
5个指导性工作流程提示,协调多步骤操作:
| Prompt | Args | 它的作用 |
|---|---|---|
setup_variable_product | product_name, attribute_name, variations | 创建端到端的可变产品:属性→ 条款→ 产品→ 变化→ 出版 |
process_order | order_id | 审查订单的详细信息,并建议适当的状态转换 |
catalog_overview | _(无)_ | 并行运行5个工具以生成商店仪表板(产品、订单、客户、类别、畅销品) |
handle_refund | order_id | 退款处理指南:审核订单、选择商品、创建退款、验证 |
moderate_reviews | _(无)_ | 审核待审核的产品,并建议批准/更新/删除操作 |
工具注释
每个工具都带有行为提示,因此AI代理可以做出安全的决策:
| 注释 | 含义 | 适用于 |
|---|---|---|
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、铁路);覆盖 MCP_PORT |
MCP_PORT | 否 | HTTP服务器端口(默认值: 3000) |
MCP_AUTH_TOKEN | 无\* | HTTP身份验证的承载令牌(\*在以下情况下是必需的 MCP_TRANSPORT=http) |
WOOCOMMERCE_MCP_READ_ONLY | 否 | 设置为 true 阻止所有写入/删除操作(安全探索模式) |
使用a .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 param(逗号分隔)仅返回特定字段:
# 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%,保持人工智能上下文窗口的焦点和低成本。
发展
git clone https://github.com/AmitGurbani/mcp-server-woocommerce.git
cd mcp-server-woocommerce
pnpm installpnpm 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 6.9.4+WooCommerce 10.5.3实例上运行 @wordpress/env先决条件:Docker。运行时,测试环境会自动启动 pnpm test:integration.
码头工人
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 mobile、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 | -- | 身份验证的承载令牌(Claude Desktop/Code) |
AUTH0_DOMAIN | -- | OAuth 2.1(Claude.ai连接器)的Auth0租户URL |
AUTH0_AUDIENCE | - | OAuth 2.1的Auth0 API标识符 |
MCP_SERVER_URL | -- | OAuth 2.1发现的公共服务器URL |
要么 MCP_AUTH_TOKEN 或 AUTH0_DOMAIN + AUTH0_AUDIENCE + MCP_SERVER_URL 是必需的。
部署指南:参见 文档/部署.md 有关Railway(~$0/mo)、Fly.io(~$0/1mo,扩展到零)和Docker部署的分步说明。
克劳德桌面/代码:使用承载令牌身份验证--添加服务器URL和 Authorization: Bearer 标题指向您的配置。
Claude.ai网络/移动:需要通过Auth0(免费层)使用OAuth 2.1。看 部署指南 有关设置说明。
默认模式保持不变 stdio --现有 npx 用户不受影响。
许可证
麻省理工学院
______________________________________________________________________
WooCommerce是Automattic股份有限公司的注册商标。本项目不隶属于Automattic股份有限公司,也不由其背书或赞助。
