Inicio - Documentación - POM AI - 17 MCP - WooCommerce product tools - `wc_get_product_variations`: list variations

wc_get_product_variations: list variations

Lists every variation of a variable product.

Arguments

Argument Required Meaning
product_id Yes The parent product

Permissions

mcp:read and woocommerce:catalog:read, plus manage_woocommerce or edit_products.

What it returns

items, each variation carrying id, parent_id, sku, price, regular_price, sale_price and attributes.

Not paginated — every variation is returned. A product with sixty variations returns sixty.

An empty result is ambiguous

The tool returns an empty list, without an error, when:

  • the product has no variations;
  • the product is not variable at all;
  • the ID does not exist.

All three look identical. Read the product first with wc_get_product and check its type before concluding anything from an empty response.

That is the main gotcha here: an assistant told "this product has no variations" may simply have been given a simple product's ID.

This listing is your recovery record

Variations have no revision history for price or stock. Before any variation work — and especially before a batch — this listing is the only snapshot of the previous state.

List the variations for product 219 with every field, then stop.

Keep it. It is what you would restore from.

attributes explains which variation is which

Each variation's attributes map identifies its combination — size, colour and so on. That is how you tell variation 2204 from 2205 in a list where prices and SKUs may be similar.

It is also how you check the set is complete: a variable product with three sizes and four colours should have twelve variations, and a missing combination is a combination customers cannot buy.

Reading before a price rule

The listing exposes all three price fields per variation, so it answers the questions a bulk price change needs:

  • Which variations are currently on sale?
  • Do they share a regular price, or vary?
  • Are any missing a price entirely?

A variation with no price is not purchasable, and it is easy to miss in the admin. This listing makes it obvious.

Using it well

List the variations for product 219 with their IDs, attributes, prices and SKUs.

Which variations of product 219 currently have a sale price?

Do the variations of product 219 cover every size and colour combination?

What it does not return

  • No stock quantity. The listing omits it; wc_get_variation includes it.
  • No description. Also full-read only.
  • No indication of purchasability. A variation missing a price is listed like any other.

That first point matters for stock work: you need the individual read for each variation, which makes a stock audit across a large product several calls.

Common problems

Symptom Cause
An empty list No variations, not a variable product, or a wrong ID
pom_ai_mcp_wc_forbidden Missing shop capability
Fewer variations than expected Some combinations were never created
No stock in the response Use wc_get_variation per variation
Prices that look inconsistent Some variations are on sale

Related