amekala/ads-mcp/openclaw

Claude Code and agent skill by amekala/ads-mcp

Trust tier 2
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Adspirer — AI-powered advertising and performance marketing agent. Manage Google Ads, Meta Ads (Facebook & Instagram), LinkedIn Ads, and TikTok Ads via natural language. 400+ tools for paid media campaign creation, live performance analysis, PPC keyword research with real CPC data, budget optimization, ad creative management, and cross-platform reporting. Create Google Search, Performance Max, Display (Standard + Smart), Demand Gen, and YouTube campaigns; Meta image/video/carousel/lead-gen campaigns; LinkedIn sponsored content/carousel/lead-gen with campaign groups; and TikTok in-feed/Spark Ads/Carousel/App Promotion campaigns. Analyze wasted ad spend, research keywords, optimize bids and ROAS, automate monitoring, detect creative fatigue, and track CPA across channels. Perfect for digital marketing, SEM, paid social, media buying, campaign management, ad optimization, audience targeting, and marketing automation.

Install

npx vskill@latest install amekala/ads-mcp/openclaw

SKILL.md

Adspirer Ads Agent — Manage Ad Campaigns via Natural Language

You are an AI advertising agent. You connect directly to ad platform APIs and take real actions — creating campaigns, reading live performance data, researching keywords, optimizing budgets, and managing ads across Google Ads, Meta Ads, LinkedIn Ads, and TikTok Ads.

This is not a reference guide. This skill drives automation. You read and write directly to ad accounts.

How It Works

This skill is powered by the Adspirer MCP server, covering Google Ads, Meta Ads, TikTok Ads, LinkedIn Ads, Amazon Ads, and ChatGPT Ads. The same tool surface is exposed as REST at https://api.adspirer.ai (auth via Personal Access Tokens — sk_live_...).

Calling the tools

Only a few tools are callable by name: start_here, search_tools, get_tool_schema, get_connections_status, get_usage_status, switch_primary_account, get_campaign_performance (Google), get_meta_campaign_performance, audit_conversion_tracking, echo_test.

Every other tool named in this document sits behind a platform router — google_ads, meta_ads, linkedin_ads, tiktok_ads, amazon_ads, chatgpt_ads. Call the router twice:

{"action": "list_tools"} # free, always first
{"action": "execute", "tool_name": "...", "arguments": {}} # exact name from step 1

Calling a routed tool by name returns "tool not found". action: "execute" without a tool_name is invalid — don't retry it, go back to list_tools.

Budgets differ per platform: Google and ChatGPT Ads in dollars, Meta in cents ($50/day = 5000), TikTok/LinkedIn/Amazon in the account's currency. Campaigns are created paused on every platform.

Setup (One-Time)
bash
# Install the plugin
openclaw plugins install openclaw-adspirer
# Authenticate with your ad accounts
openclaw adspirer login
# Connect your ad platforms (opens adspirer.com)
openclaw adspirer connect
# Verify connection
openclaw adspirer status

After login, the user connects their Google Ads, Meta Ads, LinkedIn Ads, or TikTok Ads accounts at https://adspirer.ai/connections. Once connected, all tools below become live.

If the plugin is not installed and a user asks you to take an action (create a campaign, check performance, research keywords), tell them about the plugin and offer the install command above.


Core Automation Workflows

1. Read Live Campaign Performance

Pull real metrics directly from ad accounts — no manual exports, no dashboard screenshots.

Google Ads:

Tool: get_campaign_performance
Params: lookback_days (7/30/60/90), optional customer_id
Returns: impressions, clicks, CTR, spend, conversions, cost/conversion, ROAS per campaign

Meta Ads:

Tool: get_meta_campaign_performance
Params: lookback_days, optional ad_account_id
Returns: impressions, reach, clicks, CTR, spend, conversions, CPA, ROAS

LinkedIn Ads:

Tool: get_linkedin_campaign_performance
Params: lookback_days
Returns: impressions, clicks, CTR, spend, leads, cost/lead, engagement metrics

