Gemini CLI logo Meta Ads logo

Run Meta Ads from Gemini CLI

Manage Meta Ads (Facebook + Instagram) campaigns inside Gemini CLI — 36 tools, OAuth setup in about 60 seconds, no dashboard switching.

  • 36 Meta Ads tools, all in Gemini CLI

  • Paused-by-default. Cannot delete campaigns.

  • OAuth setup in ~2 minutes

See it in action

In Gemini CLI

Pull my Meta Ads performance for the last 30 days. Show spend, conversions, CPA, and ROAS by campaign. Flag any campaigns with ROAS below 2.0.

Meta performance audit — A monthly audit that surfaces which campaigns to keep, kill, or scale.

Overview

Adspirer is the MCP server that connects Gemini CLI to your Meta Ads ad accounts, turning campaign management into a chat conversation. Google's Gemini CLI with MCP support. On the platform side, 36 tools cover manage Facebook, Instagram, Messenger, and Audience Network campaigns. Adspirer reads and writes — pull performance reports, audit launch new campaigns, launch new campaigns, pause underperformers, and reallocate budget — all from chat. New campaigns are always created paused so you can review before they go live, Adspirer cannot delete existing campaigns by design, and the free tier (15 tool calls / month, no credit card) is enough to run a full audit before you pay. Setup takes about 60 seconds via one CLI command.

Safety guarantees

  • New campaigns always created paused for review

  • Adspirer cannot delete existing campaigns

  • Budget changes need explicit confirmation

  • OAuth 2.1 + PKCE — passwords never seen

How it works

How it works

Gemini CLI

You ask in chat

prompt

Adspirer

36 tools, paused-by-default

tool calls

Meta Ads

Live data, paused for review

Step 01

Connect

Paste the MCP URL into Gemini CLI, OAuth into Meta Ads.

Step 02

Manage

Ask in chat. Adspirer routes through 36 Meta Ads tools.

Step 03

Scale

Switch accounts in chat. Same audits across every client.

What you can do

36 tools across Meta Ads. The ones you'll use most:

  • Launch new campaigns — Build image, video, carousel, DCO, or Reels campaigns from a brief. Adspirer validates creative against Meta's requirements, plans the ad sets, and creates everything paused so you review before going live.

  • Pause underperformers — Pause individual ads, ad sets, or full campaigns by name from chat. Resume them later just as easily — Adspirer cannot delete existing campaigns (hard-coded safety).

  • Audit creative fatigue — Surface ads that have been running 14+ days with declining CTR — Adspirer recommends which creatives to refresh before they tank performance.

  • Find wasted spend — Flag campaigns running under your ROAS threshold so you can pause or reallocate budget. Works across active and paused campaigns.

  • Research audiences — Search Meta's targeting catalog by interest, demographic, or behavior. Browse existing custom audiences (lists, lookalikes, website, engagement) before building new ones.

  • Pull lead-form submissions — List configured lead forms and pull recent submissions, grouped by campaign — route them into your CRM workflow without leaving chat.

  • Optimize placements & budget — Compare CPA across Feed, Stories, Reels, Marketplace, and Audience Network. Reallocate budget toward winning ad sets — Adspirer never increases an existing budget without explicit confirmation.

  • Diagnose anomalies — When CPA spikes or CTR drops, ask why. Adspirer inspects audience changes, creative rotation, and platform-level events to explain the cause and recommend a fix.

Campaign types

Every Meta Ads format Adspirer supports — request one in chat.

Image campaigns

Single-image ads across Feed, Stories, and Marketplace. 1080×1080 minimum, validated before launch.

Video campaigns

Video ads up to 240s, 1:1 / 4:5 / 9:16 aspect ratios. MP4 or MOV, validated against Meta's spec.

Carousel campaigns

2–10 cards per ad, each with their own creative + headline + link. Great for product catalogs.

Reels campaigns

Vertical video for Instagram Reels and Facebook Reels. 9:16 aspect, optimized for mobile feeds.

Lead Gen Forms

On-platform forms that capture leads inside Facebook / Instagram — no landing page needed.

DCO (Dynamic Creative Optimization)

Provide multiple creative variants; Meta auto-mixes images, headlines, and descriptions to find winners.

More prompts to try

Gemini CLI is in active development; expect rough edges.

Creative fatigue check — Catch fatigued ads before they drag down ad-set performance.

Creative fatigue check
Check my Meta campaigns for creative fatigue. Find ads that have been running 14+ days with declining CTR. Recommend which creatives to refresh first.

Lead-form pull — Quick pull of lead-gen data without leaving chat.

Lead-form pull
List my Meta lead forms and pull the last 50 submissions from the highest-volume one. Group by campaign and show submission rate.

Diagnose a CPA spike — Anomaly diagnosis that explains *why*, not just *that*.

