MCP Connector

Create Google & TikTok Ad Campaigns

Remote MCP server for creating, analyzing, and optimizing ad campaigns across Google, Amazon, Meta, LinkedIn, TikTok, and ChatGPT Ads from one assistant.

Works with google adstiktok

91
Spark score
out of 100
Updated 23 days ago
Version 2.1.1
Models
universal

Add to Favorites

Why it matters

Automate the creation and planning of Google Ads (Search & Performance Max) and TikTok ad campaigns. Streamlines campaign setup, asset validation, and creative generation.

Outcomes

What it gets done

01

Plan and validate ad campaigns using structured prompts.

02

Generate creative variants and assemble compliant ad assets.

03

Create end-to-end Google Ads Search and Performance Max campaigns.

04

Manage TikTok campaign creation.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-ads-mcp | bash

Capabilities

Tools your agent gets

help_user_upload

Returns instructions for providing direct media links

validate_and_prepare_assets

Downloads and validates media by URL; returns asset_bundle_id with progress stream

create_pmax_campaign

Atomic Performance Max campaign creation with validate-then-commit pattern and progress stream

create_search_campaign

Creates text Search campaign with optional assets

Overview

Ads MCP Server

Ads MCP (Adspirer) is a remote MCP server exposing 400+ tools across Google, Amazon, Meta, LinkedIn, TikTok, and ChatGPT Ads, letting an AI assistant plan, launch, and optimize campaigns via OAuth-authenticated connections. New campaigns always launch paused for safety. Use it when you want cross-platform ad management from one conversational interface; it requires connecting real, authenticated ad accounts and is metered by monthly tool-call tier.

What it does

Adspirer's Ads MCP is a remote Model Context Protocol server for cross-platform ad management, letting any MCP-compatible AI assistant create, analyze, and optimize campaigns across six ad platforms: Google Ads, Amazon Ads, Meta Ads, LinkedIn Ads, TikTok Ads, and ChatGPT Ads. It exposes 400+ tools total (151 for Google Ads, 61 for Amazon Ads, 58 for Meta Ads, 54 for LinkedIn Ads, 37 for TikTok Ads, 31 for ChatGPT Ads), plus Google Analytics 4 and Klaviyo integrations and account-management tools, available both over MCP and as REST endpoints at api.adspirer.ai. Strategic decisions persist to a STRATEGY.md file that guides future campaign creation, keyword research, and ad copy across sessions and subagents. The server can plan and validate campaigns from structured prompts, research keywords with real CPC data and competitive analysis, build Google Ads Search, Performance Max, Display, Demand Gen, and YouTube campaigns end-to-end, launch Meta image, video, carousel, and OUTCOME_LEADS campaigns, LinkedIn sponsored content and carousel and lead-gen-form campaigns with campaign groups, and TikTok in-feed, Spark Ads, Carousel, and App Promotion campaigns, then analyze performance with actionable recommendations covering wasted spend, anomaly detection, audience insights, and creative fatigue. A raw data mode (raw_data=true) on all 29 performance and analytics tools returns JSON-only output for custom attribution, dashboards, or token-efficient pipelines, and the server supports multi-account, multi-platform use so agencies can manage many ad accounts from one workspace, plus automation via scheduled briefs, performance monitors, and on-demand cross-platform reports. New campaigns are always created paused - nothing spends money without explicit approval - and authentication happens via OAuth in the user's own browser, so the assistant never sees credentials.

When to use - and when NOT to

Reach for this connector when you want one AI assistant to plan, launch, and optimize ad campaigns across several platforms at once rather than switching between each platform's own console - it's built for both single-account marketers and agencies managing many accounts per platform. It's not for anyone unwilling to link real ad accounts and complete an OAuth sign-in: every tool acts on live ad-platform APIs, and while new campaigns launch paused for safety, budget, targeting, and creative changes still require a connected, authenticated account. Usage is metered - the free tier caps at 15 tool calls per month, with paid tiers at $49 for 150 calls, $99 for 600 calls, and $199 for 3,000 calls per month - so it's not a fit for unlimited or purely exploratory use without a plan upgrade.

Capabilities

