AdWhiz — Google Ads MCP Server
AdWhiz is a hosted MCP server that connects your AI coding tool to the
Google Ads API through a secure, authenticated proxy. It exposes 44 tools
across 5 categories so you can audit, create, and manage Google Ads campaigns
using plain English.
All API calls are authenticated via your personal ADWHIZ_API_KEY and routed
through the AdWhiz server at mcp.adwhiz.ai. No Google credentials or OAuth
tokens are stored by the skill — authentication is handled entirely server-side
after you link your Google Ads account at https://adwhiz.ai/connect.
Security & Permissions Model
- OAuth 2.0: User authenticates with Google via AdWhiz's web UI. Refresh
tokens are encrypted at rest (AES-256-GCM) and never exposed to the agent.
- API key scoping: Each
ADWHIZ_API_KEY is bound to a single Google Ads
account. Cross-account access is not possible.
- Write safety: All write tools create entities in PAUSED status by
default. The agent must explicitly request activation.
- Mutation logging: Every mutation is recorded in the
get_operation_log
tool for full auditability.
- Read-only by default: 17 of 44 tools are strictly read-only and cannot
modify your account.
- Confirmation required: Write tools require user confirmation before
executing via the agent's standard permission flow.
- No arbitrary code execution: The MCP server is a hosted HTTP service.
No code is downloaded or executed on the user's machine beyond the thin
MCP client wrapper.
Tool Categories
Account (2 tools) — Read-only
| Tool |
Description |
list_accounts |
List all accessible Google Ads accounts |
get_account_info |
Get account details (currency, timezone, optimization score) |
Read (14 tools) — Read-only
| Tool |
Description |
list_campaigns |
List campaigns with status, type, budget, bidding strategy |
get_campaign_performance |
Campaign metrics: cost, clicks, conversions, CTR, CPA, ROAS |
list_ad_groups |
List ad groups with bids, filtered by campaign |
list_ads |
List ads with headlines, descriptions, final URLs |
list_keywords |
Keywords with match types, bids, quality scores |
get_search_terms |
Search terms report (actual queries triggering ads) |
list_negative_keywords |
Negative keywords at campaign, ad group, or account level |
list_assets |
Sitelinks, callouts, structured snippets |
list_conversion_actions |
Conversion actions with status, type, category |
list_budgets |
Campaign budgets with associated campaigns |
list_bidding_strategies |
Portfolio bidding strategies |
list_audience_segments |
Audience targeting criteria |
list_user_lists |
Remarketing/audience lists for targeting |
get_operation_log |
Recent mutations performed via AdWhiz |
Write (25 tools) — Requires user confirmation
| Tool |
Description |
create_campaign |
Create Search, Display, PMax, or Video campaign (starts PAUSED) |
update_campaign |
Update campaign name |
set_campaign_status |
Pause, enable, or remove a campaign |
create_ad_group |
Create an ad group in a campaign |
update_ad_group |
Update ad group name or CPC bid |
set_ad_group_status |
Pause, enable, or remove an ad group |
create_responsive_search_ad |
Create RSA with headlines + descriptions (starts PAUSED) |
set_ad_status |
Pause, enable, or remove an ad |
add_keywords |
Add keywords with match types and bids |
update_keyword_bid |
Change a keyword's CPC bid |
set_keyword_status |
Pause, enable, or remove a keyword |
add_negative_keyword |
Add negative keyword at campaign or ad group level |
remove_negative_keyword |
Remove a negative keyword |
create_shared_negative_list |
Create a shared negative keyword list |
add_to_shared_list |
Add keywords to a shared negative list |
attach_shared_list |
Attach shared list to a campaign |
create_sitelink |
Create a sitelink asset |
create_callout |
Create a callout asset |
link_asset_to_campaign |
Link asset to a campaign |
create_conversion_action |
Create a conversion tracking action |
update_conversion_action |
Update conversion action name or status |
create_budget |
Create a campaign budget |
update_budget |
Update budget amount or name |
create_bidding_strategy |
Create a portfolio bidding strategy |
add_audience_to_campaign |
Add audience targeting to a campaign |
Audit (2 tools) — Read-only analysis
| Tool |
Description |
run_mini_audit |
Quick 3-metric audit: wasted spend, best/worst CPA, projected savings |
run_full_audit |
Comprehensive audit: campaigns, keywords, search terms, issues, recommendations |
Query (1 tool) — Read-only, bounded
| Tool |
Description |
run_gaql_query |
Execute a read-only GAQL query against your account (max 1,000 rows, SELECT only) |
MCP Server Configuration
AdWhiz uses HTTP transport to connect to the hosted MCP server. No npm
packages are downloaded or executed at runtime.
{
"mcpServers": {
"adwhiz": {
"transport": "http",
"url": "https://mcp.adwhiz.ai/mcp",
"headers": {
"Authorization": "Bearer ${ADWHIZ_API_KEY}"
}
}
}
}
Quick Install
clawhub install adwhiz
This adds the MCP server configuration above to your settings. You will be
prompted to provide your ADWHIZ_API_KEY.
Getting Your API Key
- Sign up at https://adwhiz.ai
- Connect your Google Ads account via OAuth
- Copy your API key from the dashboard settings page
Example Prompts
- "Audit my Google Ads account and show the top 5 waste areas"
- "Pause all campaigns with CPA above $150"
- "Add these negative keywords to my Search campaigns: [list]"
- "Create a new Search campaign targeting lawyers in New York with $100/day budget"
- "Show me search terms wasting money and suggest negatives"
- "What is my account's average Quality Score this month?"
Data Handling
- AdWhiz only accesses the Google Ads account you explicitly linked
- No campaign data is stored beyond the duration of each API request
- Mutation logs are retained for 30 days for auditability
- You can revoke access at any time from https://adwhiz.ai/connect
Documentation
Full documentation: https://adwhiz.ai/docs
1---2name: adwhiz3description: Manage Google Ads campaigns from your AI coding tool. 44 MCP tools for auditing, creating, and optimizing Google Ads accounts using natural language.4---56# AdWhiz — Google Ads MCP Server78AdWhiz is a hosted MCP server that connects your AI coding tool to the9Google Ads API through a secure, authenticated proxy. It exposes **44 tools**10across 5 categories so you can audit, create, and manage Google Ads campaigns11using plain English.1213All API calls are authenticated via your personal `ADWHIZ_API_KEY` and routed14through the AdWhiz server at `mcp.adwhiz.ai`. No Google credentials or OAuth15tokens are stored by the skill — authentication is handled entirely server-side16after you link your Google Ads account at https://adwhiz.ai/connect.1718## Security & Permissions Model1920- **OAuth 2.0**: User authenticates with Google via AdWhiz's web UI. Refresh21 tokens are encrypted at rest (AES-256-GCM) and never exposed to the agent.22- **API key scoping**: Each `ADWHIZ_API_KEY` is bound to a single Google Ads23 account. Cross-account access is not possible.24- **Write safety**: All write tools create entities in **PAUSED** status by25 default. The agent must explicitly request activation.26- **Mutation logging**: Every mutation is recorded in the `get_operation_log`27 tool for full auditability.28- **Read-only by default**: 17 of 44 tools are strictly read-only and cannot29 modify your account.30- **Confirmation required**: Write tools require user confirmation before31 executing via the agent's standard permission flow.32- **No arbitrary code execution**: The MCP server is a hosted HTTP service.33 No code is downloaded or executed on the user's machine beyond the thin34 MCP client wrapper.3536## Tool Categories3738### Account (2 tools) — Read-only39| Tool | Description |40|------|-------------|41| `list_accounts` | List all accessible Google Ads accounts |42| `get_account_info` | Get account details (currency, timezone, optimization score) |4344### Read (14 tools) — Read-only45| Tool | Description |46|------|-------------|47| `list_campaigns` | List campaigns with status, type, budget, bidding strategy |48| `get_campaign_performance` | Campaign metrics: cost, clicks, conversions, CTR, CPA, ROAS |49| `list_ad_groups` | List ad groups with bids, filtered by campaign |50| `list_ads` | List ads with headlines, descriptions, final URLs |51| `list_keywords` | Keywords with match types, bids, quality scores |52| `get_search_terms` | Search terms report (actual queries triggering ads) |53| `list_negative_keywords` | Negative keywords at campaign, ad group, or account level |54| `list_assets` | Sitelinks, callouts, structured snippets |55| `list_conversion_actions` | Conversion actions with status, type, category |56| `list_budgets` | Campaign budgets with associated campaigns |57| `list_bidding_strategies` | Portfolio bidding strategies |58| `list_audience_segments` | Audience targeting criteria |59| `list_user_lists` | Remarketing/audience lists for targeting |60| `get_operation_log` | Recent mutations performed via AdWhiz |6162### Write (25 tools) — Requires user confirmation63| Tool | Description |64|------|-------------|65| `create_campaign` | Create Search, Display, PMax, or Video campaign (starts PAUSED) |66| `update_campaign` | Update campaign name |67| `set_campaign_status` | Pause, enable, or remove a campaign |68| `create_ad_group` | Create an ad group in a campaign |69| `update_ad_group` | Update ad group name or CPC bid |70| `set_ad_group_status` | Pause, enable, or remove an ad group |71| `create_responsive_search_ad` | Create RSA with headlines + descriptions (starts PAUSED) |72| `set_ad_status` | Pause, enable, or remove an ad |73| `add_keywords` | Add keywords with match types and bids |74| `update_keyword_bid` | Change a keyword's CPC bid |75| `set_keyword_status` | Pause, enable, or remove a keyword |76| `add_negative_keyword` | Add negative keyword at campaign or ad group level |77| `remove_negative_keyword` | Remove a negative keyword |78| `create_shared_negative_list` | Create a shared negative keyword list |79| `add_to_shared_list` | Add keywords to a shared negative list |80| `attach_shared_list` | Attach shared list to a campaign |81| `create_sitelink` | Create a sitelink asset |82| `create_callout` | Create a callout asset |83| `link_asset_to_campaign` | Link asset to a campaign |84| `create_conversion_action` | Create a conversion tracking action |85| `update_conversion_action` | Update conversion action name or status |86| `create_budget` | Create a campaign budget |87| `update_budget` | Update budget amount or name |88| `create_bidding_strategy` | Create a portfolio bidding strategy |89| `add_audience_to_campaign` | Add audience targeting to a campaign |9091### Audit (2 tools) — Read-only analysis92| Tool | Description |93|------|-------------|94| `run_mini_audit` | Quick 3-metric audit: wasted spend, best/worst CPA, projected savings |95| `run_full_audit` | Comprehensive audit: campaigns, keywords, search terms, issues, recommendations |9697### Query (1 tool) — Read-only, bounded98| Tool | Description |99|------|-------------|100| `run_gaql_query` | Execute a read-only GAQL query against your account (max 1,000 rows, SELECT only) |101102## MCP Server Configuration103104AdWhiz uses **HTTP transport** to connect to the hosted MCP server. No npm105packages are downloaded or executed at runtime.106107```json108{109 "mcpServers": {110 "adwhiz": {111 "transport": "http",112 "url": "https://mcp.adwhiz.ai/mcp",113 "headers": {114 "Authorization": "Bearer ${ADWHIZ_API_KEY}"115 }116 }117 }118}119```120121## Quick Install122123```bash124clawhub install adwhiz125```126127This adds the MCP server configuration above to your settings. You will be128prompted to provide your `ADWHIZ_API_KEY`.129130## Getting Your API Key1311321. Sign up at https://adwhiz.ai1332. Connect your Google Ads account via OAuth1343. Copy your API key from the dashboard settings page135136## Example Prompts137138- "Audit my Google Ads account and show the top 5 waste areas"139- "Pause all campaigns with CPA above $150"140- "Add these negative keywords to my Search campaigns: [list]"141- "Create a new Search campaign targeting lawyers in New York with $100/day budget"142- "Show me search terms wasting money and suggest negatives"143- "What is my account's average Quality Score this month?"144145## Data Handling146147- AdWhiz only accesses the Google Ads account you explicitly linked148- No campaign data is stored beyond the duration of each API request149- Mutation logs are retained for 30 days for auditability150- You can revoke access at any time from https://adwhiz.ai/connect151152## Documentation153154Full documentation: https://adwhiz.ai/docs