Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.
Security
AdWhiz
Try itAudit, create, and manage Google Ads and Meta Ads campaigns from your AI coding tool using 102 MCP tools.
What it does
Manage Google Ads and Meta Ads accounts from your AI coding tool through 102 MCP tools that handle audits, performance queries, campaign creation, keyword management, and bid adjustments in natural language. The hosted server authenticates via OAuth 2.0 with refresh and long-lived tokens encrypted at rest (AES-256-GCM), so your Google and Meta credentials never reach the agent. Google Ads write tools create entities in PAUSED status by default, and every write requires explicit user confirmation through the agent's permission flow. A full mutation log is queryable via the get_operation_log tool.
When to use it
- Auditing wasted spend and CPA outliers across Google Ads campaigns
- Pausing underperforming campaigns or ad sets above a CPA threshold
- Creating Search or Performance Max campaigns with target budgets and paused start
- Querying Meta ad insights with daily breakdowns or audience breakdowns
The skill document
AdWhiz — Google Ads & Meta Ads MCP Server
AdWhiz is a hosted MCP server that connects your AI coding tool to the Google Ads API and Meta (Facebook) Graph API through a secure, authenticated proxy. It exposes 102 tools across 7 categories so you can audit, create, and manage ad campaigns across both platforms 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 or Meta credentials
are stored by the skill — authentication is handled entirely server-side
after you link your ad accounts at https://adwhiz.ai/connect.
Security & Permissions Model
- OAuth 2.0: User authenticates with Google and/or Meta via AdWhiz's web UI. Refresh tokens (Google) and long-lived access tokens (Meta) are encrypted at rest (AES-256-GCM) and never exposed to the agent.
- API key scoping: Each
ADWHIZ_API_KEYis bound to a single user's connected accounts. Cross-user access is not possible. - Write safety: All Google Ads write tools create entities in PAUSED status by default. Meta write tools require explicit status parameters.
- Mutation logging: Every mutation is recorded in the
get_operation_logtool for full auditability. - Read-only by default: 39 of 102 tools are strictly read-only and cannot modify your accounts.
- 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.
Google Ads Tools (70)
Account (2 tools) — Read-only
| Tool | Description |
|---|---|
list_accounts | List all accessible Google Ads accounts (auto-expands MCC child accounts) |
get_account_info | Get account details (currency, timezone, optimization score) |
Read (20 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 |
list_recommendations | Google Ads recommendations (add keywords, raise bids, fix ad strength) |
get_change_history | Change audit log: who changed what and when |
list_geo_targets | Geographic location targeting on campaigns |
list_ad_schedules | Ad schedule (dayparting) criteria on campaigns |
list_labels | Labels for organizing campaigns, ad groups, ads, keywords |
generate_keyword_ideas | Keyword ideas with search volume, competition, bid ranges |
Write (45 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 |
create_structured_snippet | Create a structured snippet asset |
create_price_extension | Create a price extension asset |
link_asset_to_campaign | Link asset to a campaign |
unlink_asset_from_campaign | Unlink asset from 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 |
update_responsive_search_ad | Update RSA headlines, descriptions, or URLs |
link_asset_to_ad_group | Link asset to an ad group |
unlink_asset_from_ad_group | Remove asset-to-ad-group linkage |
upload_click_conversions | Upload offline click conversions (gclid-based) |
upload_customer_list | Upload hashed PII to Customer Match user list |
apply_recommendation | Apply a Google Ads recommendation |
dismiss_recommendation | Dismiss a Google Ads recommendation |
add_geo_targeting | Add geographic location targeting to a campaign |
remove_geo_targeting | Remove geographic location target from a campaign |
add_ad_schedule | Add ad schedule (dayparting) to a campaign |
remove_ad_schedule | Remove ad schedule criterion from a campaign |
set_device_bid_adjustment | Set device bid adjustment (mobile, desktop, tablet) |
set_demographic_targeting | Set demographic targeting (age, gender, income) |
create_label | Create a label for organizing entities |
apply_label | Apply a label to a campaign, ad group, or ad |
remove_label | Remove a label from a campaign, ad group, or ad |
create_asset_group | Create an asset group for Performance Max campaigns |
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) |
Meta (Facebook) Ads Tools (32)
Meta Read (15 tools) — Read-only
| Tool | Description |
|---|---|
meta_list_ad_accounts | List all connected Meta ad accounts |
meta_list_campaigns | List campaigns with status, objective, budget |
meta_get_campaign_insights | Per-campaign metrics: spend, clicks, CTR, CPA, frequency (with optional breakdowns) |
meta_list_ad_sets | List ad sets with targeting, status, budget, and promoted_object |
meta_list_ads | List ads with creative details (title, body, image URL) |
meta_get_account_insights | Account-level aggregated metrics with daily breakdown |
meta_get_ad_set_insights | Per-ad-set performance metrics: spend, clicks, CPA, frequency |
meta_get_ad_insights | Per-ad performance metrics: spend, clicks, conversions, CPA |
meta_get_ad_creatives | List ad creatives or get creative for a specific ad |
meta_search_interests | Search targetable interest audiences by keyword |
meta_search_geo_locations | Search geographic locations for targeting |
meta_estimate_audience_size | Estimate reach of a targeting spec |
meta_get_account_pages | List Facebook pages available for running ads |
meta_get_change_history | View recent changes (audit log) — who changed what and when |
meta_get_instagram_media | List Instagram media with Media V2 IDs for partnership/branded content ads |
Meta Write (16 tools) — Requires user confirmation
| Tool | Description |
|---|---|
meta_set_campaign_status | Pause or activate a Meta campaign |
meta_update_campaign_budget | Update a Meta campaign's daily or lifetime budget |
meta_set_ad_set_status | Pause or activate a Meta ad set |
meta_set_ad_status | Pause or activate a Meta ad |
meta_create_campaign | Create a new Meta campaign with objective and budget |
meta_create_ad_set | Create an ad set with targeting, budget, optimization goal |
meta_create_ad_creative | Create ad creative with image/video, link, CTA. Supports partnership ads via source_instagram_media_id or object_story_id |
meta_create_ad | Create an ad linking an ad set to a creative |
meta_update_campaign | Update campaign name, budget, end time, spend cap |
meta_update_ad_set | Update ad set name, budget, targeting, schedule |
meta_update_ad | Update ad name, creative, or status |
meta_create_custom_audience | Create custom audience from customer lists or website visitors |
meta_create_lookalike_audience | Create lookalike audience from source audience |
meta_upload_ad_image | Upload image from URL for ad creatives |
meta_upload_partnership_video | Upload Instagram creator video via partnership ad code for branded content ads |
meta_duplicate_campaign | Duplicate campaign with all ad sets and ads |
Meta Audit (1 tool) — Read-only analysis
| Tool | Description |
|---|---|
meta_run_mini_audit | Quick health audit: score (0-100) across wasted spend, CPA efficiency, budget utilization, creative fatigue |
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}"
}
}
}
}
REST API (Alternative to MCP)
For platforms that cannot use the MCP protocol (GPT Actions, Dify, Coze, or any HTTP-based workflow), AdWhiz also exposes all 102 tools as a standard REST API with an OpenAPI 3.1.0 spec:
- OpenAPI spec: https://mcp.adwhiz.ai/api/v1/openapi.json
- Tool listing: https://mcp.adwhiz.ai/api/v1/tools
- Tool execution:
POST https://mcp.adwhiz.ai/api/v1/tools/{tool_name}
# Example: list campaigns via REST API
curl -X POST https://mcp.adwhiz.ai/api/v1/tools/list_campaigns \
-H "Authorization: Bearer $ADWHIZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{"customer_id": "1234567890"}'
Import the OpenAPI spec URL into any platform that supports OpenAPI actions to auto-discover all 102 tools.
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 and/or Meta Ads account via OAuth
- Copy your API key from the dashboard settings page
Example Prompts
Google Ads
- "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?"
Meta Ads
- "Audit my Meta Ads account and show the health score"
- "List all active Meta campaigns with their spend and CTR"
- "Pause the Meta campaign with the highest frequency"
- "Show me daily spend trends for my Meta account over the last 30 days"
- "Which Meta ad sets have the worst CPA?"
Data Handling
- AdWhiz only accesses the ad accounts 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
Related skills
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Site audit, content writing, and competitor analysis for organic search rankings.
Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.
More from iamzifei
Browse all skillsGenerate AI images via ImaginePro API (Midjourney, Flux, Nano Banana, Lumi Girl, video)
AI KEY ——两套技能的总入口:做内容(选题/写稿/审核/复盘)+ 看生意(组合体检/营收归因/客户集中度/依赖风险/拿不准的决策)。三种模式:新手上路演示、任务前路由、任务后导航。不知道用哪个就回这里。 触发方式:/aikey、/新手上路、/aikey 教程、「做条视频」「出个口播」「今天拍什么」「内容下一步怎么走」;新手教程:/aikey 新手指南、/aikey 新手、「这个怎么用」「第一次用,带我走一遍」「不知道能干嘛」 Single entry point for both skill sets — content (topic, script, review, retro) and business (portfolio, revenue, concentration, dependency, decisions). Three modes: guided onboarding demo, pre-task routing, post-task navigation. Trigger: /aikey, "make a short video", "what should I shoot today", "how do I use this" —— AI KEY · 不给公式,给判据。每条规则都标了实测代价。
AI KEY·口播稿写作 ——口播稿协作写作技能(知识付费口播为主形态)。三类脚本选型 + 从内容单元装配 + 逐段共创,不一键成稿。 触发方式:/aikey-script、/写口播、/写稿、/aikey-写稿、「写个口播稿」「帮我把这个题写出来」「知识付费口播」「写条视频文案」 Collaborative koubo (talking-head) script writing: script-type selection, unit assembly, section-by-section co-writing. Trigger: /aikey-script, "write a talking-head script", "turn this topic into a video script" —— AI KEY · 不给公式,给判据。每条规则都标了实测代价。
AI KEY·今天拍什么 ——短视频选题技能。先探寻现象、检验假设、比较解释,把问题转成观众在意的选择。交互式选题:供需判定 + 对标信号 + 本人真实数据佐证 + 配比检查,不一键生成选题清单。 触发方式:/aikey-topic、/拍什么、/选题、/aikey-选题、「今天拍什么」「帮我出选题」「这个题能不能做」「有个想法你帮我判断下」「这题只有一头」「这题没劲」「帮我把它讲出两头来」 Topic selection for short videos: supply-demand test, benchmark signals, real data evidence. Trigger: /aikey-topic, "what topic should I shoot", "is this topic worth making" —— AI KEY · 不给公式,给判据。每条规则都标了实测代价。
AI KEY·口播剪辑 ——口播成片剪辑技能。把拍好的素材剪成可发布的成片:**按文案规则做内容层重组**(删废镜头/去重复/重排顺序)→ 语音剪辑(去口癖/停顿)→ 加速 → 字幕 → B-roll → 交付。 🔴 **只删和重排,不加词** —— 说话人没说过的话一个字都不加。 中文口播的剪辑工作流(判据按中文口播写;用户用别的语言时照常用他的语言交流,并说明规则是按中文口播定的)。 默认参数(抖音 · 保持原长 · 1.15× · HarmonyOS Sans 粗体字幕 · 黄色 #FFE20A 高亮)属于澳洲AI教父账号:**确认是这个账号**才直接用;其他账号先读 `config`,读不到就问,不套用。 检测不到 ChatCut 会引导安装,并给出**本机转写旁路** —— 内容层的活全部不需要 ChatCut。 用户要 B-roll / 特效 / 转场而手上没有真素材时,可按文案逐句判哪几句能配生成画面(比喻、过程、氛围、转场可以;「我做过」「真实发生」这类证言绝不),写成 Seedance 提示词交给 chatcut-video-gen 出片,提交前先确认花费,发布时提醒打开 AI 生成声明。 触发方式:/aikey-cut、/剪片、/aikey-剪、「把这条口播剪出来」「口播素材剪成成片」「用 aikey-cut 剪」。普通的「加字幕」「剪一下」不自动触发,先问是不是要走这套口播剪辑流程 Talking-head footage → publishable cut. Restructures content by copy rules (delete/reorder only, never add words), then cleans speech, speeds up, captions, B-roll. When the user wants B-roll, effects or transitions and has no real footage, picks which lines may take generated inserts (metaphor, process, mood, transitions — never testimony) and writes Seedance prompts for chatcut-video
AI KEY·标题与封面 ——多平台标题与封面。按内容本身的形状选结构(12 种结构清单),过卖真 / 违禁词 / 不点名 / 黑话红线,每个标题说清用了什么结构、为什么配这条内容。**不给「通用爆款公式」——实证显示标题结构在不同账号间不通用,附脚本让你算出自己账号的规律。** 触发方式:/aikey-title、/封面、/标题、/aikey-标题、「起个标题」「抖音封面写什么」「小红书标题」「封面大字怎么写」「帮我优化这个标题」 Multi-platform titles and cover text. Picks a structure that fits the content rather than applying a "proven formula" — cross-source testing found none of 12 common title structures replicate across differently-styled accounts. Ships a script to derive your own. Trigger: /aikey-title, "give me a title", "Douyin cover text", "xiaohongshu title" —— AI KEY · 不给公式,给判据。每条规则都标了实测代价。