WooCommerce管理服务器

通过AI助手(如Claude)管理WooCommerce商店的服务器,提供101种工具,涵盖产品、订单、客户、优惠券、运输、税收、Webhooks、设置、报告等功能。

  • by AmitGurbani
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 AmitGurbani/mcp-server-woocommerce

使用说明

mcp服务器woocommerce

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 fields param仅返回特定字段,将响应大小减少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 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 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 <token> 标题指向您的配置。

Claude.ai网络/移动:需要通过Auth0(免费层)使用OAuth 2.1。看 部署指南 有关设置说明。

默认模式保持不变 stdio --现有 npx 用户不受影响。

许可证

麻省理工学院


WooCommerce是Automattic股份有限公司的注册商标。本项目不隶属于Automattic股份有限公司,也不由其背书或赞助。