MCP WooCommerce运营商
一个MCP(模型上下文协议)模块,使AI代理能够通过标准化的接口与WooCommerce商店进行交互。
特性
- 订单管理:列出、检索、创建和更新订单
- 产品目录:搜索和检索产品信息
- 客户管理:创建和检索客户资料
- 完全符合MCP:实现标准MCP工具接口
安装
# Install with Poetry
poetry add mcp-woocommerce-operator
# Or with pip
pip install mcp-woocommerce-operator配置
必需设置
{
"woocommerce_url": "https://your-store.com",
"consumer_key": "ck_your_consumer_key",
"consumer_secret": "cs_your_consumer_secret",
"api_version": "wc/v3", # Optional, defaults to wc/v3
"verify_ssl": True, # Optional, defaults to True
"timeout": 30, # Optional, defaults to 30 seconds
"query_string_auth": False, # Optional, use for HTTP
}环境变量
创建一个 .env 文件(参见 .env.example):
WOOCOMMERCE_URL=https://your-store.com
WOOCOMMERCE_CONSUMER_KEY=ck_your_consumer_key
WOOCOMMERCE_CONSUMER_SECRET=cs_your_consumer_secret可用工具
订单
- 列表_订单 -使用筛选选项检索订单
- 获取订单 -获取详细的订单信息
- 创建订单 -创建新订单
- update_order_status -更新订单状态
产品
- 产品列表 -搜索并列出产品
- get_产品 -按ID或SKU获取产品详细信息
客户
- 创建_客户 -创建新客户帐户
- get_客户 -获取客户信息
用法示例
from mcp_woocommerce_operator import MCPWooCommerceOperator
import logging
# Initialize logger
logger = logging.getLogger(__name__)
# Create operator instance
operator = MCPWooCommerceOperator(
logger=logger,
woocommerce_url="https://your-store.com",
consumer_key="ck_your_key",
consumer_secret="cs_your_secret",
)
# List recent orders
orders = operator.list_orders(
status="processing",
per_page=10
)
# Get specific order
order = operator.get_order(order_id=123)
# Create a new order
new_order = operator.create_order(
customer_email="customer@example.com",
customer_first_name="John",
customer_last_name="Doe",
line_items=[
{"product_id": 101, "quantity": 2},
{"product_id": 102, "quantity": 1},
],
billing_address={
"first_name": "John",
"last_name": "Doe",
"address_1": "123 Main St",
"city": "New York",
"state": "NY",
"postcode": "10001",
"country": "US",
"email": "customer@example.com",
"phone": "555-123-4567",
}
)
# Update order status
operator.update_order_status(
order_id=456,
status="completed",
note="Payment received"
)
# Search products
products = operator.list_products(
search="widget",
in_stock=True,
min_price=10.0,
max_price=100.0
)
# Get product by ID
product = operator.get_product(product_id=123)
# Get product by SKU
product = operator.get_product(sku="WIDGET-001")
# Create customer
customer = operator.create_customer(
email="new@example.com",
first_name="Jane",
last_name="Smith",
billing={
"first_name": "Jane",
"last_name": "Smith",
"email": "new@example.com",
}
)
# Get customer
# By ID
customer = operator.get_customer(customer_id=789)
# By email
customer = operator.get_customer(email="customer@example.com")MCP配置
对于MCP集成,请使用以下配置:
from mcp_woocommerce_operator import MCP_CONFIGURATION
# Configuration is ready to use with MCP server
config = MCP_CONFIGURATIONAPI 参考
看 docs/API_REFERENCE.md文件 详细的WooCommerce REST API文档。
例子
看 docs/EXAMPLES.md 以获取全面的使用示例。
发展
设置
# Clone repository
git clone https://github.com/ideabosque/mcp_woocommerce_operator.git
cd mcp_woocommerce_operator
# Install dependencies
poetry install
# Activate virtual environment
poetry shell运行测试
# Run all tests
pytest
# Run with coverage
pytest --cov=mcp_woocommerce_operator --cov-report=html
# Run specific test file
pytest tests/test_woocommerce_client.py代码质量
# Format with Black
black mcp_woocommerce_operator/ tests/
# Type checking
mypy mcp_woocommerce_operator/
# Linting
flake8 mcp_woocommerce_operator/ tests/认证
本模块使用WooCommerce REST API身份验证:
- 基本认证 (建议使用HTTPS)
- 查询字符串身份验证 (适用于HTTP或特定配置)
生成API密钥
- 前往WooCommerce→ 设置→ 高级→ REST API
- 点击“添加密钥”
- 设置描述和权限
- 生成和复制消费者密钥和秘密
错误处理
该模块为以下内容提供详细的错误消息:
- 无效凭证
- 连接失败
- WooCommerce API错误
- 验证错误
- 速率限制
WooCommerce API兼容性
- WooCommerce: 3.5+
- WordPress: 4.4+
- API版本:wc/v3(默认)
安全考虑
- 将凭据存储在环境变量中
- 对生产商店使用HTTPS
- 对高容量操作实施速率限制
- 验证所有用户输入
- 对日志中的数据进行消毒
许可证
MIT许可证-请参阅 许可证 文件
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 运行测试
- 提交拉取请求
支持
对于问题和疑问:
- GitHub问题:https://github.com/ideabosque/mcp_woocommerce_operator/issues
- 文件:见
docs/文件夹
