Inicio - Documentación - POM AI - 17 MCP - WooCommerce product tools - `wc_get_products`: list products

wc_get_products: list products

Lists products in the catalogue.

Arguments

Argument Default Meaning
status publish Product status
page 1 Page number
per_page 20 Products per page, clamped to 1–100

Permissions

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

What it returns

items only — no total. Each product carries id, type, name, slug, status, sku, price, regular_price, sale_price and permalink.

Listings omit the description, categories and attributes; those come from wc_get_product.

Since there is no total, use wc_get_store_stats to size the catalogue before assuming a listing is complete.

Read the three price fields together

Every item carries all three, and reading them together tells you the product's actual commercial state:

  • regular_price set, sale_price empty — normal price applies.
  • both set — the product is on sale, and price equals sale_price.
  • price differing from regular_price — something is discounting it.

That is the fastest way to audit which products are currently on offer, and it is worth doing before any bulk price change. A percentage increase applied to a catalogue where a third of products are on sale behaves differently on those.

type decides what else applies

simple products carry their own price and stock. variable products delegate both to their variations — a variable product's price is derived from its children, and writing a price on the parent does not control what customers pay.

Check type before planning any price work. See wc_get_product_variations.

No filtering beyond status

There is no category filter, no search, no price range and no ordering argument. The listing returns products in WooCommerce's default order for the status you asked for.

To work on a specific set — the products in one category, say — you will need their IDs from the WooCommerce admin or from a content-side query, then read them individually.

That is a real constraint on bulk work through MCP: assembling the target set is often harder than changing it.

Drafts and other statuses

The default is publish. Pass status to see drafts or private products — useful when checking work in progress, and a reminder that a catalogue audit against the default misses anything unpublished.

Using it well

List the published products with their IDs, SKUs and all three price fields, then stop.

List the draft products.

Before a price job:

List the products and tell me which currently have a sale price.

Common problems

Symptom Cause
WooCommerce tools missing entirely WooCommerce is not active on this site
pom_ai_mcp_wc_forbidden The acting user lacks manage_woocommerce and edit_products
Fewer products than the shop has per_page caps at 100 and there is no total
Drafts missing Default status is publish
A variable product's price looks wrong It is derived from variations

Related