🛒 WooCommerce MCP服务器| Python版
*使用 Model Context Protocol 连接 WooCommerce 商店的简单高效解决方案*

🇺🇸 英文版 | 🇮🇱 中文版本
📌 那是什么?
模型上下文协议(MCP)服务器,可通过WordPress REST API与WooCommerce商店完全集成。该库提供了全面的工具来管理产品,订单,客户,运输,税收,折扣和商店配置的各个方面。
🚀 快速安装
# שלב 1: שכפל את הרפוזיטורי
git clone https://github.com/yourusername/woocommerce-mcp-server.git
cd woocommerce-mcp-server
# שלב 2: התקן תלויות
pip install -r requirements.txt
# שלב 3: הגדר משתני סביבה (ראה הסבר בהמשך)
☁️ 发布在Railway
服务器已准备好立即在平台上部署 铁路:
# שלב 1: שכפל את הרפוזיטורי לחשבון GitHub שלך
# שלב 2: היכנס ל-Railway והתחבר עם חשבון GitHub
# https://railway.app/
# שלב 3: לחץ על "New Project" ובחר "Deploy from GitHub repo"
# שלב 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: המתן לסיום הבנייה והפריסה
铁路的优势:
- 🔄 自动从GitHub发布
- 🔒 自动 SSL
- 📊 内置监控和逻辑
- 🔍 内置免费域名(railway.app子域名)
- ⚡ 根据需要自动缩放
⚙️ 配置
必须创建文件 .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
环境变量
| 变化 | 描述 | 需要 |
|---|
WORDPRESS_SITE_URL | 您的网站地址(WooCommerce是WordPress插件) | ✅ |
WOOCOMMERCE_CONSUMER_KEY 使用 WooCommerce REST API✅ |
WOOCOMMERCE_CONSUMER_SECRET WooCommerce REST API功能✅ |
WORDPRESS_USERNAME | 具有相应权限的WordPress用户名 | ⚠️ * |
WORDPRESS_PASSWORD WordPress密码验证⚠️ * |
\* 只需要WordPress API方法
🔐 验证选项
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 更新Post的元数据 |
create_post_meta 创建Post的元数据 |
delete_post_meta 删除Post的元数据 |
WooCommerce 产品
| 方法 | 描述 |
|---|
get_products 获取产品列表。 |
get_product 按标识符获取单个产品。 |
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 更新产品标签 |
delete_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 删除产品变体。 |
batch_update_product_variations 更新一组产品变体。 |
订单评论
| 方法 | 描述 |
|---|
get_order_notes 订购评论。 |
get_order_note 收到单个订单。 |
create_order_note 创建一个新的订单。 |
delete_order_note 删除订单注释。 |
退回订单
| 方法 | 描述 |
|---|
get_order_refunds 收回订单。 |
get_order_refund 单个订单退款。 |
create_order_refund 创建一个新的订单。 |
update_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_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 更新送货区域的位置 |
税务
| 方法 | 描述 |
|---|
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 更新税率。 |
折扣/优惠券
| 方法 | 描述 |
|---|
get_coupons 获取优惠券。 |
get_coupon 获得单一优惠券。 |
create_coupon 创建一个新的优惠券。 |
update_coupon 更新优惠券。 |
delete_coupon 删除优惠券。 |
batch_update_coupons 更新一组优惠券。 |
支付网关
| 方法 | 描述 |
|---|
get_payment_gateways 收到付款门户。 |
get_payment_gateway 单一支付门户。 |
update_payment_gateway 更新付款门户 |
报告
| 方法 | 描述 |
|---|
get_sales_report 收到销售报告。 |
get_products_report 收到产品报告。 |
get_customers_report 接收客户报告。 |
get_stock_report 收到库存报告。 |
设置
| 方法 | 描述 |
|---|
get_settings 获取所有设置。 |
get_setting_option 具体设置选项。 |
update_setting_option 更新设置选项。 |
batch_update_settings 更新组设置。 |
系统状态
| 方法 | 描述 |
|---|
get_system_status 获取系统状态。 |
get_system_status_tools 获取系统状态工具。 |
execute_system_status_tool 启动系统状态工具。 |
数据
| 方法 | 描述 |
|---|
get_countries 获取国家数据。 |
get_country_states | 接受州/国家的国家 |
get_currencies 获取货币数据。 |
get_currency 获取特定货币的详细信息。 |
get_current_currency 现在的货币。 |
💻 使用范例
启动 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": "חולצת פרימיום",
"type": "simple",
"regular_price": "99.99",
"description": "חולצת כותנה נוחה, זמינה במגוון מידות וצבעים.",
"short_description": "חולצת פרימיום באיכות גבוהה.",
"categories": [
{
"id": 19
}
],
"images": [
{
"src": "http://example.com/wp-content/uploads/2022/06/t-shirt.jpg"
}
]
}
result = await create_product(product_data)
print(f"נוצר מוצר חדש עם מזהה: {result['id']}")
# הפעלת הפונקציה
asyncio.run(add_new_product())
📋 函数参数
除了以下可选参数之外,所有函数都接收其特定的 API 操作参数:
site_url(如果在环境变量中设置,则可选) WordPress网站地址consumer_key(如果在环境变量中设置,则可选) WooCommerce消费者密钥consumer_secret(如果在环境变量中设置,则可选) WooCommerce消费者秘密- 对于WordPress方法:
username 还有…password (如果在环境变量中设置,则可选)
🔒 安全说明
要访问WooCommerce REST API,您需要创建API密钥。它们可以在WordPress控制面板下创建 WooCommerce → 设置 → 高级 → REST API.
📦 系统要求
- Python 3.9 及以上
- WordPress网站安装WooCommerce插件
- WooCommerce 的 REST API
- Python 套件:
mcp-server, httpx, python-dotenv
📄 许可证
MIT License - 查看 LICENSE 文件以了解更多详情
______________________________________________________________________
🛒 WooCommerce MCP服务器| Python版
*使用模型上下文协议连接WooCommerce商店的简单有效的解决方案*

