For developers & agent builders

The free MCP for turning product phrases into shoppable links

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.

500 requests/month free
No affiliate account
MCP integration

See what it returns

A real response from the live tool, captured verbatim. Press the button.

Try it

Call find_product_matches with a term and its context.

Term
cast iron skillet
Context (optional)
For searing a steak at home, nothing holds heat like a heavy cast iron skillet.
Only the 500 characters either side of the term are used.

Fixed sample. Run your own term in the dashboard.

Live result

Observe the result returned by the MCP tool.

Ready to run the MCP tool.

Status · Timing · Structured output

title

The matched product's catalog title, exactly as the listing carries it.

image

Product image URL, for a card or a carousel.

brand_name

The brand on the matched product. Empty when the catalog doesn't name one.

url

The full merchant product page - untagged, so no affiliate account is required.

category

The catalog department the product sits in, like Home & Kitchen or Electronics.

merchant

Which merchant the match came from, so your code branches on the field instead of assuming. Amazon is the catalog live today.

A term in, real products out.

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.

Who it's for

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.

Affiliate and content tools

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.

Chat assistants

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.

Commerce and retail media

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.

From a phrase to a ranked product

1

Send a phrase, and optionally the text around it

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.

2

We resolve it against a merchant catalog of a partner you work with

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.

3

You get up to three matches

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.

Add it to your MCP client

A Streamable HTTP MCP server. One URL, authenticated with an access key.

  1. 1

    Create an access key

    Sign up and open the Commerce Match tab in your dashboard. Create a cak_ access key - one per client is fine.

  2. 2

    Paste the config

    Add the server to Claude Desktop, Cursor, or any MCP-compatible client, swapping in your key.

  3. 3

    Call the tool

    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.

mcp.json
{
  "mcpServers": {
    "chatads-commerce": {
      "url": "https://api.getchatads.com/tools/mcp/mcp",
      "headers": {
        "x-api-key": "cak_YOUR_KEY"
      }
    }
  }
}

Common questions

What does Commerce Match return?

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.

Which merchants does it match against?

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.

Do I need an affiliate account?

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.

How is this different from Commerce Signals?

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.

How is this different from the ChatAds widget?

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.

Which key do I use?

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.

Is this free?

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.

Does it work with any MCP client?

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.