list_product_prompt_matrix
list_product_prompt_matrix MCP tool: prompts by products on an e-commerce project, which prompt brings up which product, with the prompts lost to a competitor's product first. Inputs, response shape, JSON example.
Updated 2026-10-08
list_product_prompt_matrix crosses the prompts of an e-commerce project with its products: for each prompt, how many answers cite each product. Your brand's products come first in the columns, then your competitors'.
A prompt is lost when a competitor's product is cited and none of yours. Lost prompts come first, with the competitor product that wins them.
When to use
Call it after get_product_share_of_voice, on the category where your share is low, to answer "on which questions do engines recommend TePe brushes and never mine?". Pass filters.lostOnly: true to keep only those prompts.
The list is empty on a project that is not in e-commerce mode (see update_project_settings).
Input
| Field | Type | Default | Description |
|---|---|---|---|
projectId |
string (CUID) | required | Project to query. |
cursor |
string | - | nextCursor from the previous page. |
limit |
number (1-100) | 20 | Prompts per page. |
filters.dateRange |
{ from?, to? } (ISO date or datetime) |
all time | Answers of this period only. |
filters.llms |
array of LLM keys | all engines | Answers of these engines only. |
filters.category |
string | all categories | One product category, exactly as list_products returns it in category. "" = products without a category. |
filters.lostOnly |
boolean | false |
Only the prompts where a competitor's product is cited and none of yours. |
maxProducts |
number (2-20) | 10 | Product columns: your brand's first (5 at most), then competitors'. |
Response
{
"data": [
{
"id": "clp7...",
"text": "Quelles brossettes interdentaires choisir pour des espaces très serrés ?",
"results": 14,
"ours": 0,
"theirs": 11,
"lost": true,
"winner": { "id": "clpr4...", "name": "TePe Original", "brand": "TePe" },
"cells": { "clpr4...": 9, "clpr5...": 5 }
},
{
"id": "clp2...",
"text": "Meilleure brossette interdentaire pour porteur d'appareil dentaire ?",
"results": 14,
"ours": 8,
"theirs": 6,
"lost": false,
"winner": null,
"cells": { "clpr1...": 8, "clpr4...": 4, "clpr5...": 3 }
}
],
"pageInfo": { "hasMore": true, "nextCursor": "20", "totalCount": 37 },
"columns": [
{ "id": "clpr1...", "name": "Trav-Ler", "brand": "GUM", "ours": true, "mentions": 31 },
{ "id": "clpr3...", "name": "Soft-Picks Comfort Flex", "brand": "GUM", "ours": true, "mentions": 18 },
{ "id": "clpr4...", "name": "TePe Original", "brand": "TePe", "ours": false, "mentions": 38 },
{ "id": "clpr5...", "name": "CPS Prime", "brand": "Curaprox", "ours": false, "mentions": 27 }
],
"summary": { "prompts": 37, "lost": 12 }
}
Fields:
data: one row per prompt with at least one product cited in the window. Lost prompts first, then the prompts with the most product mentions.results: answers to the prompt in the window.oursandtheirs: answers citing one of your products, and answers citing a competitor's product. They count every product of the category, not only the columns.lost:truewhenoursis 0 andtheirsis above 0.winner: on a lost prompt, the competitor product cited most.nullotherwise.cells: answers citing each column product, keyed by productid. A column absent fromcellsis not cited on that prompt.columns: the product columns, most mentioned first within each side.mentionssums the answers citing the product across the prompts.summary: prompts with a product cited, and how many are lost. Computed beforelostOnly, sopageInfo.totalCountcan be lower.
Tips and patterns
lostOnly: truewith acategory: the list of questions to win back in one category, each with the product to beat inwinner.- Open the
winnerwithget_productto see its retailers, prices and rating. - Then call
get_recommendationon a lost prompt for the plan that would get your product cited. - Columns only hold products cited at least once. Your products with no answer at all come from
list_productswithneverCited: true.
Related tools
get_product_share_of_voice: your share of voice by product categorylist_products: every product of the projectget_product: detail of one productget_recommendation: plan of one prompt