🇮🇱 希伯来语版本 | 🇺🇸 英文版
📌 这是怎么一回事?
用于WooCommerce集成的模型上下文协议(MCP)服务器,与WordPress REST API兼容。该库提供了全面的工具,用于管理产品、订单、客户、运输、税务、折扣和商店配置的各个方面。
🚀 快速安装
# Step 1: Clone the repository
git clone https://github.com/yourusername/woocommerce-mcp-server.git
cd woocommerce-mcp-server
# Step 2: Install dependencies
pip install -r requirements.txt
# Step 3: Configure environment variables (see below)
☁️ 铁路部署
服务器已准备好立即部署到 铁路 平台:
# Step 1: Clone the repository to your GitHub account
# Step 2: Log in to Railway and connect with your GitHub account
# https://railway.app/
# Step 3: Click on "New Project" and select "Deploy from GitHub repo"
# Step 4: Select the cloned repository
# Step 5: Configure the following environment variables:
# - WORDPRESS_SITE_URL
# - WOOCOMMERCE_CONSUMER_KEY
# - WOOCOMMERCE_CONSUMER_SECRET
# - WORDPRESS_USERNAME (optional)
# - WORDPRESS_PASSWORD (optional)
# - MCP_HOST=0.0.0.0
# - MCP_PORT=8000
# Step 6: Wait for the build and deployment to complete
铁路部署的好处:
- 🔄 从GitHub自动部署
- 🔒 自动SSL
- 📊 内置监控和日志记录
- 🔍 railway.app上的免费子域
- ⚡ 根据需求自动缩放
⚙️ 配置
创建一个 .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
环境变量
| 变量 | 描述 | 必填 |
|---|
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密码 | ⚠️ * |
\*仅适用于WordPress API方法
🔐 身份验证选项
WooCommerce身份验证
WooCommerce API访问需要消费者密钥,您可以在WooCommCommerce下的WordPress仪表板中生成这些密钥→ 设置→ 高级→ 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 | 更新产品标签 |
delete_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 | 删除产品变体 |
batch_update_product_variations | 批量更新产品变体 |
产品评论
| 方法 | 说明 |
|---|
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 | 创建新订单退款 |
update_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_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 | 更新运输区域的位置 |
税收
| 方法 | 说明 |
|---|
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 | 批量更新税率 |
折扣/优惠券
| 方法 | 说明 |
|---|
get_coupons | 取回优惠券 |
get_coupon | 获得一张优惠券 |
create_coupon | 创建新优惠券 |
update_coupon | 更新优惠券 |
delete_coupon | 删除优惠券 |
batch_update_coupons | 批量更新优惠券 |
支付网关
| 方法 | 说明 |
|---|
get_payment_gateways | 检索支付网关 |
get_payment_gateway | 获取单一支付网关 |
update_payment_gateway | 更新支付网关 |
报告
| 方法 | 说明 |
|---|
get_sales_report | 检索销售报告 |
get_products_report | 检索产品报告 |
get_customers_report | 检索客户报告 |
get_stock_report | 检索库存报告 |
设置
| 方法 | 说明 |
|---|
get_settings | 检索所有设置 |
get_setting_option | 检索特定设置选项 |
update_setting_option | 更新设置选项 |
batch_update_settings | 批量更新设置 |
系统状态
| 方法 | 说明 |
|---|
get_system_status | 检索系统状态 |
get_system_status_tools | 检索系统状态工具 |
execute_system_status_tool | 运行系统状态工具 |
数据
| 方法 | 说明 |
|---|
get_countries | 检索国家数据 |
get_country_states | 检索一个国家的州/省 |
get_currencies | 检索货币数据 |
get_currency | 获取特定货币的详细信息 |
get_current_currency | 获取当前货币 |
💻 使用示例
初始化MCP服务器
import os
from dotenv import load_dotenv
from woocommerce_mcp import initialize
# Load environment variables from .env
load_dotenv()
# Initialize the MCP server
mcp = initialize()
# Run the server
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():
# Get latest products
products = await get_products({
"per_page": 20,
"page": 1,
"status": "publish"
})
for product in products:
print(f"Product: {product['name']}, Price: {product['price']}")
# Run the function
asyncio.run(list_products())
创建产品的示例
import asyncio
from woocommerce_mcp.products import create_product
async def add_new_product():
product_data = {
"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"
}
]
}
result = await create_product(product_data)
print(f"Created new product with ID: {result['id']}")
# Run the function
asyncio.run(add_new_product())
📋 功能参数
所有函数都接受API操作的特定参数,以及以下可选参数:
site_url:(如果在env中设置,则可选)WordPress站点URLconsumer_key:(如果在env中设置,则可选)WooCommerce消费者密钥consumer_secret:(如果在env中设置,则可选)WooCommerce消费者机密- 对于WordPress方法:
username 和 password (如果在env中设置,则可选)
🔒 安全说明
对于WooCommerce REST API访问,您需要生成API密钥。您可以在WooCommerce下的WordPress仪表板中创建它们→ 设置→ 高级→ REST API。
📦 系统要求
- Python 3.9或更高版本
- 安装了WooCommerce插件的WordPress网站
- WooCommerce REST API密钥
- Python包:
mcp-server, httpx, python-dotenv
📄 许可证
MIT许可证-有关详细信息,请参阅许可证文件