
When a shopper asks ChatGPT, Claude, Gemini or Grok for a product, is yours in the answer?
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Is your product in the answer when a shopper asks? For one barcode in one country: found (whether ChatGPT, Claude, Gemini and Grok name it, and where in the four it sits), likely why (the most probable reason from what the record shows: wrong name, missing barcode, not in the catalogue the AI reads, not verified, not orderable) and corrected (the brand's own words bound to its barcode, with a new receipt). One free check a day; then the brand's agent signs in.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http triggerfetch https://triggerfetch.ai/mcp
Is your product in the answer when a shopper asks? For one barcode in one country: found (whether ChatGPT, Claude, Gemini and Grok name it, and where in the four it sits), likely why (the most probable reason from what the record shows: wrong name, missing barcode, not in the catalogue the AI reads, not verified, not orderable) and corrected (the brand's own words bound to its barcode, with a new receipt). One free check a day; then the brand's agent signs in.
| Argument | Type | Description |
|---|---|---|
| barcode* | string | |
| country* | string | |
| session | string |
{
"type": "object",
"required": [
"barcode",
"country"
],
"properties": {
"barcode": {
"type": "string"
},
"country": {
"type": "string"
},
"session": {
"type": "string",
"default": ""
}
}
}Corrected: the signed-in brand gives the words it wants its product found by (name, brand, size) for one barcode and one country. Writes a new match record on matchfetch and issues a new receipt on rco.wefetch.ai that supersedes the last one for that barcode. The next index edition shows whether the answer changed.
| Argument | Type | Description |
|---|---|---|
| words* | string | |
| barcode* | string | |
| country* | string | |
| session* | string |
{
"type": "object",
"required": [
"barcode",
"country",
"words",
"session"
],
"properties": {
"words": {
"type": "string"
},
"barcode": {
"type": "string"
},
"country": {
"type": "string"
},
"session": {
"type": "string"
}
}
}The current edition of The AI Grocery Shopping Index: what the AIs answer when shoppers ask, by category and country, with each product by barcode, its answer share and shelf position, and orderable coverage per country.
| Argument | Type | Description |
|---|---|---|
| country | string | |
| category | string |
{
"type": "object",
"properties": {
"country": {
"type": "string",
"default": ""
},
"category": {
"type": "string",
"default": ""
}
}
}Sign in the brand's agent with its claim_seat identity: give the card address the brand claimed its seat with and one of its barcodes. Returns a token to place at https://<card domain>/.well-known/triggerfetch.txt or in DNS TXT _triggerfetch.<domain>; then call sign_in_verify.
| Argument | Type | Description |
|---|---|---|
| barcode* | string | |
| card_url* | string |
{
"type": "object",
"required": [
"card_url",
"barcode"
],
"properties": {
"barcode": {
"type": "string"
},
"card_url": {
"type": "string"
}
}
}Finish sign-in: the token is read at the brand's domain and the barcode's seat on the hub must be the seat of that card. Returns the session key for check_product and correct_product.
| Argument | Type | Description |
|---|---|---|
| challenge_id* | string |
{
"type": "object",
"required": [
"challenge_id"
],
"properties": {
"challenge_id": {
"type": "string"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 6, 2026.
What changed in this server's tools since we started watching, newest first. Each change is scanned again.
Is your product in the answer when a shopper asks? For one barcode in one country: found (whether ChatGPT, Gemini,Claude, ClaudeGemini and the other AIs in the indexGrok name it, and where in the four it sits), likely why (the most probable reason from what the record shows: wrong name, missing barcode, not in the catalogue the AI reads, not verified, not orderable) and corrected (the brand's own words bound to its barcode, with a new receipt). One free check a day; then the brand's agent signs in.