返回市场
巫服务器-MCP服务器

巫服务器-MCP服务器

作者:Slava122332 星标更新:2025-04-03

项目介绍

<a name="hebrew-version"></a>

<div align="center">

🛒 WooCommerce MCP 服务器 | Python 版本

</div> <div dir="rtl">

一个简单高效的解决方案,用于连接 WooCommerce 商店与 Model Context Protocol

<div align="right">

版本 Python 许可证

</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_KEYWooCommerce REST API 消费者密钥
WOOCOMMERCE_CONSUMER_SECRETWooCommerce REST API 消费者密钥
WORDPRESS_USERNAME具有适当权限的 WordPress 用户名⚠️ *
WORDPRESS_PASSWORDWordPress 认证密码⚠️ *
</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 方法:usernamepassword (如果在环境中设置则可选)

🔒 安全提示

为了访问 WooCommerce REST API,您需要生成 API 密钥。您可以在 WordPress 控制面板下的 WooCommerce → 设置 → 高级 → REST API 中创建这些密钥。

📦 系统要求

  • Python 3.9 或更高版本
  • 已安装 WooCommerce 插件的 WordPress 站点
  • WooCommerce REST API 密钥
  • Python 包:mcp-server, httpx, python-dotenv

📄 许可证

MIT 许可证 - 查看 LICENSE 文件获取更多详情