Platform breakdown and depth: Google Ads (151 tools - Search, Performance Max with search themes and audience signals, Display Standard and Smart, Demand Gen, YouTube, Shopping, App campaigns, keyword research, wasted-spend analysis, asset management, ad extensions, bidding strategy management), Amazon Ads (61 - Sponsored Products, Brands, and Display, keyword and negative-keyword and product or category targeting, Amazon's own bid, budget, and keyword recommendations, search-term reports, ACOS and ROAS performance), Meta Ads (58 - image, video, carousel, and catalog Advantage+ campaigns, OUTCOME_LEADS lead-gen forms, lifetime budgets, granular placements, city-level targeting, custom audiences and conversions, app-promotion analytics), LinkedIn Ads (54 - sponsored content in four formats, lead-gen forms, campaign groups, 19 targeting facets, audience insights, creative fatigue analysis, conversion tracking), TikTok Ads (37 - full campaign lifecycle across in-feed, image, Spark Ads, Carousel, and App Promotion formats, analytics including anomaly detection and geo breakdowns), and ChatGPT Ads (31 - chat_card ads inside ChatGPT responses, one-shot launch from campaign to ad, geo targeting, pause/activate/archive, Pixel plus Conversions API tracking). All tools carry MCP safety metadata (readOnlyHint and destructiveHint annotations). Protocol is MCP 2025-03-26 with fallback to 2024-11-05 over Streamable HTTP transport; OAuth implements RFC 8252 (Authorization Code plus PKCE), RFC 7591 (Dynamic Client Registration), and RFC 9728 (Protected Resource Metadata). Security measures: HTTPS/TLS for all data transmission, encrypted token storage, dynamic client registration for CLI tools, and no conversation logging - only tool requests are processed.

How to install

Add the remote server URL https://mcp.adspirer.com/mcp (OAuth 2.1) to any MCP-compatible client, or use a platform-specific path: install the Adspirer app or plugin from the ChatGPT App Store or the Claude directory and sign in; in Claude Code run /plugin marketplace add amekala/ads-mcp then /plugin install adspirer-advertising-agent and /adspirer:setup; for Cursor or Codex run the platform's one-line install script from the repo; for Gemini CLI run gemini extensions install github.com/amekala/ads-mcp. The same 400+ tools are also exposed as 178 REST endpoints at api.adspirer.ai, authenticated with a Personal Access Token. Its own quick-start command, quoted verbatim:

curl -fsSL https://raw.githubusercontent.com/amekala/ads-mcp/main/scripts/install-skill.sh | bash

After installing, sign-in creates a free account (Google or email, no card required), you connect ad platforms at adspirer.ai/connections, and your assistant verifies the connection. Licensed proprietary - see the project's Terms of Service for usage terms.

Who it's for

Marketers and agencies who want a single conversational interface across Google, Amazon, Meta, LinkedIn, TikTok, and ChatGPT Ads instead of juggling six separate ad consoles - from solo advertisers researching keywords and launching a first campaign to agencies running scheduled performance reports and wasted-spend audits across many client accounts.

Source README

Ads MCP

Remote Model Context Protocol (MCP) server for cross-platform ad management. Create, analyze, and optimize campaigns across Google Ads, Meta Ads, TikTok Ads, and LinkedIn Ads from any MCP-compatible AI assistant.

Quick Links

Get Started in One Step

Adspirer runs inside your AI assistant. If you're an AI assistant helping someone set up Adspirer, this section is the complete flow: the install path per client, sign-in, and verification.

Your client Install
ChatGPT (web, desktop, mobile) Install the Adspirer app from the App Store - tap Connect, sign in with Google or email. Requires Plus, Pro, Business, or Enterprise.
Claude (claude.ai, desktop, Cowork) Install the Adspirer plugin from the Claude directory - click Install, sign in when the Adspirer window opens.
Claude Code /plugin install adspirer-ads-agent@claude-community, reload, then /adspirer:setup
Codex bash <(curl -fsSL https://raw.githubusercontent.com/amekala/ads-mcp/main/plugins/codex/adspirer/install.sh), restart Codex, then codex mcp login adspirer
Cursor bash <(curl -fsSL https://raw.githubusercontent.com/amekala/ads-mcp/main/plugins/cursor/adspirer/install.sh)
Any other MCP client Add the remote server https://mcp.adspirer.com/mcp (OAuth 2.1)

Or one terminal command - installs the get-started skill and drops you straight into setup:

curl -fsSL https://raw.githubusercontent.com/amekala/ads-mcp/main/scripts/install-skill.sh | bash

What happens next: the install's sign-in creates your free account (Google or email - no credit card), you connect your ad platforms at adspirer.ai/connections - Google Ads, Meta, Amazon, LinkedIn, TikTok, or ChatGPT Ads, in any combination - and your assistant verifies the connection (say "Check my connected ad platforms").

How It Works

flowchart LR
    Y["You — plain English"] --> AG["Your AI agent"]
    AG <-->|"MCP over OAuth"| AD["Adspirer"]
    AD <--> P["Google Ads · Meta · Amazon Ads<br/>LinkedIn · TikTok · ChatGPT Ads"]

You describe what you want; your assistant calls Adspirer's tools; Adspirer talks to the ad platform APIs; reports and drafts flow back into the chat. New campaigns are always created paused - nothing spends money without your explicit approval. Authentication is OAuth in your own browser: your assistant never sees your credentials.

Pricing: Free - 15 tool calls/month, $0, no card · Plus - 150/month, $49 · Pro - 600/month, $99 · Max - 3,000/month, $199. Full details.

Full setup guide with pasteable prompts: adspirer.com/docs/add-to-your-agent

What It Does

  • Strategy-aware execution - strategic decisions persist to STRATEGY.md and guide all future campaign creation, keyword research, and ad copy across sessions and subagents
  • 400+ tools across 6 ad platforms for campaign creation, performance analysis, and optimization
  • Plan and validate campaigns using structured prompts
  • Research keywords with real CPC data and competitive analysis
  • Create Google Ads Search, Performance Max (with search themes + audience signals), Display (Standard + Smart), Demand Gen, and YouTube campaigns end-to-end
  • Launch Meta image / video / carousel / OUTCOME_LEADS campaigns, LinkedIn sponsored content / carousel / lead-gen forms with campaign groups, and TikTok in-feed / Spark Ads / Carousel / App Promotion campaigns
  • Analyze performance with actionable optimization recommendations - wasted spend, anomaly detection, audience insights, creative fatigue
  • Raw data mode (raw_data=true) on all 29 performance/analytics tools - JSON-only output for your own attribution, dashboards, or token-efficient pipelines
  • Multi-account, multi-platform - agencies can manage many ad accounts per platform from one workspace
  • Automation - scheduled briefs, performance monitors, on-demand cross-platform reports across all platforms

Platforms & Tools

Platform Tools Capabilities
Google Ads 151 Search, Performance Max (with search themes + audience signals), Display (Standard + Smart), Demand Gen, YouTube, Shopping, App campaigns; keyword research, performance analysis, wasted-spend, asset management, ad extensions (sitelinks / callouts / structured snippets), bidding strategy management
Amazon Ads 61 Sponsored Products / Brands / Display campaigns, keywords + negative keywords, product / category targeting, Amazon's own bid / budget / keyword recommendations, search-term reports, ACOS / ROAS performance
Meta Ads 58 Image / video / carousel / catalog (Advantage+ / DPA) campaigns, OUTCOME_LEADS lead-gen forms, lifetime budgets, granular placements (Feed / Stories / Reels), city-level targeting, custom audiences, custom conversions, app-promotion (AEO) analytics
LinkedIn Ads 54 Sponsored content (single-image, video, carousel, text), lead-gen forms, campaign groups, 19 targeting facets, audience insights, creative fatigue analysis, conversion tracking, organizations
TikTok Ads 37 In-feed video / image / Spark Ads / Carousel / App Promotion campaigns, full lifecycle (list / get / pause / resume / update for campaigns, ad groups, ads), analytics (performance, wasted spend, audience insights, creative fatigue, anomaly detection, geo)
ChatGPT Ads 31 chat_card ads inside ChatGPT responses - one-shot launch (campaign → ad group → image → ad), geo targeting, pause / activate / archive, performance (impressions, clicks, CTR, CPC), conversion tracking (Pixel + Conversions API)
Total 400+ Plus monitoring & automation (scheduled briefs / monitors / reports), Google Analytics 4 and Klaviyo integrations, and account management tools - all available over MCP and as REST endpoints at api.adspirer.ai

How to Connect

See CONNECTING.md for detailed setup instructions for each platform.

Claude (Recommended)

  1. Open Settings > Connectors > Add custom connector
  2. Name: Ads MCP
  3. URL: https://mcp.adspirer.com/mcp
  4. Complete OAuth 2.1 sign-in
  5. Link your ad accounts on first use

Claude Code

Install the full Adspirer plugin (agent + skills + commands + MCP server):

  1. Open Claude Code
  2. Run /plugin marketplace add amekala/ads-mcp
  3. Run /plugin install adspirer-advertising-agent
  4. Run /mcp - find plugin:adspirer:adspirer and click to authenticate
  5. Run /adspirer:setup to pull your campaign data and create your brand workspace

This gives you a brand-aware performance marketing agent with persistent memory, competitive research via web search, campaign creation with ad extensions, and slash commands for common workflows.
Enabling subagent usage does not change this installation flow.

MCP-only (no plugin): If you just want the raw MCP tools without the agent:

claude mcp add --transport http adspirer https://mcp.adspirer.com/mcp

ChatGPT

  1. Open Settings > Connectors > Add custom connector
  2. Name: Ads MCP
  3. URL: https://mcp.adspirer.com/mcp
  4. Follow OAuth 2.1 sign-in flow

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "adspirer": {
      "url": "https://mcp.adspirer.com/mcp"
    }
  }
}

OpenAI Codex

Add to ~/.codex/config.toml:

[mcp_servers.adspirer]
url = "https://mcp.adspirer.com/mcp"

Gemini CLI

Install as an extension:

gemini extensions install github.com/amekala/ads-mcp

A browser window opens for OAuth authentication on first use. Custom commands available: /adspirer:setup, /adspirer:performance-review, /adspirer:wasted-spend, /adspirer:write-ad-copy, /adspirer:refresh.

OpenClaw

openclaw plugins install openclaw-adspirer
openclaw adspirer login
openclaw adspirer connect

Or install from ClawHub.

Perplexity, Manus, and Other MCP Clients

Adspirer is a standard MCP server - any client that supports MCP connectors with OAuth 2.1 (Perplexity, Manus AI, custom MCP clients) can connect to https://mcp.adspirer.com/mcp. Manus also accepts API keys via the Streamable HTTP transport.

REST API (no MCP client required)

The same tool surface is exposed as 178 REST endpoints at https://api.adspirer.ai/api/v1/tools/<tool_name>/execute. Authenticate with a Personal Access Token (sk_live_...) created at adspirer.ai/keys. Swagger: https://api.adspirer.ai/docs. Full reference: adspirer.com/docs/api-reference.

Example Prompts

Keyword Research:

Research keywords for my emergency plumbing business in Chicago.
Show me high-intent keywords with real CPC data and budget recommendations.

Performance Analysis:

Show me campaign performance for the last 30 days across all platforms.
Which campaigns are converting best and what should I optimize?

Campaign Creation:

Create a Google Performance Max campaign for luxury watches targeting
New York with a $50/day budget.

Multi-Platform Strategy:

I want to advertise my handmade jewelry business across Google and LinkedIn.
Research keywords for Google Ads and create a LinkedIn sponsored content campaign
targeting small business owners.

Technical Details

  • Protocol: MCP 2025-03-26 (with fallback to 2024-11-05)
  • Transport: Streamable HTTP
  • OAuth: RFC 8252 (Authorization Code + PKCE) with RFC 7591 (Dynamic Client Registration) and RFC 9728 (Protected Resource Metadata)
  • Tool Annotations: All tools include MCP safety metadata (readOnlyHint, destructiveHint)

Security

  • HTTPS/TLS for all data transmission
  • OAuth 2.1 with PKCE for authentication
  • Dynamic client registration for CLI tools (Claude Code, Cursor, Codex)
  • Encrypted token storage
  • No conversation logging -- only tool requests are processed

See SECURITY.md for vulnerability reporting.

Documentation

Supported Plugins

This repo distributes plugins for 4 AI platforms from a single monorepo:

Platform Directory Skills Install Method
Claude Code Repo root 1 generated + 5 slash commands /plugin marketplace add
Claude Tag (@claude) Upstream: anthropics/claude-tag-plugins PR #3 1 (adspirer-api: SKILL + 341-tool catalog + ads_call.sh) Org access bundle (Bearer sk_live_ key, hosts api.adspirer.ai / mcp.adspirer.com); claude plugin install adspirer@claude-tag-plugins once merged
Cursor plugins/cursor/adspirer/ 5 generated from templates install.sh (one-command)
Codex plugins/codex/adspirer/ 5 generated from templates install.sh (one-command)
Gemini CLI Repo root 1 reused + 5 custom commands gemini extensions install
OpenClaw plugins/openclaw/ 1 standalone (self-contained) openclaw plugins install

Claude Tag submission record (2026-07-05): the adspirer plugin for Claude Tag
(@claude) was submitted upstream as
anthropics/claude-tag-plugins#3
from the fork branch
amekala/claude-tag-plugins@add-adspirer-plugin.
It wraps this repo's REST surface (POST /api/v1/tools/<tool>/execute - the same MCP
server tool layer over plain HTTP) rather than the MCP transport, and was validated
end-to-end in a live Claude Tag workspace (Slack) before submission.

