AdWhiz MCP Server

Documentation

Everything you need to manage Google Ads from your AI tool.

On this page

  1. Quick Start
  2. OpenClaw Setup
  3. How It Works
  4. Tools Reference (47 tools)
  5. Example Conversations
  6. Important Concepts
  7. Subscription Plans
  8. FAQ / Troubleshooting
  9. Support

Quick Start

1

Sign up & subscribe

Create an account and choose a plan at www.adwhiz.ai/pricing. All plans include every tool — the difference is API call volume and the number of Google Ads accounts you can connect.

Pro — $79/moBusiness — $249/moEnterprise — $799/mo
2

Connect Google Ads

Go to www.adwhiz.ai/connect and authorize your Google Ads account via Google OAuth. AdWhiz only requests read and write access through the official Google Ads API. You can revoke access at any time from your Google Account settings.

3

Add to your AI tool

AdWhiz works with any tool that supports the MCP protocol — Claude Code, Cursor, Windsurf, OpenClaw, Copilot, Gemini CLI, and more. Two authentication methods are available:

Recommended

Browser sign-in (MCP OAuth)

Just add the server URL — no API key needed. Your MCP client will open a browser window where you sign in with Google and approve the connection. Tokens are managed automatically.

Quick install

Paste this into any AI coding tool (Claude Code, Codex CLI, Gemini CLI, etc.) and it will set up the MCP server for you:

Add the AdWhiz Google Ads MCP server to my project.
Server URL: https://mcp.adwhiz.ai/mcp
Type: streamable-http

Manual configuration

{
  "mcpServers": {
    "adwhiz": {
      "type": "streamable-http",
      "url": "https://mcp.adwhiz.ai/mcp"
    }
  }
}

On first use, your AI tool will open adwhiz.ai/oauth/consent in your browser. Sign in with Google and click “Authorize” to complete the connection.

Alternative: API key

If your MCP client does not support OAuth, create an API key from the dashboard and pass it in the Authorization header:

