Overview
Commerce Signals is an extraction-only MCP server. Give it any block of text - an AI reply, an article, a support thread - and it returns the product and purchase-intent mentions it found, each with a brand label when one was named, a confidence score, and the exact character offsets of the phrase. It’s the same extraction engine that powers the ChatAds widget, exposed on its own for builders who already have their own chat, agent, or commerce stack. Nothing is resolved: no affiliate offers, no product pages, no prices, no catalog lookups, and no country restrictions. You get the signal and decide what to do with it.This is a different server from the MCP Data Connector. That one is read-only access to your own widget data with a
uk_ user key. This one takes a cak_ team access key and analyzes text you send it.Get Your Access Key
Commerce Signals authenticates with a team access key (cak_...) in the x-api-key header.
- Log into app.getchatads.com
- Open Commerce Signals
- In the Access Keys card, click Create Access Key
cwk_...) and user keys (uk_...) do not work here.
Connect
Add the server to your MCP client’s configuration:find_commerce_opportunities is available.
Tool
Each opportunity:
Example
Calling the tool with:data. Anything you passed as metadata comes back on a top-level metadata field alongside it. Text with no detected purchase intent returns "opportunities": [] with "count": 0 - that’s a success, not an error.
Limits
- Message length: 10,000 characters per call.
- Requests: the free tier includes 500 requests per month. Every call counts, including ones that return zero opportunities. Get in touch to raise your cap - tell us roughly what volume you’re expecting.
- Signals shares one usage pool with the rest of your team’s API usage, and the same per-minute burst limit. Your current month’s usage is shown at the top of the Commerce Signals tab.
- Your team’s blocked-keyword and language content rules still apply. A message that trips one returns an empty
opportunitiesarray rather than an error.
Troubleshooting
”This tool requires a cak_ API key”
You connected with a user key (uk_...). Commerce Signals takes a team access key (cak_...) - create one on the Commerce Signals tab.
”Message is required”
Themessage argument was missing, empty, or whitespace only. An empty message is a client error, not an empty-opportunities success.
”Message exceeds max length”
The text was over 10,000 characters. Split it and call the tool once per chunk - thespan offsets are relative to whatever you sent, so track your own chunk offsets if you’re highlighting against the full document.
”Extraction backend temporarily unavailable - please retry”
ASERVICE_UNAVAILABLE error means the extraction service didn’t respond. It’s deliberately surfaced as an error rather than silently returning zero opportunities, so a retry is safe and correct here.
”Daily request limit exceeded” / “Monthly request limit exceeded”
You’ve used your plan’s allowance. See Limits.Tool not appearing in your MCP client
- Verify the URL is exactly:
https://api.getchatads.com/tools/mcp/mcp - Check that
transportis set to"http" - Confirm the key in
x-api-keystarts withcak_ - Restart your MCP client completely
- Ask: “What tools do you have access to?”