techspawn
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"woocommerce": {
"args": [
"path/to/build/index.js"
],
"command": "node",
"env": {
"WOOCOMMERCE_CONSUMER_KEY": "your-woocommerce-consumer-key",
"WOOCOMMERCE_CONSUMER_SECRET": "your-woocommerce-consumer-secret",
"WORDPRESS_PASSWORD": "your-wordpress-password",
"WORDPRESS_SITE_URL": "https://your-wordpress-site.com",
"WORDPRESS_USERNAME": "your-wordpress-username"
}
}
}
}
服务介绍
WooCommerce MCP 服务器
一个用于WooCommerce集成的模型上下文协议(MCP)服务器,兼容Windows、macOS和Linux。
概述
此MCP服务器通过WordPress REST API实现与WooCommerce商店的交互。它提供了全面的工具来使用JSON-RPC 2.0协议管理产品、订单、客户、运输、税费、折扣以及商店配置的所有方面。
安装
-
克隆仓库
-
安装依赖项:
bash
npm install -
构建项目:
bash
npm run build
配置
在您的MCP设置文件中添加服务器,并使用环境变量提供凭证:
json
{
"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 |
获取单个产品分类 |
create_product_category |
创建新的产品分类 |
update_product_category |
更新产品分类 |
delete_product_category |
删除产品分类 |
产品标签
| 方法 | 描述 |
|---|---|
get_product_tags |
检索产品标签 |
get_product_tag |
获取单个产品标签 |
create_product_tag |
创建新的产品标签 |
update_product_tag |
更新产品标签 |
产品属性
| 方法 | 描述 |
|---|---|
get_product_attributes |
检索产品属性 |
get_product_attribute |
获取单个产品属性 |
create_product_attribute |
创建新的产品属性 |
update_product_attribute |
更新产品属性 |
delete_product_attribute |
删除产品属性 |
get_attribute_terms |
检索属性项 |
get_attribute_term |
获取单个属性项 |
create_attribute_term |
创建新的属性项 |
update_attribute_term |
更新属性项 |
delete_attribute_term |
删除属性项 |
产品变体
| 方法 | 描述 |
|---|---|
get_product_variations |
检索产品变体 |
get_product_variation |
获取单个产品变体 |
create_product_variation |
创建新的产品变体 |
update_product_variation |
更新产品变体 |
delete_product_variation |
删除产品变体 |
产品评价
| 方法 | 描述 |
|---|---|
get_product_reviews |
检索产品评价 |
get_product_review |
获取单个产品评价 |
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 |
获取单个订单备注 |
create_order_note |
创建新的订单备注 |
delete_order_note |
删除订单备注 |
订单退款
| 方法 | 描述 |
|---|---|
get_order_refunds |
检索订单退款 |
get_order_refund |
获取单个订单退款 |
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 |
获取单个运输区域 |
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 |
创建新的税类 |
get_tax_rates |
获取税费率列表 |
get_tax_rate |
获取单个税费率 |
create_tax_rate |
创建一个新的税费率 |
update_tax_rate |
更新一个税费率 |
delete_tax_rate |
删除一个税费率 |
折扣/优惠券
| 方法 | 描述 |
|---|---|
get_coupons |
获取优惠券列表 |
get_coupon |
获取单个优惠券 |
create_coupon |
创建一个新的优惠券 |
update_coupon |
更新一个优惠券 |
delete_coupon |
删除一个优惠券 |
支付网关
| 方法 | 描述 |
|---|---|
get_payment_gateways |
获取支付网关列表 |
get_payment_gateway |
获取单个支付网关 |
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 示例
json
{
"jsonrpc": "2.0",
"id": 1,
"method": "create_post",
"params": {
"siteUrl": "https://your-wordpress-site.com",
"username": "your-wordpress-username",
"password": "your-wordpress-password",
"title": "My New Blog Post",
"content": "This is the content of my new blog post.",
"status": "publish"
}
}
WooCommerce 产品示例
json
{
"jsonrpc": "2.0",
"id": 1,
"method": "get_products",
"params": {
"perPage": 20,
"page": 1,
"filters": {
"category": 19,
"status": "publish"
}
}
}
创建产品示例
json
{
"jsonrpc": "2.0",
"id": 1,
"method": "create_product",
"params": {
"productData": {
"name": "Premium T-Shirt",
"type": "simple",
"regular_price": "29.99",
"description": "Comfortable cotton t-shirt, available in various sizes.",
"short_description": "Premium quality t-shirt.",
"categories": [
{
"id": 19
}
],
"images": [
{
"src": "http://example.com/wp-content/uploads/2022/06/t-shirt.jpg"
}
]
}
}
}
产品元数据示例
json
{
"jsonrpc": "2.0",
"id": 1,
"method": "create_product_meta",
"params": {
"productId": 456,
"metaKey": "_custom_product_field",
"metaValue": {
"special_attribute": "value",
"another_attribute": 42
}
}
}### 订单元数据示例
json
{
"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文件