AI shopping agents
Your model has decided the answer is a cast iron skillet. Match turns that decision into three real products with images and links, so the agent can show something instead of describing it.
For developers & agent builders
Commerce Match takes a product phrase, plus the text around it if you have it, and hands back up to 3 ranked product matches - title, image, brand, category, merchant, and a product URL you can link from.
A real response from the live tool, captured verbatim. Press the button.
Call find_product_matches with a term and its context.
Fixed sample. Run your own term in the dashboard.
Observe the result returned by the MCP tool.
Ready to run the MCP tool.
Status · Timing · Structured output
{
"matches": [
{
"title": "Lodge 10.25 Inch Pre-Seasoned Cast Iron Skillet",
"image": "https://m.media-amazon.com/images/I/81Q4X.jpg",
"brand_name": "Lodge",
"url": "https://www.amazon.com/dp/B00006JSUA",
"category": "Home & Kitchen",
"merchant": "amazon"
},
{
"title": "Utopia Kitchen Pre-Seasoned Cast Iron Skillet, 12.5 Inch",
"image": "https://m.media-amazon.com/images/I/71yMh.jpg",
"brand_name": "Utopia Kitchen",
"url": "https://www.amazon.com/dp/B01BM6WPZS",
"category": "Home & Kitchen",
"merchant": "amazon"
},
{
"title": "Cuisinel Cast Iron Skillet 10 Inch with Silicone Handle Cover",
"image": "https://m.media-amazon.com/images/I/61Rk2.jpg",
"brand_name": "Cuisinel",
"url": "https://www.amazon.com/dp/B07QVJZ3RT",
"category": "Home & Kitchen",
"merchant": "amazon"
}
],
"count": 3
}The matched product's catalog title, exactly as the listing carries it.
Product image URL, for a card or a carousel.
The brand on the matched product. Empty when the catalog doesn't name one.
The full merchant product page - untagged, so no affiliate account is required.
The catalog department the product sits in, like Home & Kitchen or Electronics.
Which merchant the match came from, so your code branches on the field instead of assuming. Amazon is the catalog live today.
Match is resolution only. No mention-finding, no intent scoring, no need to hand over your whole assistant reply - just the term you send and the products that come back: titles, images, categories, and product pages you can link from. It is the inverse of Commerce Signals, which finds the mentions and resolves nothing.
Your model has decided the answer is a cast iron skillet. Match turns that decision into three real products with images and links, so the agent can show something instead of describing it.
You have the product phrases already, from an editor, a spreadsheet, or your own extraction. Match resolves each one against a live catalog so your pages carry real listings, not placeholders.
Attach a product card to the moment your assistant recommends something. One call per term, three ranked options back, and you pick how many to render.
Map free-text product language onto a catalog: normalize messy inputs, check whether something is buyable, or pull a title, image, and department for anything a user typed.
Call find_product_matches with the product phrase you've already identified, as the term param. context is optional - the surrounding text the term appeared in, which sharpens the category read. To match a specific brand, put the brand in the term itself.
The same resolution engine that powers the ChatAds widget scores the term against the catalog and keeps only genuinely passing products. The engine is catalog-agnostic; Amazon US is the catalog wired up today, and there is no country or marketplace parameter to set.
matches[0] is the top match and the rest are runners-up in ranked order. Fewer than three is normal, and an empty list is a real answer - nothing good enough matched, so don't retry it.
A Streamable HTTP MCP server. One URL, authenticated with an access key.
Sign up and open the Commerce Match tab in your dashboard. Create a cak_ access key - one per client is fine.
Add the server to Claude Desktop, Cursor, or any MCP-compatible client, swapping in your key.
Restart your client and find_product_matches is available. Try it in the dashboard first if you'd rather see a live result before wiring anything up.
{
"mcpServers": {
"chatads-commerce": {
"url": "https://api.getchatads.com/tools/mcp/mcp",
"headers": {
"x-api-key": "cak_YOUR_KEY"
}
}
}
}
Up to three matching products, each with six fields: title, image, brand_name, url, category, and merchant. matches[0] is the top match. The tool returns only products that genuinely pass, so it never pads the list, and an empty matches array is a successful answer rather than an error.
The resolution engine is catalog-agnostic, and Amazon US is the catalog wired up today - so every match currently comes back with merchant: "amazon" and a US url. There is no country or marketplace parameter to set. Branch on the merchant field rather than assuming, and tell us which catalog you want next.
No. The url is the full, untagged merchant product page, so there is no affiliate tag in the response and nothing to sign up for. Add your own tag if you have one, or link as-is if you don't.
They're inverses. Signals reads a block of text and tells you which phrases carry purchase intent, resolving nothing. Match takes a phrase you already have and resolves it to real products. Same server and same key, so you can run both.
The widget is the finished product: an AI chat assistant you drop onto your blog that answers readers and turns the products it recommends into affiliate links. Match is the resolution layer underneath it, exposed on its own for builders who already have their own agent or commerce stack.
A cak_ access key, created in the Commerce Match tab of your dashboard. Send it in the x-api-key header. Widget keys (cwk_) do not work here, and you can hold as many access keys as you have clients.
Yes, up to 500 requests a month, shared with Commerce Signals. No credit card and no approval step - create an account, generate an access key, and start calling the tool. If you need more, get in touch with a rough volume and we'll raise your cap.
Yes - anything that speaks Streamable HTTP MCP, including Claude Desktop, Claude Code, and Cursor. There is nothing to install locally and no Python or Node dependency; it's one URL in a config file.