Diagnose a CPA spike
My CPA on the "Spring Sale 2026" Meta campaign jumped 40% in the last 5 days. Diagnose what changed — audience, creative, placement — and tell me what to fix.

Who this is for

Each Monday, ask Gemini CLI to pull last week's Meta Ads performance, surface campaigns running below your ROAS threshold, and recommend creative refreshes for fatigued ads.

Replaces a 60–90 minute manual review with a 5-minute chat, and surfaces problems before they tank ad-set performance.

Compare & decide

Adspirer vs alternatives

For running Meta Ads from Gemini CLI.

Adspirer DIY MCP server Legacy SaaS dashboard
Setup time ~60 seconds via one CLI command 2–4 hours building MCP server 30–60 min onboarding + sales call
Cost — entry tier Free (15 calls / mo) Hosting + maintenance $200–500 / mo minimum
Works inside Gemini CLI Yes — one CLI command Yes (if you build it correctly) No — external dashboard only
Multi-account Yes — switch in chat Manual per-account auth Yes — but each account billed
Read + Write Full read + write (create / pause / update) Whatever you build Mostly read-only or seat-gated writes
Safety: cannot delete Hard-coded — no delete tool Up to you Varies
Pricing transparency Public — $0 / $49 / $99 / $199 Self-hosted Often quote-only

Pricing

Start free. Upgrade if you outgrow it.

Free Forever

$0

15 / mo

All platforms. ChatGPT & Claude access. No credit card.

Start free →
Best for Gemini CLI

Plus

$49 / mo

150 / mo

Performance analysis + standard campaigns.

Compare Plus →

Pro

$99 / mo

600 / mo

AI optimization, bulk ops, deeper diagnostics.

Compare Pro →

Max

$199 / mo

3,000 / mo

Priority support (24h SLA), custom integrations.

Compare Max →

Configure

Required: Google AI Studio API access. Most users finish in about two minutes.

Show setup steps for Gemini CLI

Add Adspirer as an MCP server in Gemini CLI

Edit your Gemini CLI MCP config and add an entry pointing to https://mcp.adspirer.com/mcp.

FAQ

Setup

Do I need a developer to set this up?

Some terminal comfort helps but you don't need to be a developer — adding the MCP server is one command (claude mcp add --transport http adspirer https://mcp.adspirer.com/mcp or the equivalent for your CLI). OAuth happens in your browser. Total time: about 60 seconds.

Capabilities

Can I switch from Gemini CLI to a different AI client later?

Yes. Your Adspirer account is independent of the AI client — sign up once, then connect the same MCP URL from ChatGPT, Claude, Cursor, Codex, Windsurf, or any supported client. Tool calls are pooled across clients on the same plan; switching costs you nothing.

What ad formats does Adspirer support on Meta?

Image, video, and carousel campaigns are fully supported. Lifetime budgets, end dates, placement controls, and Dynamic Creative Optimization (DCO) are all available. Stories, Reels, and Audience Network placements are controlled at the ad-set level.

What's the minimum budget?

Meta requires $5/day per ad set. Adspirer recommends $20+/day for meaningful test data and $30/day split across 2-3 ad sets to find winners faster.

Workflows

Does Adspirer generate Meta creatives (images / videos)?

No. Adspirer does not generate creative assets. You provide a public URL to your image or video (Google Drive, Dropbox, S3, or any public link) and Adspirer validates that it meets Meta's requirements before launching the ad.

How does Adspirer handle the Meta campaign-creation workflow?

Meta requires a 6-step sequence: verify the connection → search targeting → choose campaign type (image/video/carousel) → discover existing assets → validate creatives → create campaign. Adspirer enforces this order — skipping a step would cause Meta's API to reject the campaign.

How are leads from Meta lead forms surfaced?

Use list_meta_lead_forms to see configured forms, then get_meta_lead_form_submissions to pull recent submissions. Adspirer doesn't push leads into your CRM directly — it returns the submission data so you can route it through Zapier, Make, or a custom integration.

Compare

What's the read vs. write boundary on Meta Ads?

Adspirer is full read and write. It can pull reports, audit performance, and analyze data (read), and it can launch new campaigns, pause underperformers, update budgets, and adjust targeting (write). Two safety guardrails are hard-coded: new campaigns are always created paused so you review before they go live, and Adspirer cannot delete existing campaigns. You keep full control.

Safety & control

Can Adspirer pause or delete my existing Meta campaigns?

Adspirer can pause campaigns when you explicitly ask it to, but it cannot delete existing campaigns or ad sets. New campaigns are always created paused so you can review before they go live.

Related integrations

Same Gemini CLI, different platform — or same Meta Ads, different AI client.

Go deeper

Ready to connect Gemini CLI to Meta Ads?

Start free — 15 tool calls per month, no credit card. Setup takes about 2 minutes.

Try Adspirer free