Google Ads reporting from your terminal.
Adwarp is an open-source MCP server and CLI that pulls Google Ads performance at 5 levels, from campaigns down to the search terms that triggered your ads. Ask in plain words or run 1 command, and a read-only GAQL query covers anything else.
$ claude mcp add adwarp -- npx -y adwarp mcp$ claude
> Which keywords spent money without converting?
adwarp.gads_performance keyword, last_30_days: by cost
Keywords with cost and no conversions, each with its match type and ad group
Candidates to pause in Google Ads, highest cost first.
01What you can ask
What you can ask. Real requests, answered from your terminal.
$ claude
> Which search terms spent the most last month?
adwarp.gads_performance search_term, last_month: by cost
Each term with spend, clicks, click-through rate and conversions, highest cost first
Ready to pick negatives from the top of the list.
02How it works
How it works.
Ask
Ask in plain words, or run
npx adwarp google reportperf from your terminal.Pick the level
Campaign, ad group, ad, keyword or search term, for a named period or any 2 dates, narrowed to 1 campaign when you need it.
Go deeper with GAQL
Anything the reports don't cover, such as quality scores, is 1 read-only GAQL query away.
03Results
Why it gets better results.
Waste shows up weekly
Search terms and keyword costs are 1 question away, so you check them every week instead of at month end.
The biggest costs lead
Rows come back highest spend first, so the line items that matter most are on top.
Reading never changes anything
Every reporting tool is read-only, and the GAQL tool only runs SELECT queries.
Can I see the search terms behind my ads?
Yes. The search_term level lists the searches that triggered your ads, with their cost and conversions, so you can spot the ones to add as negatives.
Does reporting need Basic access?
No. Reporting and campaign creation work on Explorer access. Only keyword research needs Basic access.
Does it work on the hosted endpoint?
No. The Google tools run on your machine, through the local MCP server or the CLI, with your own developer token and OAuth client.
Which metrics can I get?
Impressions, clicks, cost, conversions and conversion value, plus the rates worked out from them and totals for the whole report, over the period you pick.
| Part | Options |
|---|---|
| Metrics | Impressions, clicks, cost, conversions and conversion value |
| Worked out | Click-through rate, cost per click, cost per 1,000 impressions, conversion rate and cost per conversion |
| Totals | The whole report summed, with the same rates worked out from the totals |
| Periods | Last 7, 30 or 90 days, month to date, last month, or any 2 dates through the MCP server |
| Filter | 1 campaign, for the levels under it |
Which levels can I report on?
5: campaign, ad group, ad, keyword and search term, each row named the way Google Ads names it.
| Level | What a row is |
|---|---|
| campaign | A campaign, with its status. |
| ad_group | An ad group, under its campaign. |
| ad | A responsive search ad, named by its first headline, under its campaign and ad group. |
| keyword | A keyword with its match type, under its campaign and ad group. |
| search_term | A search that triggered your ads, under the ad group it matched. |
What is GAQL?
Google Ads Query Language, which the Google Ads API reads data with. gads_search runs any SELECT query, so anything the reports don't cover is still 1 question away, and it refuses anything that isn't a SELECT.
From the terminal, npx adwarp google query runs the same queries and returns the rows as they come from Google.
SELECT ad_group_criterion.keyword.text,
ad_group_criterion.quality_info.quality_score
FROM ad_group_criterion
WHERE ad_group_criterion.type = KEYWORDWhich tools and commands does it use?
3 MCP tools and 3 CLI commands, with what each one does.
| Tool | What it does |
|---|---|
gads_ | Rows at campaign, ad group, ad, keyword or search term level, with totals |
gads_ | A raw, read-only GAQL query for anything else |
gads_ | Campaigns with their ad groups, paused ones included |
CLI
npx adwarp google report perf search_term -p last_monthnpx adwarp google report perf keyword --campaign <id>npx adwarp google query "<GAQL>"
What are the limits?
4 things to know before you start.
- Reports skip rows with no impressions in the period. To see paused or new campaigns, use gads_list_campaigns.
- Costs are in the ad account's currency, which Google fixes when the account is created.
- Conversions only show when conversion tracking is set up.
- The Google tools run locally. The hosted endpoint serves 0 of the 9 Google tools.