Editor · WooCommerce
Ask Claude for a product. You still hit publish.
The editor zip talks to WooCommerce on the origin. No extra plugin. If WooCommerce is off, the tools return that and stop. Coupons, customers, refunds, and shipping wait.
What you get
- Simple, virtual, and variable products.
- Prices, SKU, categories, tags, featured image, gallery ids, local attributes, variations.
- Stock quantity and stock status, including on a live product.
- Orders: list, get, notes, status — status is off until Policy says so.
Not in this version: grouped/external products, downloadable files, coupons, customers, payment refunds, shipping zones, tax tables, WooCommerce settings.
Products
| Tool | Does |
|---|---|
list-products | s, status, stock_status. 50 per page. Lite can read. |
get-product | Prices, stock, categories, tags, attributes, variations. id. Lite can read. |
create-product | Always starts draft unless you allow publish. type = simple (default), virtual, or variable. |
update-product | Patch. A live product is refused while draft-only is on — same as posts. |
set-product-stock | manage_stock, stock_quantity, stock_status (instock / outofstock / onbackorder). Allowed on live products. |
set-product-status | draft / pending / private / publish. Dangerous · default off. Needs Allow publish for live. |
trash-product | Trash only. No force-delete. Dangerous · default off. |
Create payload
{
"name": "Linen shirt",
"type": "variable",
"sku": "SHIRT-1",
"description_markdown": "Washed linen. Ships from the studio.",
"regular_price": "89",
"categories": ["Shirts"],
"attributes": [
{ "name": "Size", "options": ["S", "M", "L"], "variation": true }
],
"variations": [
{ "sku": "SHIRT-1-M", "attributes": { "Size": "M" }, "regular_price": "89", "stock_quantity": 12 }
]
}
Markdown becomes HTML inside WooCommerce — not Gutenberg blocks. For an image: upload-media first, then image_id. list-terms with taxonomy=product_cat or product_tag when WooCommerce is on.
Orders
| Tool | Does |
|---|---|
list-orders | status, s. Cards: id, number, total, email, item count. Not the full address. |
get-order | Line items, totals, billing/shipping, notes. id or order_id. |
add-order-note | Internal, or customer_note: true to email the customer. |
set-order-status | pending / processing / on-hold / completed / cancelled / refunded / failed. Optional note. Does not refund the payment. Dangerous · default off. Policy → Allow order status. |
There is no create-order. Checkout stays checkout.
Rollback
Product writes snapshot WooCommerce fields (name, prices, stock, categories, variations). Order writes snapshot status and customer note. rollback restores those. It does not restore a payment.