WooCommerce
WooCommerce Product Collection Data
Read public collection from a specified WooCommerce store.
MCP tool name
nexscope_woocommerce_product_collection_dataMCP endpoint
https://api.nexscope.ai/mcpJSON-RPC method
tools/callAuthentication
Use OAuth 2.1 Authorization Code with PKCE and the mcp:tools scope. API keys remain supported as a compatibility option.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxIf authentication fails, ask the user to open API Access and copy a valid key.
Call this MCP tool
Initialize an MCP 2025-11-25 Streamable HTTP session at https://api.nexscope.ai/mcp, then use tools/call.
{
"jsonrpc": "2.0",
"id": "woocommerce-product-collection-data-1",
"method": "tools/call",
"params": {
"name": "nexscope_woocommerce_product_collection_data",
"arguments": {
"storeUrl": "https://example.com"
}
}
}MCP 2025-11-25 Β· Streamable HTTPProgress is delivered on the original POST SSE response. GET SSE carries notifications; reconnecting must query existing asynchronous work rather than submit again.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
storeUrl | string | required | Public HTTPS store root or WordPress installation path. Example: https://example.com |
keyword | string | optional | Search within this store; at most 200 characters. Example: shirt |
categoryId | string | optional | Restrict to a public product category. Example: 16 |
calculatePriceRange | boolean | optional | Calculate this aggregate; default true. Unsupported store fields may be null. Example: true |
calculateRatingCounts | boolean | optional | Calculate this aggregate; default true. Unsupported store fields may be null. Example: true |
calculateStockStatusCounts | boolean | optional | Calculate this aggregate; default true. Unsupported store fields may be null. Example: true |
attributeTaxonomies | array | optional | Attribute taxonomies to count, using OR semantics, for example pa_color. Default empty. Example: [
"pa_color"
] |
taxonomies | array | optional | Public taxonomies to count; default empty. Store support varies. Example: [
"product_cat"
] |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
code | integer | required | 0 means accepted or successful; nonzero is a platform error. |
cost | string | required | Elapsed milliseconds, never credits; -1 outside web requests. |
data | any | required | Data value used by this API operation. |
msg | string | null | required | Msg value used by this API operation. |
time | string | required | Server local time: yyyy-MM-dd HH:mm:ss. |
traceId | string | null | required | Trace id value used by this API operation. |
ts | string | required | Epoch milliseconds. |
Any of option 1 β requires storeUrl, fetchedAt, cacheHit, collection
| Name | Type | Required | Description |
|---|---|---|---|
data | object | required | Data value used by this API operation. |
data.cacheHit | boolean | required | Whether the response was served from the anonymous 60-second cache. Example: false |
data.collection | object | required | Normalized public data. Missing optional values are null or empty strings. Example: {} |
data.collection.attributeCounts | any | optional | Null when disabled or unsupported by the store; empty array means no matches. |
data.collection.priceRange | any | optional | Null when disabled or unavailable; exact decimal strings. |
data.collection.ratingCounts | any | optional | Null when disabled or unsupported by the store; empty array means no matches. |
data.collection.stockStatusCounts | any | optional | Null when disabled or unsupported by the store; empty array means no matches. |
data.collection.taxonomyCounts | any | optional | Null when disabled or unsupported by the store; empty array means no matches. |
data.fetchedAt | string | required | Fetch time in epoch milliseconds; preserved on cache hits. Example: 1792972800000 |
data.storeUrl | string | required | Normalized store identity. Example: https://example.com |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.attributeCounts | array | optional | Null when disabled or unsupported by the store; empty array means no matches. Example: [] |
data.collection.attributeCounts[] | object | required | Null when disabled or unsupported by the store; empty array means no matches. |
data.collection.attributeCounts[].count | integer | required | Product count in this bucket. Example: 1 |
data.collection.attributeCounts[].termId | string | required | Public aggregate bucket. Example: 16 |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.attributeCounts | null | optional | Null when disabled or unsupported by the store; empty array means no matches. |
Any of option 1 β requires currency, minorUnit, minPrice, maxPrice, minPriceMinor, maxPriceMinor
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.priceRange | object | optional | Null when disabled or unavailable; exact decimal strings. Example: {} |
data.collection.priceRange.currency | string | required | Currency code. Example: USD |
data.collection.priceRange.maxPrice | string | required | Exact amount; Minor suffix denotes original smallest-unit value. Example: 10.00 |
data.collection.priceRange.maxPriceMinor | string | required | Exact amount; Minor suffix denotes original smallest-unit value. Example: 1000 |
data.collection.priceRange.minPrice | string | required | Exact amount; Minor suffix denotes original smallest-unit value. Example: 10.00 |
data.collection.priceRange.minPriceMinor | string | required | Exact amount; Minor suffix denotes original smallest-unit value. Example: 1000 |
data.collection.priceRange.minorUnit | integer | required | Currency decimal precision. Example: 2 |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.priceRange | null | optional | Null when disabled or unavailable; exact decimal strings. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.ratingCounts | array | optional | Null when disabled or unsupported by the store; empty array means no matches. Example: [] |
data.collection.ratingCounts[] | object | required | Null when disabled or unsupported by the store; empty array means no matches. |
data.collection.ratingCounts[].count | integer | required | Product count in this bucket. Example: 1 |
data.collection.ratingCounts[].rating | integer | required | Public aggregate bucket. Example: 5 |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.ratingCounts | null | optional | Null when disabled or unsupported by the store; empty array means no matches. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.stockStatusCounts | array | optional | Null when disabled or unsupported by the store; empty array means no matches. Example: [] |
data.collection.stockStatusCounts[] | object | required | Null when disabled or unsupported by the store; empty array means no matches. |
data.collection.stockStatusCounts[].count | integer | required | Product count in this bucket. Example: 1 |
data.collection.stockStatusCounts[].status | string | required | Public aggregate bucket. Example: instock |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.stockStatusCounts | null | optional | Null when disabled or unsupported by the store; empty array means no matches. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.taxonomyCounts | array | optional | Null when disabled or unsupported by the store; empty array means no matches. Example: [] |
data.collection.taxonomyCounts[] | object | required | Null when disabled or unsupported by the store; empty array means no matches. |
data.collection.taxonomyCounts[].count | integer | required | Product count in this bucket. Example: 1 |
data.collection.taxonomyCounts[].termId | string | required | Public aggregate bucket. Example: 16 |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.collection.taxonomyCounts | null | optional | Null when disabled or unsupported by the store; empty array means no matches. |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data | null | required | Data value used by this API operation. |
Examples
Example arguments
{
"storeUrl": "https://example.com"
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {
"cacheHit": false,
"collection": {
"attributeCounts": [
{
"count": 1,
"termId": "16"
}
],
"priceRange": {
"currency": "USD",
"maxPrice": "10.00",
"maxPriceMinor": "1000",
"minPrice": "10.00",
"minPriceMinor": "1000",
"minorUnit": 2
},
"ratingCounts": [
{
"count": 1,
"rating": 5
}
],
"stockStatusCounts": [
{
"count": 1,
"status": "instock"
}
],
"taxonomyCounts": [
{
"count": 1,
"termId": "16"
}
]
},
"fetchedAt": "1792972800000",
"storeUrl": "https://example.com"
},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}