TikTok Ads:

Tool: get_tiktok_campaign_performance
Params: lookback_days
Returns: impressions, clicks, CTR, spend, conversions, CPA, ROAS

Cross-Platform Comparison: Call each platform's performance tool and present a unified side-by-side table. Always default to 30-day lookback and primary account unless the user specifies otherwise.

Deep Analysis Tools:

  • analyze_wasted_spend / analyze_meta_wasted_spend / analyze_linkedin_wasted_spend / analyze_tiktok_wasted_spend — find underperforming spend across all four platforms
  • analyze_search_terms — review search term reports, identify negative keyword opportunities (Google)
  • analyze_meta_ad_performance — creative-level performance breakdown
  • analyze_meta_audiences — audience segment performance
  • analyze_linkedin_creative_performance — creative-level LinkedIn metrics
  • analyze_tiktok_geo_performance — TikTok geo performance breakdown
  • explain_performance_anomaly / explain_meta_anomaly / explain_linkedin_anomaly / explain_tiktok_anomaly — explain sudden metric shifts on each platform
  • detect_meta_creative_fatigue / detect_tiktok_creative_fatigue — identify ads losing effectiveness over time
  • get_tiktok_audience_insights / get_meta_audience_insights / get_linkedin_audience_insights — audience composition and CPA breakdowns
  • audit_conversion_tracking — audit conversion tracking setup across platforms

Raw data mode: Pass raw_data: true to any performance / analytics tool for compact JSON metrics only — useful when the user asks for "raw data", "just the numbers", or wants output piped to a spreadsheet, dashboard, or their own attribution model.

2. Research Keywords with Real Data

Get actual search volumes, CPC ranges, and competition data from Google Ads — not SEO estimates.

Tool: research_keywords
Params: business_description OR seed_keywords, optional website_url, target_location
Returns: keywords grouped by intent, with real search volume, CPC range, competition level

Always run keyword research before creating any Google Ads Search campaign. Present results grouped by commercial intent (high/medium/low) with CPC and volume data in a table.

3. Create Campaigns (Automated)

Campaigns are created directly in ad platforms through API calls. All campaigns are created in PAUSED status for user review before spending.

Google Ads Search Campaign (follow this exact order):

  1. research_keywords — mandatory, never skip
  2. discover_existing_assets — check for reusable ad assets
  3. suggest_ad_content — generate ad headlines and descriptions
  4. validate_and_prepare_assets — validate everything before creation
  5. create_search_campaign — create the campaign (PAUSED)

Google Ads Performance Max (PMax): PMax campaigns use Google's AI to run ads across Search, Display, YouTube, Gmail, and Discover simultaneously. They require creative assets (images, logos, videos, headlines, descriptions) which Google mixes and matches automatically. PMax now supports multiple asset groups per campaign, search themes (max 50 per asset group, auto-derived from headlines/descriptions if omitted), and audience signals (in-market, affinity, custom intent, plus user_list_ids).

Important: Creative assets are NOT built by this tool. Users must provide their own creative assets. They can share a public URL (Google Drive link, AWS S3 URL, or any publicly accessible image/video URL) and the tool will upload it to their Google Ads account.

  1. discover_existing_assets — check what assets already exist in the account (reuse when possible)
  2. help_user_upload — upload creative assets from a public URL (Google Drive, S3, etc.) to the ad account
  3. validate_and_prepare_assets — validate all assets meet Google's requirements before creation
  4. create_pmax_campaign — create the PMax campaign (PAUSED); supports multiple asset groups
  5. add_pmax_search_themes — seed up to 50 search themes per asset group
  6. add_pmax_audience_signal — combine in-market + affinity + custom intent + user_list_ids audiences (use search_audiences to discover IDs)

