Run Google Ads from your terminal.
Adwarp is an open-source MCP server and CLI for Google Ads. Research keywords, build paused Search campaigns and pull reports from Claude, Codex, Cursor or a script.
$ claude mcp add adwarp -- npx -y adwarp mcp$ claude
> Build a Search campaign for revops automation and lead routing, 150 USD a day, US only.
adwarp.gads_keyword_ideas 2 seeds + landing page: volume + bids
adwarp.gads_launch_search_campaign 2 ad groups, validate only: VALID
adwarp.gads_launch_search_campaign apply: PAUSED
Created 1 campaign, 2 ad groups and 2 ads. Search network only, US presence, manual CPC.
Nothing is live. Enable it in Google Ads when you're ready.
01What it does
What it does on Google Ads. Search campaigns today, with keyword research and reporting around them.
- Search campaignsBuild a paused Search campaign from this brief.
- Keyword researchWhat do people search for around lead routing?
- ReportingWhich search terms spent the most last month?
- AccountsWhich client accounts sit under our manager account?
Why it gets better results.
Research and build together
Keyword volume and bid ranges come back in the same session that builds the campaign.
Checked by Google first
Every launch runs as a dry run that Google validates, so a bad brief costs a retry instead of money.
All or nothing
Budget, ad groups, keywords and ads land in 1 step, so a failure never leaves half a campaign.
Spend starts with you
Campaigns arrive paused, and you switch them on in Google Ads once you've checked them.
02Get started
Get started.
Get a developer token
Apply in a Google Ads manager account. Campaigns and reporting work on Explorer access, and keyword research needs Basic access.
Sign in from your terminal
Create a Desktop app OAuth client in Google Cloud, save it with your token in ~/.adwarp/google.json, then approve access in your browser.
npx adwarp google auth loginAdd it to your agent
Pick Claude Code, Codex, Cursor or the CLI and copy 1 command. The Google tools run on the local server.
03Where it runs
Pick where you run it. The same 9 Google Ads tools in Claude, Codex and Cursor, or straight from the CLI.
Is there an official Google Ads MCP server?
Yes. Google offers one, and it's read-only. Adwarp is independent and open source, and it also builds Search campaigns, which it always creates paused.
Can Adwarp launch campaigns?
It builds whole Search campaigns, with the budget, ad groups, keywords and responsive search ads, in 1 step. They're created paused, on the search network only, for people located in your target area and with manual bids. Adwarp has no command to enable them, so you switch them on in Google Ads.
What access do I need?
A developer token from a Google Ads manager account and a Desktop app OAuth client in Google Cloud. Explorer access covers campaigns and reporting, and 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. The hosted endpoint serves the LinkedIn tools only, and 0 of the 9 Google tools.
Which campaign types does it support?
Search only today. Performance Max, Display, Shopping, video and Customer Match aren't supported yet.
How do Google's names compare with LinkedIn's?
A Google campaign holds the budget and targeting, and its ad groups hold the keywords.
| Google Ads | What it holds | |
|---|---|---|
| Campaign group | None | Status and the total budget |
| Campaign | Campaign | Targeting, budget, bid and schedule |
| None | Ad group | Keywords and the ads that answer them |
| Creative | Ad group ad | The ad people see |
Which Google Ads tools does Adwarp add?
9 tools, and all of them run on the local MCP server and the CLI.
| Tool | What it does |
|---|---|
gads_ | Every Google Ads account your sign-in can reach. Run it first to prove the setup works. |
gads_ | The client accounts under a manager account. |
gads_ | Search volume, competition and top-of-page bid range for seed terms or a landing page. |
gads_ | Campaigns with their ad groups, paused campaigns included. |
gads_ | The ads in an ad group, with their responsive search copy. |
gads_ | Conversion actions on the account, so a launch can name 1. |
gads_ | A paused Search campaign from a brief, in 1 atomic step. It validates without creating anything unless told otherwise. |
gads_ | Performance by campaign, ad group, ad, keyword or search term. |
gads_ | A raw, read-only GAQL query. |