adwarp

Start with 1 prompt.

Paste it into Claude Code, Codex or Cursor. Your agent installs Adwarp, walks you through your LinkedIn app and checks the connection.

setup prompt
Set up Adwarp for me. It's the open-source ad agent for LinkedIn Ads and Google Ads: https://github.com/adwarp-dev/adwarp

1. Check that Node.js 20 or newer is installed.
2. Walk me through creating my own LinkedIn developer app with the Advertising API product: https://github.com/adwarp-dev/adwarp/blob/main/docs/linkedin-app.md
3. Save the app's client ID and secret to ~/.adwarp/config.json as clientId and clientSecret.
4. Run "npx -y adwarp auth login" and wait while I approve access in my browser.
5. Add Adwarp to the AI client I'm using right now as an MCP server that runs "npx -y adwarp mcp". In Claude Code that's: claude mcp add adwarp -- npx -y adwarp mcp
6. Check the connection by listing my ad accounts, then save the one I pick as defaultAccountId in ~/.adwarp/config.json.

Don't create or change anything in my ad accounts during setup. LinkedIn campaigns start as drafts, so nothing spends until I turn it on.
adwarp
GitHub

Start with 1 prompt.

Paste it into Claude Code, Codex or Cursor. Your agent installs Adwarp, walks you through your LinkedIn app and checks the connection.

setup prompt
Set up Adwarp for me. It's the open-source ad agent for LinkedIn Ads and Google Ads: https://github.com/adwarp-dev/adwarp

1. Check that Node.js 20 or newer is installed.
2. Walk me through creating my own LinkedIn developer app with the Advertising API product: https://github.com/adwarp-dev/adwarp/blob/main/docs/linkedin-app.md
3. Save the app's client ID and secret to ~/.adwarp/config.json as clientId and clientSecret.
4. Run "npx -y adwarp auth login" and wait while I approve access in my browser.
5. Add Adwarp to the AI client I'm using right now as an MCP server that runs "npx -y adwarp mcp". In Claude Code that's: claude mcp add adwarp -- npx -y adwarp mcp
6. Check the connection by listing my ad accounts, then save the one I pick as defaultAccountId in ~/.adwarp/config.json.

Don't create or change anything in my ad accounts during setup. LinkedIn campaigns start as drafts, so nothing spends until I turn it on.

Google Ads in Claude.

Adwarp is an open-source MCP server and CLI that connects Claude Code and Claude Desktop to Google Ads. Set it up from your terminal, then ask Claude to research keywords, build paused Search campaigns and pull reports.

$ claude mcp add adwarp -- npx -y adwarp mcp

Read the docs

claude ~ build

$ claude

> Build a Search campaign for revops automation at 50 USD a day.

adwarp.gads_keyword_ideas "revops automation": 50 ideas

adwarp.gads_launch_search_campaign dry run, 50 USD/day: valid

Validated by Google. Nothing was created yet.

Confirm and it's created paused. You switch it on in Google Ads.

01Set up

Set up in 3 steps.

  1. Get Google Ads API access

    A developer token from your Google Ads manager account, plus a Desktop app OAuth client in Google Cloud.

  2. Sign in from your terminal

    Add both to ~/.adwarp/google.json, and Adwarp opens your browser for Google's approval.

    npx -y adwarp google auth login
  3. Add it to Claude Code

    1 command, and Claude can use all 9 Google Ads tools on your machine.

    claude mcp add adwarp -- npx -y adwarp mcp
Using Claude Desktop instead?

Add Adwarp to your Claude Desktop config and restart the app. It runs on your machine, so the Google tools work there too.

claude_desktop_config.json
{
  "mcpServers": {
    "adwarp": { "command": "npx", "args": ["-y", "adwarp", "mcp"] }
  }
}

02Try these prompts

5 prompts to try first.

claude ~ keywords

$ claude

> Find keyword ideas for revops automation in the US.

adwarp.gads_keyword_ideas "revops automation", US, en: 50 ideas

Monthly searches, competition and top-of-page bid range for each

03Results

Why running Google Ads from Claude gets better results.

  • Research and build together

    Keyword research and the campaign build happen in 1 session, so the keywords you size are the ones you launch.

  • Every write checked first

    Google validates the whole build in a dry run before anything is created.

  • Nothing spends by accident

    Campaigns land paused, and only you can switch them on, in Google Ads.

04FAQ

Questions, answered. From setup to the details.

Ask on GitHub
Is there an official Google Ads MCP server?

Yes, and it's read-only. Adwarp is independent and open source, and it also researches keywords and builds paused Search campaigns.

Can Claude launch Google Ads campaigns?

It builds them, always paused. Adwarp has no tool to enable a campaign, so you switch it on yourself in Google Ads.

Does it work in Claude Desktop?

Yes. Add it to the Claude Desktop config shown above and restart the app. The Google tools run on your machine either way.

Does it work with the hosted endpoint?

Not for Google Ads. The hosted endpoint serves many callers, and Google credentials there would come from shared server settings, so it never registers the Google tools. Run Adwarp on your machine with your own developer token and OAuth client.

What access do I need?

A Google Ads developer token from a manager account and a Desktop app OAuth client. Campaigns and reporting work on Explorer access, and keyword research needs Basic access.

  • A developer token from the API Center of a Google Ads manager account. A plain client account can't issue one.
  • Explorer access arrives automatically and covers campaigns and reporting. Keyword research needs Basic access, a separate application on the same screen.
  • An OAuth client of the Desktop app type, in a Google Cloud project with the Google Ads API enabled.
  • A consent screen that isn't left in Testing, which issues sign-ins that stop working after 7 days.
What goes in google.json?

Your OAuth client, developer token and account ids, kept on your machine.

loginCustomerId is your manager account, needed only when you reach the ad account through one. Then run npx -y adwarp google auth login.

~/.adwarp/google.json
{
  "clientId": "....apps.googleusercontent.com",
  "clientSecret": "...",
  "developerToken": "...",
  "loginCustomerId": "1234567890",
  "defaultCustomerId": "0987654321",
  "defaultConversionActionNames": ["Demo Booked"]
}
Which Google Ads tools does it add?

9 tools, all running on your machine.

Which Google Ads tools does it add?
ToolWhat it does
gads_list_accountsEvery Google Ads customer your login can reach. Run it first to prove the setup works.
gads_list_client_accountsThe client accounts under a manager account.
gads_keyword_ideasSearch volume, competition and top-of-page bid range for seed terms or a landing page.
gads_list_campaignsCampaigns with their ad groups, paused ones included.
gads_list_adsThe ads in an ad group, with their responsive search copy.
gads_list_conversion_actionsConversion actions on the account, so a launch can name 1.
gads_launch_search_campaignA paused Search campaign from a brief, in 1 atomic change, validated by Google first.
gads_performanceRows at campaign, ad group, ad, keyword or search term level.
gads_searchA raw, read-only GAQL query.
Which house rules does every campaign follow?

Search network only, people in your target area, manual CPC to start, and created paused.

  • Search network only. Display expansion and search partners are off.
  • People physically in your target area. US means people in the US, not anyone who searched about it.
  • Manual CPC to start. Switch to smart bidding in Google Ads once there's conversion data.
  • Created paused, with no tool to enable it. You switch it on in Google Ads.
  • Search campaigns only for now. No Performance Max, Display, Shopping, video or Customer Match yet.