<a name="hebrew-version"></a>
<div align="center">
🛒 WooCommerce MCP 服务器 | Python 版本
</div>
<div dir="rtl">
一个简单高效的解决方案,用于连接 WooCommerce 商店与 Model Context Protocol
<div align="right">

</div>
🇺🇸 英文版 | <b>🇮🇱 希伯来语版</b>
📌 这是什么?
这是一个 Model Context Protocol (MCP) 服务器,用于 WooCommerce 集成,兼容 WordPress REST API。该库提供了全面的工具,用于管理产品、订单、客户、运输、税收、折扣以及商店配置的所有方面。
🚀 快速安装
# 步骤 1:克隆仓库
git clone https://github.com/yourusername/woocommerce-mcp-server.git
cd woocommerce-mcp-server
# 步骤 2:安装依赖
pip install -r requirements.txt
# 步骤 3:配置环境变量(见下文)
☁️ 在 Railway 上部署
该服务器可以在 Railway 平台上立即部署:
# 步骤 1:将仓库克隆到您的 GitHub 账户
# 步骤 2:登录 Railway 并连接您的 GitHub 账户
# https://railway.app/
# 步骤 3:点击“新建项目”并选择“从 GitHub 仓库部署”
# 步骤 4:选择已克隆的仓库
# 步骤 5:配置以下环境变量:
# - WORDPRESS_SITE_URL
# - WOOCOMMERCE_CONSUMER_KEY
# - WOOCOMMERCE_CONSUMER_SECRET
# - WORDPRESS_USERNAME (可选)
# - WORDPRESS_PASSWORD (可选)
# - MCP_HOST=0.0.0.0
# - MCP_PORT=8000
# 步骤 6:等待构建和部署完成
在 Railway 上部署的好处:
- 🔄 自动从 GitHub 部署
- 🔒 自动 SSL
- 📊 内置监控和日志
- 🔍 免费子域在 railway.app
- ⚡ 根据需求自动扩展
⚙️ 配置
在项目根目录创建一个 .env 文件,包含您的凭据:
<div align="left" dir="ltr">
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
</div>
环境变量
<div align="right">
| 变量 | 描述 | 是否必需 |
|---|
WORDPRESS_SITE_URL | 您的 WordPress 站点 URL(WooCommerce 是 WordPress 插件) | ✅ |
WOOCOMMERCE_CONSUMER_KEY | WooCommerce REST API 消费者密钥 | ✅ |
WOOCOMMERCE_CONSUMER_SECRET | WooCommerce REST API 消费者密钥 | ✅ |
WORDPRESS_USERNAME | 具有适当权限的 WordPress 用户名 | ⚠️ * |
WORDPRESS_PASSWORD | WordPress 认证密码 | ⚠️ * |
</div>
* 仅在需要 WordPress API 方法时才需要
🔐 认证选项
WooCommerce 认证
访问 WooCommerce API 需要消费者密钥,您可以在 WordPress 控制面板下的 WooCommerce → 设置 → 高级 → REST API 中生成这些密钥。
WordPress 认证
对于特定于 WordPress 的方法(如管理帖子),您需要提供:
- 基本认证的用户名/密码凭证
- WordPress REST API 必须在您的站点上启用
🔄 API 方法
服务器支持 WordPress 和 WooCommerce API 方法。以下是按类别分组的可用方法列表:
WordPress 内容管理
这些方法需要 WordPress 用户名/密码凭证,并且独立于 WooCommerce API。
<div align="right">
| 方法 | 描述 |
|---|
create_post | 创建新的 WordPress 帖子 |
get_posts | 获取 WordPress 帖子 |
update_post | 更新现有的 WordPress 帖子 |
get_post_meta | 获取帖子元数据 |
update_post_meta | 更新帖子元数据 |
create_post_meta | 创建帖子元数据 |
delete_post_meta | 删除帖子元数据 |
</div>
WooCommerce 产品
<div align="right">
| 方法 | 描述 |
|---|
get_products | 获取产品列表 |
get_product | 通过 ID 获取单个产品 |
create_product | 创建新产品 |
update_product | 更新现有产品 |
delete_product | 删除产品 |
get_product_meta | 获取产品元数据 |
create_product_meta | 创建/更新产品元数据 |
update_product_meta | 更新产品元数据(创建别名) |
delete_product_meta | 删除产品元数据 |
</div>
产品分类
<div align="right">
| 方法 | 描述 |
|---|
get_product_categories | 获取产品分类 |
get_product_category | 获取单个产品分类 |
create_product_category | 创建新的产品分类 |
update_product_category | 更新产品分类 |
delete_product_category | 删除产品分类 |
</div>
产品标签
<div align="right">
| 方法 | 描述 |
|---|
get_product_tags | 获取产品标签 |
get_product_tag | 获取单个产品标签 |
create_product_tag | 创建新的产品标签 |
update_product_tag | 更新产品标签 |
delete_product_tag | 删除产品标签 |
</div>
产品属性
<div align="right">
| 方法 | 描述 |
|---|
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 | 删除属性项 |
</div>
产品变体
<div align="right">
| 方法 | 描述 |
|---|
get_product_variations | 获取产品变体 |
get_product_variation | 获取单个产品变体 |
create_product_variation | 创建新的产品变体 |
update_product_variation | 更新产品变体 |
delete_product_variation | 删除产品变体 |
batch_update_product_variations | 批量更新产品变体 |
</div>
产品评论
<div align="right">
| 方法 | 描述 |
|---|
get_product_reviews | 获取产品评论 |
get_product_review | 获取单个产品评论 |
create_product_review | 创建新的产品评论 |
update_product_review | 更新产品评论 |
delete_product_review | 删除产品评论 |
</div>
WooCommerce 订单
<div align="right">
| 方法 | 描述 |
|---|
get_orders | 获取订单列表 |
get_order | 通过 ID 获取单个订单 |
create_order | 创建新订单 |
update_order | 更新现有订单 |
delete_order | 删除订单 |
get_order_meta | 获取订单元数据 |
create_order_meta | 创建/更新订单元数据 |
update_order_meta | 更新订单元数据(创建别名) |
delete_order_meta | 删除订单元数据 |
</div>
订单备注
<div align="right">
| 方法 | 描述 |
|---|
get_order_notes | 获取订单备注 |
get_order_note | 获取单个订单备注 |
create_order_note | 创建新的订单备注 |
delete_order_note | 删除订单备注 |
</div>
订单退款
<div align="right">
| 方法 | 描述 |
|---|
get_order_refunds | 获取订单退款 |
get_order_refund | 获取单个订单退款 |
create_order_refund | 创建新的订单退款 |
update_order_refund | 更新订单退款 |
delete_order_refund | 删除订单退款 |
</div>
WooCommerce 客户
<div align="right">
| 方法 | 描述 |
|---|
get_customers | 获取客户列表 |
get_customer | 通过 ID 获取单个客户 |
create_customer | 创建新客户 |
update_customer | 更新现有客户 |
delete_customer | 删除客户 |
get_customer_meta | 获取客户元数据 |
create_customer_meta | 创建/更新客户元数据 |
update_customer_meta | 更新客户元数据(创建别名) |
delete_customer_meta | 删除客户元数据 |
</div>
运输
<div align="right">
| 方法 | 描述 |
|---|
get_shipping_zones | 获取运输区域 |
get_shipping_zone | 获取单个运输区域 |
create_shipping_zone | 创建新的运输区域 |
update_shipping_zone | 更新运输区域 |
delete_shipping_zone | 删除运输区域 |
get_shipping_methods | 获取运输方式 |
get_zone_shipping_methods | 获取区域的运输方式 |
get_zone_shipping_method | 获取区域的特定运输方式 |
create_zone_shipping_method | 创建新的区域运输方式 |
update_zone_shipping_method | 更新区域运输方式 |
delete_zone_shipping_method | 从区域删除运输方式 |
get_shipping_zone_locations | 获取运输区域的位置 |
update_shipping_zone_locations | 更新运输区域的位置 |
</div>
税收
<div align="right">
| 方法 | 描述 |
|---|
get_tax_classes | 获取税收类别 |
create_tax_class | 创建新的税收类别 |
delete_tax_class | 删除税收类别 |
get_tax_rates | 获取税率 |
get_tax_rate | 获取单个税率 |
create_tax_rate | 创建新的税率 |
update_tax_rate | 更新税率 |
delete_tax_rate | 删除税率 |
batch_update_tax_rates | 批量更新税率 |
</div>
折扣/优惠券
<div align="right">
| 方法 | 描述 |
|---|
get_coupons | 获取优惠券 |
get_coupon | 获取单个优惠券 |
create_coupon | 创建新的优惠券 |
update_coupon | 更新优惠券 |
delete_coupon | 删除优惠券 |
batch_update_coupons | 批量更新优惠券 |
</div>
支付网关
<div align="right">
| 方法 | 描述 |
|---|
get_payment_gateways | 获取支付网关 |
get_payment_gateway | 获取单个支付网关 |
update_payment_gateway | 更新支付网关 |
</div>
报告
<div align="right">
| 方法 | 描述 |
|---|
get_sales_report | 获取销售报告 |
get_products_report | 获取产品报告 |
get_customers_report | 获取客户报告 |
get_stock_report | 获取库存报告 |
</div>
设置
<div align="right">
| 方法 | 描述 |
|---|
get_settings | 获取所有设置 |
get_setting_option | 获取特定设置选项 |
update_setting_option | 更新设置选项 |
batch_update_settings | 批量更新设置 |
</div>
系统状态
<div align="right">
| 方法 | 描述 |
|---|
get_system_status | 获取系统状态 |
get_system_status_tools | 获取系统状态工具 |
execute_system_status_tool | 运行系统状态工具 |
</div>
数据
<div align="right">
| 方法 | 描述 |
|---|
get_countries | 获取国家数据 |
get_country_states | 获取国家的州/省 |
get_currencies | 获取货币数据 |
get_currency | 获取特定货币的详情 |
get_current_currency | 获取当前货币 |
</div>
💻 使用示例
初始化 MCP 服务器
import os
from dotenv import load_dotenv
from woocommerce_mcp import initialize
# 从 .env 加载环境变量
load_dotenv()
# 初始化 MCP 服务器
mcp = initialize()
# 运行服务器
async def main():
mcp.run()
if __name__ == "__main__":
import asyncio
asyncio.run(main())
获取产品的示例
import asyncio
from woocommerce_mcp.products import get_products
async def list_products():
# 获取最新产品
products = await get_products({
"per_page": 20,
"page": 1,
"status": "publish"
})
for product in products:
print(f"产品: {product['name']}, 价格: {product['price']}")
# 运行函数
asyncio.run(list_products())
创建产品的示例
import asyncio
from woocommerce_mcp.products import create_product
async def add_new_product():
product_data = {
"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"
}
]
}
result = await create_product(product_data)
print(f"创建了新产品,ID为: {result['id']}")
# 运行函数
asyncio.run(add_new_product())
📋 函数参数
所有函数接受其特定的 API 动作参数,加上以下可选参数:
site_url: (如果在环境中设置则可选) WordPress 站点 URL
consumer_key: (如果在环境中设置则可选) WooCommerce 消费者密钥
consumer_secret: (如果在环境中设置则可选) WooCommerce 消费者密钥
- 对于 WordPress 方法:
username 和 password (如果在环境中设置则可选)
🔒 安全提示
为了访问 WooCommerce REST API,您需要生成 API 密钥。您可以在 WordPress 控制面板下的 WooCommerce → 设置 → 高级 → REST API 中创建这些密钥。
📦 系统要求
- Python 3.9 或更高版本
- 已安装 WooCommerce 插件的 WordPress 站点
- WooCommerce REST API 密钥
- Python 包:
mcp-server, httpx, python-dotenv
📄 许可证
MIT 许可证 - 查看 LICENSE 文件获取更多详情