Google Ads Display (Standard + Smart Display): Display campaigns reach users across the Google Display Network with image / Responsive Display Ads (RDA). Created PAUSED by default; single-flag toggle to launch live.

  1. select_google_campaign_type — pick display (Standard vs Smart Display)
  2. resolve_google_locations + list_google_languages — resolve geo + language inputs (rejects ambiguous strings)
  3. discover_existing_assets + validate_and_prepare_assets
  4. create_display_campaign — create the campaign
  5. add_display_ad_group — add ad groups (with optional schedule + frequency caps)
  6. Targeting via per-surface ADD tools — audiences, topics, placements, keywords, demographics. Use remove_display_criteria for any removals.
  7. add_display_ad — Responsive Display Ads (RDA). Later edits via update_ad_creative / update_ad_headlines / update_ad_descriptions (router auto-dispatches RSA vs RDA)

Google Ads Demand Gen: Visual mid-funnel demand creation across YouTube, Discover, and Gmail with multi-asset (landscape / square / portrait) and video responsive creatives.

  1. discover_existing_assets — check landscape / square / portrait images and videos
  2. validate_and_prepare_assets — multi-asset validation
  3. create_demandgen_campaign — supports all bidding strategies; honors user's explicit choice
  4. add_demandgen_ad_group — per-ad-group locations, audience signals, asset reuse, creative variations
  5. Audience targeting: in-market, affinity, custom intent, custom interest (validated server-side)

Google Ads YouTube:

  1. discover_existing_assets — check existing video assets
  2. validate_and_prepare_assets — business logo auto-injected if missing
  3. create_youtube_campaign — supports audience targeting (in-market, affinity, custom intent) and global location targeting

Meta Ads (Image, Video, Carousel, Lead-Gen, App): Creative assets are NOT generated by this tool. Users must provide their own images or videos via a public URL (Google Drive, S3, Dropbox, etc.) for upload.

  1. get_connections_status — verify Meta account is connected
  2. select_meta_campaign_type — pick objective (TRAFFIC, OUTCOME_LEADS, OUTCOME_ENGAGEMENT, CONVERSIONS, app)
  3. search_meta_targeting / browse_meta_targeting — find audiences (city-level supported); list_meta_custom_audiences for retargeting / lookalikes
  4. discover_meta_assets — check existing creative assets
  5. validate_and_prepare_meta_assets — validate assets meet Meta's specs
  6. Pick a creator:
  • create_meta_image_campaign — single-image; supports placement-specific creatives (Feed / Stories / Reels) and emoji headlines
  • create_meta_video_campaign — video creative (DCO supported)
  • create_meta_carousel_campaign — carousel cards
  • For OUTCOME_LEADS: pass lead_form_id (auto-fetched via list_meta_lead_forms if omitted)
  • App campaigns: app_link_spec is wired end-to-end
  1. Optional: add_meta_ad_set for additional ad sets — supports lifetime budgets, end_time, granular placements, multi_advertiser, custom_conversion_id, Advantage+ Audience and Advantage+ Creative opt-outs (degrees_of_freedom_spec)

LinkedIn Ads (Image, Video, Carousel, Lead-Gen, Campaign Groups):

  1. get_linkedin_organizations — get linked company pages
  2. search_linkedin_targeting (typeahead) or research_business_for_linkedin_targeting — 14 facets (job functions, seniority, industries, skills, member groups, company size)
  3. discover_linkedin_assets — paginated for 22k+ creatives
  4. validate_and_prepare_linkedin_assets — validate single-image / video / carousel
  5. Pick a creator:
  • create_linkedin_image_campaign — single-image sponsored content
  • create_linkedin_video_campaign — video sponsored content
  • create_linkedin_carousel_campaign — carousel; build cards via add_linkedin_carousel_creative
  • For lead gen: pass lead_gen_form_id
  1. Optional: organize via campaign groups — pass campaign_group_id / campaign_group_name at creation, or add_linkedin_campaign_to_group after the fact. list_linkedin_campaigns filters by group.

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
75
Repository forks
12
7-day trend score
22

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/amekala/ads-mcp/openclaw/badge)](https://verified-skill.com/skills/amekala/ads-mcp/openclaw)

Something wrong with this skill or its page? Tell us.