
WooCommerce MCP 服务器
这是一个用于 WooCommerce 集成的模型上下文协议(MCP)服务器,兼容 Windows、macOS 和 Linux。
概述
此 MCP 服务器通过 WordPress REST API 实现与 WooCommerce 商店的交互。它提供了全面的工具,使用 JSON-RPC 2.0 协议管理产品、订单、客户、配送、税收、折扣和商店配置的所有方面。
相关项目
向超过 8 亿的 ChatGPT 用户展示您的 WooCommerce 商店! 查看 WooCommerce ChatGPT 应用 - 使用 MCP 和 ChatGPT SDK 构建的视觉购物助手,具有漂亮的用户界面,显示产品、图片、价格和描述。在 ChatGPT 中浏览、搜索、筛选并无缝导航到您的商店。
安装 - WooCommerce MCP 服务器
- 克隆仓库
- 安装依赖项:
npm install
- 构建项目:
npm run build
配置
在 MCP 设置文件中添加服务器,并使用环境变量设置凭据:
{
"mcpServers": {
"woocommerce": {
"command": "node",
"args": ["path/to/build/index.js"],
"env": {
"WORDPRESS_SITE_URL": "https://your-wordpress-site.com",
"WOOCOMMERCE_CONSUMER_KEY": "your-woocommerce-consumer-key",
"WOOCOMMERCE_CONSUMER_SECRET": "your-woocommerce-consumer-secret",
"WORDPRESS_USERNAME": "your-wordpress-username",
"WORDPRESS_PASSWORD": "your-wordpress-password"
}
}
}
}
环境变量
访问 WooCommerce API 所需:
WORDPRESS_SITE_URL:您的 WordPress 站点 URL(WooCommerce 是一个 WordPress 插件)
WOOCOMMERCE_CONSUMER_KEY:WooCommerce REST API 消费者密钥
WOOCOMMERCE_CONSUMER_SECRET:WooCommerce REST API 消费者密钥
访问 WordPress API 方法所需:
WORDPRESS_USERNAME:具有适当权限的 WordPress 用户名
WORDPRESS_PASSWORD:用于身份验证的 WordPress 密码
您也可以在请求参数中提供这些凭据,而不使用环境变量。
认证选项
WooCommerce 认证
访问 WooCommerce API 需要消费者密钥,您可以在 WordPress 仪表板中的 WooCommerce → 设置 → 高级 → REST API 下生成这些密钥。
WordPress 认证
对于特定于 WordPress 的方法(如管理帖子),您需要提供:
- 基本认证的用户名/密码凭据
- 必须在您的站点上启用 WordPress REST API
API 方法
该服务器支持 WordPress 和 WooCommerce API 方法。以下是按类别分组的方法列表:
WordPress 内容管理
这些方法需要 WordPress 用户名/密码凭据,并且独立于 WooCommerce API。
| 方法 | 描述 |
|---|
create_post | 创建一个新的 WordPress 帖子 |
get_posts | 获取 WordPress 帖子 |
update_post | 更新现有的 WordPress 帖子 |
get_post_meta | 获取帖子元数据 |
update_post_meta | 更新帖子元数据 |
create_post_meta | 创建帖子元数据 |
delete_post_meta | 删除帖子元数据 |
WooCommerce 产品
| 方法 | 描述 |
|---|
get_products | 获取产品列表 |
get_product | 根据 ID 获取单个产品 |
create_product | 创建新的产品 |
update_product | 更新现有产品 |
delete_product | 删除产品 |
get_product_meta | 获取产品元数据 |
create_product_meta | 创建/更新产品元数据 |
update_product_meta | 更新产品元数据(别名为创建) |
delete_product_meta | 删除产品元数据 |
产品分类
| 方法 | 描述 |
|---|
get_product_categories | 获取产品分类 |
get_product_category | 根据 ID 获取单个产品分类 |
create_product_category | 创建新的产品分类 |
update_product_category | 更新产品分类 |
delete_product_category | 删除产品分类 |
产品标签
| 方法 | 描述 |
|---|
get_product_tags | 获取产品标签 |
get_product_tag | 根据 ID 获取单个产品标签 |
create_product_tag | 创建新的产品标签 |
update_product_tag | 更新产品标签 |
delete_product_tag | 删除产品标签 |
产品属性
| 方法 | 描述 |
|---|
get_product_attributes | 获取产品属性 |
get_product_attribute | 根据 ID 获取单个产品属性 |
create_product_attribute | 创建新的产品属性 |
update_product_attribute | 更新产品属性 |
delete_product_attribute | 删除产品属性 |
get_attribute_terms | 获取属性术语 |
get_attribute_term | 根据 ID 获取单个属性术语 |
create_attribute_term | 创建新的属性术语 |
update_attribute_term | 更新属性术语 |
delete_attribute_term | 删除属性术语 |
产品变体
| 方法 | 描述 |
|---|
get_product_variations | 获取产品变体 |
get_product_variation | 根据 ID 获取单个产品变体 |
create_product_variation | 创建新的产品变体 |
update_product_variation | 更新产品变体 |
delete_product_variation | 删除产品变体 |
产品评论
| 方法 | 描述 |
|---|
get_product_reviews | 获取产品评论 |
get_product_review | 根据 ID 获取单个产品评论 |
create_product_review | 创建新的产品评论 |
update_product_review | 更新产品评论 |
delete_product_review | 删除产品评论 |
WooCommerce 订单
| 方法 | 描述 |
|---|
get_orders | 获取订单列表 |
get_order | 根据 ID 获取单个订单 |
create_order | 创建新的订单 |
update_order | 更新现有订单 |
delete_order | 删除订单 |
get_order_meta | 获取订单元数据 |
create_order_meta | 创建/更新订单元数据 |
update_order_meta | 更新订单元数据(别名为创建) |
delete_order_meta | 删除订单元数据 |
订单备注
| 方法 | 描述 |
|---|
get_order_notes | 获取订单备注 |
get_order_note | 根据 ID 获取单个订单备注 |
create_order_note | 创建新的订单备注 |
delete_order_note | 删除订单备注 |
订单退款
| 方法 | 描述 |
|---|
get_order_refunds | 获取订单退款 |
get_order_refund | 根据 ID 获取单个订单退款 |
create_order_refund | 创建新的订单退款 |
delete_order_refund | 删除订单退款 |
WooCommerce 客户
| 方法 | 描述 |
|---|
get_customers | 获取客户列表 |
get_customer | 根据 ID 获取单个客户 |
create_customer | 创建新的客户 |
update_customer | 更新现有客户 |
delete_customer | 删除客户 |
get_customer_meta | 获取客户元数据 |
create_customer_meta | 创建/更新客户元数据 |
update_customer_meta | 更新客户元数据(别名为创建) |
delete_customer_meta | 删除客户元数据 |
配送
| 方法 | 描述 |
|---|
get_shipping_zones | 获取配送区域 |
get_shipping_zone | 根据 ID 获取单个配送区域 |
create_shipping_zone | 创建新的配送区域 |
update_shipping_zone | 更新配送区域 |
delete_shipping_zone | 删除配送区域 |
get_shipping_methods | 获取配送方式 |
get_shipping_zone_methods | 获取区域的配送方式 |
create_shipping_zone_method | 为区域创建新的配送方式 |
update_shipping_zone_method | 更新区域的配送方式 |
delete_shipping_zone_method | 从区域删除配送方式 |
get_shipping_zone_locations | 获取区域的位置 |
update_shipping_zone_locations | 更新区域的位置 |
税收
| 方法 | 描述 |
|---|
get_tax_classes | 获取税类 |
create_tax_class | 创建新的税类 |
delete_tax_class | 删除税类 |
get_tax_rates | 获取税率 |
get_tax_rate | 根据 ID 获取单个税率 |
create_tax_rate | 创建新的税率 |
update_tax_rate | 更新税率 |
delete_tax_rate | 删除税率 |
折扣/优惠券
| 方法 | 描述 |
|---|
get_coupons | 获取优惠券 |
get_coupon | 根据 ID 获取单个优惠券 |
create_coupon | 创建新的优惠券 |
update_coupon | 更新优惠券 |
delete_coupon | 删除优惠券 |
支付网关
| 方法 | 描述 |
|---|
get_payment_gateways | 获取支付网关 |
get_payment_gateway | 根据 ID 获取单个支付网关 |
update_payment_gateway | 更新支付网关 |
报告
| 方法 | 描述 |
|---|
get_sales_report | 获取销售报告 |
get_products_report | 获取产品报告 |
get_orders_report | 获取订单报告 |
get_categories_report | 获取分类报告 |
get_customers_report | 获取客户报告 |
get_stock_report | 获取库存报告 |
get_coupons_report | 获取优惠券报告 |
get_taxes_report | 获取税收报告 |
设置
| 方法 | 描述 |
|---|
get_settings | 获取所有设置 |
get_setting_options | 获取设置选项 |
update_setting_option | 更新设置选项 |
系统状态
| 方法 | 描述 |
|---|
get_system_status | 获取系统状态 |
get_system_status_tools | 获取系统状态工具 |
run_system_status_tool | 运行系统状态工具 |
数据
| 方法 | 描述 |
|---|
get_data | 获取商店数据 |
get_continents | 获取大陆数据 |
get_countries | 获取国家数据 |
get_currencies | 获取货币数据 |
get_current_currency | 获取当前货币 |
方法参数
所有方法遵循类似的参数结构。这里有一些示例:
所有方法的通用参数
siteUrl:(如果在环境变量中已设置则可选)WordPress 站点 URL
WooCommerce 方法的附加参数
consumerKey:(如果在环境变量中已设置则可选)WooCommerce 消费者密钥
consumerSecret:(如果在环境变量中已设置则可选)WooCommerce 消费者密钥
WordPress 方法的附加参数
username:(如果在环境变量中已设置则可选)WordPress 用户名
password:(如果在环境变量中已设置则可选)WordPress 密码
示例用法
WordPress API 示例
{
"jsonrpc": "2.0",
"id": 1,
"method": "create_post",
"params": {
"siteUrl": "https://your-wordpress-site.com",
"username": "your-wordpress-username",
"password": "your-wordpress-password",
"title": "我的新博客文章",
"content": "这是我的新博客文章的内容。",
"status": "publish"
}
}
WooCommerce 产品示例
{
"jsonrpc": "2.0",
"id": 1,
"method": "get_products",
"params": {
"perPage": 20,
"page": 1,
"filters": {
"category": 19,
"status": "publish"
}
}
}
创建产品示例
{
"jsonrpc": "2.0",
"id": 1,
"method": "create_product",
"params": {
"productData": {
"name": "优质T恤",
"type": "simple",
"regular_price": "29.99",
"description": "舒适的棉质T恤,多种尺寸可供选择。",
"short_description": "优质T恤。",
"categories": [
{
"id": 19
}
],
"images": [
{
"src": "http://example.com/wp-content/uploads/2022/06/t-shirt.jpg"
}
]
}
}
}
产品元数据示例
{
"jsonrpc": "2.0",
"id": 1,
"method": "create_product_meta",
"params": {
"productId": 456,
"metaKey": "_custom_product_field",
"metaValue": {
"special_attribute": "value",
"another_attribute": 42
}
}
}
订单元数据示例
{
"jsonrpc": "2.0",
"id": 1,
"method": "create_order_meta",
"params": {
"orderId": 789,
"metaKey": "_delivery_instructions",
"metaValue": "请将包裹放在后门"
}
}
安全说明
为了访问 WooCommerce REST API,您需要生成 API 密钥。您可以在 WordPress 仪表板中的 WooCommerce → 设置 → 高级 → REST API 下创建这些密钥。
要求
- Node.js 20.0.0 或更高版本
- 已安装 WooCommerce 插件的 WordPress 站点
- WooCommerce REST API 密钥
许可证
MIT 许可证 - 详情见 LICENSE 文件