{
  "mcpServers": {
    "adwhiz": {
      "type": "streamable-http",
      "url": "https://mcp.adwhiz.ai/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Replace YOUR_API_KEY with the key from your dashboard. Restart your AI tool after saving the config file.

OpenClaw Setup

AdWhiz is available as an OpenClaw skill. Install it via ClawHub for auto-configuration, or add the MCP server to your openclaw.json manually. Both paths give your agents access to all 47 tools.

AdWhiz OpenClaw integration page showing setup steps, supported tools, and configuration examples
1

Install the AdWhiz skill (recommended)

The fastest way to get started is via ClawHub. This auto-configures the MCP server, prompts you for your API key, and provides agent instructions for all 47 tools.

clawhub install adwhiz

Requires Node.js installed for the npx-based MCP server. The skill prompts you for your ADWHIZ_API_KEY during installation.

2

Or configure openclaw.json manually

If you prefer manual setup, add the AdWhiz MCP server directly to your openclaw.json. Two transport options are available:

Option A: HTTP with OAuth (recommended)

{
  "mcpServers": {
    "adwhiz": {
      "transport": "http",
      "url": "https://mcp.adwhiz.ai/mcp"
    }
  }
}

No API key needed — a browser consent page will open automatically on first connection.

Option B: HTTP with API key

{
  "mcpServers": {
    "adwhiz": {
      "transport": "http",
      "url": "https://mcp.adwhiz.ai/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

For clients that don’t support OAuth. Get your API key from the dashboard.

Option C: stdio (local via npx)

{
  "mcpServers": {
    "adwhiz": {
      "command": "npx",
      "args": ["-y", "@adwhiz/mcp-server"],
      "env": {
        "ADWHIZ_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Requires Node.js installed. Uses an API key for authentication.

For OpenClaw agents: auto-configuration

If you are an OpenClaw agent reading this page to self-install AdWhiz, follow these steps:

  1. 1Use the HTTP transport with OAuth (Option A) — just add the server URL. No API key needed; a browser consent page will open on first use.
  2. 2If the user’s MCP client does not support OAuth, fall back to HTTP with API key (Option B). The user can create an API key at https://www.adwhiz.ai/dashboard.
  3. 3If Node.js is available and the user prefers local execution, use the stdio transport (Option C) with an API key.
  4. 4Add the appropriate mcpServers entry to the user’s `openclaw.json` configuration file using the config snippets above.
  5. 5Verify the connection by calling the `list_accounts` tool — it should return the user’s Google Ads account(s).
  6. 6If the user has not completed Google Ads OAuth yet, direct them to https://www.adwhiz.ai/connect to authorize their account.
# Agent self-install summary:
# 1. Prefer HTTP + OAuth (no API key needed)
# 2. Fallback: HTTP + API key, or stdio + API key (needs Node.js)
# 3. Write mcpServers config to openclaw.json
# 4. Test with list_accounts tool
# 5. If Google Ads not connected → direct user to adwhiz.ai/connect
#
# Skill manifest: openclaw/skills/adwhiz/SKILL.md
# MCP endpoint: https://mcp.adwhiz.ai/mcp
# Auth: OAuth (auto) or Bearer API key
# npm package: @adwhiz/mcp-server (stdio only)

How It Works

AdWhiz is a remote MCP server — a stateless HTTPS service that implements the Model Context Protocol. Once configured, your AI tool automatically discovers all 47 tools and can invoke them on your behalf whenever they are relevant to your request.

  • Natural language interfaceJust describe what you want in plain English. Claude reads your intent and selects the right tool combination automatically.
  • 47 tools, auto-discoveredYour AI tool fetches the tool manifest from mcp.adwhiz.ai at startup. No manual tool selection required.
  • Browser sign-in (OAuth)Just add the server URL — no API key needed. On first use, a browser window opens for you to sign in and approve the connection. Tokens refresh automatically.
  • Safety-first defaultsNew campaigns and ads are always created in PAUSED status. You must explicitly enable them before they go live.
  • Full audit trailEvery mutate operation is logged. Use the get_operation_log tool in your AI tool to review recent changes.
  • Read-only when possibleListing and reporting tools never modify your account. Write tools require you to confirm the action in conversation.

Tools Reference

47 tools across 5 categories. All tools require a customer_id parameter (10 digits, no dashes).

Account Tools

2 tools
ToolDescription
list_accountsList all accessible Google Ads accounts
get_account_infoGet account details (currency, timezone, optimization score)

Read Tools

14 tools
ToolDescription
list_campaignsList campaigns with status, type, budget, bidding strategy
get_campaign_performanceCampaign metrics: cost, clicks, conversions, CTR, CPA, ROAS, impression share
list_ad_groupsList ad groups with bids, filtered by campaign
list_adsList ads with headlines, descriptions, final URLs
list_keywordsKeywords with match types, bids, quality scores
get_search_termsSearch terms report — actual queries triggering your ads
list_negative_keywordsNegative keywords at campaign, ad group, or account level
list_assetsSitelinks, callouts, structured snippets
list_conversion_actionsConversion actions with status, type, category
list_budgetsCampaign budgets with associated campaigns
list_bidding_strategiesPortfolio bidding strategies
list_audience_segmentsAudience targeting criteria
list_user_listsRemarketing/audience lists for targeting
get_operation_logRecent mutations performed via AdWhiz

Write Tools

28 tools
ToolDescription
create_campaignCreate a campaign (Search, Display, PMax, Video) — starts PAUSED
update_campaignUpdate campaign name
set_campaign_statusPause, enable, or remove a campaign
create_ad_groupCreate an ad group in a campaign
update_ad_groupUpdate ad group name or CPC bid
set_ad_group_statusPause, enable, or remove an ad group
create_responsive_search_adCreate RSA with headlines + descriptions — starts PAUSED
set_ad_statusPause, enable, or remove an ad
add_keywordsAdd keywords with match types and bids
update_keyword_bidChange a keyword's CPC bid
set_keyword_statusPause, enable, or remove a keyword
add_negative_keywordAdd negative keyword at campaign or ad group level
remove_negative_keywordRemove a negative keyword
create_shared_negative_listCreate a shared negative keyword list
add_to_shared_listAdd keywords to a shared negative list
attach_shared_listAttach shared list to a campaign
create_sitelinkCreate a sitelink asset
create_calloutCreate a callout asset
create_structured_snippetCreate a structured snippet asset (e.g. Models, Brands, Types)
create_price_extensionCreate a price extension with up to 8 offerings
link_asset_to_campaignLink asset (sitelink, callout, snippet, price, etc.) to a campaign
unlink_asset_from_campaignRemove an asset-to-campaign linkage without deleting the asset
create_conversion_actionCreate a conversion tracking action
update_conversion_actionUpdate conversion action name or status
create_budgetCreate a campaign budget
update_budgetUpdate budget amount or name
create_bidding_strategyCreate a portfolio bidding strategy
add_audience_to_campaignAdd audience targeting to a campaign

Audit Tools

2 tools
ToolDescription
run_mini_auditQuick 3-metric audit: wasted spend, best/worst CPA, projected savings
run_full_auditComprehensive audit: campaigns, keywords, search terms, issues, recommendations

Query Tool

1 tool
ToolDescription
run_gaql_queryExecute any read-only GAQL query (max 1,000 rows)

Example Conversations

Type these prompts directly into your AI tool — it will pick the right MCP tools automatically.

You

List all my campaigns and their performance this month

Claude

list_campaigns + get_campaign_performance

You

Find search terms wasting money and add them as negative keywords

Claude

get_search_terms → analyze non-converting terms → add_negative_keyword

You

Create a new search campaign for 'plumber in NYC' keywords with $50/day budget

Claude

create_campaign + create_ad_group + add_keywords + create_responsive_search_ad

You

Run a full audit of my account

Claude

run_full_audit → comprehensive analysis report

You

Pause all campaigns spending more than $100/day with CPA over $50

Claude

get_campaign_performance → identify targets → set_campaign_status

You

What GAQL query would show me keywords with quality score below 5?

Claude

run_gaql_query with ad_group_criterion WHERE quality_info.quality_score < 5

Important Concepts

Customer ID

Every tool requires a customer_id parameter — a 10-digit number with no dashes (e.g. 9044845197). Use the list_accounts tool to find yours if you are unsure.

Micros (currency)

The Google Ads API stores monetary values in micros: 1,000,000 micros = $1.00. AdWhiz automatically converts micros to dollars in all responses, so you never need to do the math yourself.

Safety defaults

New campaigns and new ads are always created in PAUSED status. You must explicitly call set_campaign_status or set_ad_status with status: ENABLED before anything goes live.

Operation log

Every mutation (create, update, pause, remove) is recorded server-side. Use get_operation_log in your AI tool at any time to review a chronological list of recent changes made via AdWhiz.

Date ranges

Performance tools accept GAQL date preset strings. Commonly used presets:

LAST_7_DAYSLAST_30_DAYSLAST_90_DAYSTHIS_MONTHLAST_MONTH

Subscription Plans

All plans include every one of the 47 tools. Upgrade or downgrade anytime from the dashboard.

FeatureProBusinessEnterprise
Monthly price$79$249$799
API calls / month5002,00010,000
Ad accounts1Up to 5Unlimited
All 47 toolsYesYesYes
Multi-accountNoYesYes
SupportStandardPriorityDedicated

FAQ / Troubleshooting

My AI tool doesn’t see the AdWhiz tools

Check that your MCP config file (e.g. .mcp.json) is in the correct location and that the JSON is valid. Verify the API key is correct in your dashboard. Restart your AI tool completely after any config change.

I get a “subscription inactive” error

Your subscription may have lapsed or the billing card failed. Log in to www.adwhiz.ai/dashboard to check your subscription status, or contact support@adwhiz.ai.

I get a “monthly limit reached” error

You have exhausted your API call quota for the current billing cycle. Upgrade your plan from the dashboard, or wait until the next billing cycle resets your quota.

How do I add another Google Ads account?

Go to www.adwhiz.ai/connect and complete the Google OAuth flow again. Each authorization grants access to one Google Ads account (or MCC). Repeat for each account you want to manage.

Is my data safe?

Yes. AdWhiz uses AES-256-GCM encryption for refresh tokens stored at rest, communicates with Google via the official OAuth2-authenticated Google Ads API v23, and never stores your raw ad data long-term. You can revoke access at any time from your Google Account settings.

Support

We aim to respond to all support requests within one business day.