Google Ads: reads
explain_google_performance_anomaly
Check whether a Google metric moved against its baseline (the 30 days before period_start, scaled to the period; ±15% is normal) and, when it did, drill into campaign, device, country/region, keyword,
POST
Check whether a Google metric moved against its baseline (the 30 days before period_start, scaled to the period; ±15% is normal) and, when it did, drill into campaign, device, country/region, keyword, search term, hour and day of week, with each contributor's share of the change and before/after values, plus factors (CPC or conversion-rate change, paused high-ROAS campaigns, new campaigns spending, budget changes, day-of-week pattern). Structured findings only; your model writes the explanation. Read-only, at most 20 reads within 60 seconds (truncated: true if cut short).
Read-only. Runs right away and changes nothing in your ad accounts. It still needs a connected platform (check
get_connections_status) and counts as one tool call.explain_performance_anomaly. These older names run this same tool.
How to call it
- MCP: on
https://mcp.adsmcp.si/mcp, run it through thegoogle_ads_readtool with{"action": "execute", "tool_name": "explain_google_performance_anomaly", "arguments": { ... }}, or callexplain_google_performance_anomalyby name.search_toolsfinds it andget_tool_schemareturns its arguments;https://mcp.adsmcp.si/mcp/flatlists every tool by name. - REST:
POST https://mcp.adsmcp.si/api/v1/tools/explain_google_performance_anomaly/executewithAuthorization: Bearer sk_live_...and a JSON body{"platform": "google", "arguments": { ... }}. The arguments are listed below; they are exactly the tool’s input schema.