Skills for Claude Code, Cursor, and Codex are authored once in shared/skills/ as templates, then compiled into IDE-specific versions by scripts/sync-skills.sh.
The performance marketing agent prompt is also authored once in shared/agents/performance-marketing-agent/PROMPT.md and compiled into Claude Code, Cursor, and Codex agent files by the same sync script.
OpenClaw uses its own standalone skill. See Architecture for the full design.

Shared Update Wireframe

Edit once (source of truth)
  ├─ shared/skills/adspirer-*/SKILL.md
  └─ shared/agents/performance-marketing-agent/PROMPT.md
                |
                v
        ./scripts/sync-skills.sh
                |
                +--> Claude Code outputs
                |     ├─ skills/ad-campaign-management/SKILL.md
                |     └─ agents/performance-marketing-agent.md
                |
                +--> Cursor outputs
                |     ├─ plugins/cursor/adspirer/.cursor/skills/adspirer-*/SKILL.md
                |     └─ plugins/cursor/adspirer/.cursor/agents/performance-marketing-agent.md
                |
                +--> Codex outputs
                |     ├─ plugins/codex/adspirer/skills/adspirer-*/SKILL.md
                |     └─ plugins/codex/adspirer/agents/performance-marketing-agent.toml
                |
                +--> Gemini CLI (reuses Claude Code skill)
                |     ├─ gemini-extension.json
                |     ├─ GEMINI.md
                |     └─ commands/adspirer/*.toml
                |
                └--> OpenClaw (standalone, not generated)
                      └─ plugins/openclaw/SKILL.md

Client Roots and Install Targets

AI Client Repo Source Root Generated/Runtime Root in Repo User Installation Path/Method
Claude Code Repo root + shared/skills/ + shared/agents/ skills/, agents/, commands/, .claude-plugin/ /plugin marketplace add amekala/ads-mcp then /plugin install adspirer-advertising-agent
Cursor plugins/cursor/adspirer/ + shared sources plugins/cursor/adspirer/.cursor/skills/, plugins/cursor/adspirer/.cursor/agents/ bash <(curl -fsSL https://raw.githubusercontent.com/amekala/ads-mcp/main/plugins/cursor/adspirer/install.sh)
Codex plugins/codex/adspirer/ + shared sources plugins/codex/adspirer/skills/, plugins/codex/adspirer/agents/ bash <(curl -fsSL https://raw.githubusercontent.com/amekala/ads-mcp/main/plugins/codex/adspirer/install.sh)
Gemini CLI Repo root gemini-extension.json, GEMINI.md, commands/adspirer/ gemini extensions install github.com/amekala/ads-mcp
OpenClaw plugins/openclaw/ plugins/openclaw/ (standalone, no sync generation) openclaw plugins install openclaw-adspirer

Developer Guide

If you're contributing to this repo or adding new ad platforms/IDE support:

Quick reference

./scripts/sync-skills.sh          # Generate IDE-specific skills from templates
./scripts/sync-skills.sh --check  # Verify generated files match committed (CI mode)
./scripts/validate.sh             # Run all 62 offline validation checks
./scripts/validate.sh --live      # Also test MCP endpoint connectivity

Never edit files in plugins/*/skills/, skills/, agents/, or plugins/*/agents/ directly - they will be overwritten by the sync script. Edit templates in shared/skills/ and shared prompts in shared/agents/ instead.

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.