Claude Code logo Meta Ads logo

Run Meta Ads from Claude Code

Manage Facebook and Instagram campaigns from your terminal — 36 Meta tools, agent-loop scripting, available on the official Claude plugin marketplace.

  • 36 Meta Ads tools, all in Claude Code

  • Paused-by-default. Cannot delete campaigns.

  • OAuth setup in ~2 minutes

See it in action

In Claude Code

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 Claude Code (Anthropic's terminal CLI) to your Meta ad accounts. Install in one command via the official `claude-plugins-official` marketplace (`/plugin install adspirer-ads-agent@claude-plugins-official`), authenticate once with OAuth, and Claude Code can run all 36 Meta tools from your terminal — image / video / carousel / Reels / DCO campaign creation, creative-fatigue detection, audience research, placement optimization, lead-form pulls, and ad-set management. Because Claude Code runs in agent loops, you can drop a multi-step brief, walk away, and come back to a finished report — or wire Adspirer prompts into shell scripts, cron jobs, and CI for nightly Meta audits. New campaigns always create paused, Adspirer cannot delete existing campaigns or modify budgets without confirmation, and the free tier (15 calls / month) covers a full audit before you upgrade.

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

Claude Code

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 Claude Code, 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

Claude Code shines on multi-step agent tasks — drop a brief, walk away, get a report.

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

Drop a brief in Claude Code: "every weekday at 9am, pull yesterday's Meta spend, ROAS, and frequency by campaign, flag anything with frequency > 3 or 7-day CTR decline > 20%, write the report to `reports/meta/$(date).md`." Wire it into cron via Claude Code's headless mode.

A daily creative-fatigue and pacing watch — written, scheduled, and version-controlled like any other shell script. Catches fatigue 1-2 weeks before manual review.

Compare & decide

Adspirer vs alternatives

For running Meta Ads from Claude Code.

Adspirer DIY MCP server Legacy SaaS dashboard
Install `/plugin install adspirer-ads-agent@claude-plugins-official` Build MCP server, write CLI plugin No CLI — dashboard only
Cost — entry tier Free (15 calls / mo) Hosting + maintenance $200-500 / mo minimum
Agent-loop / headless mode Yes — works in scripts, cron, CI Whatever you build No
Brand-workspace pattern `/adspirer:setup` → CLAUDE.md Manual No equivalent
Slash commands 5 prebuilt (setup, performance-review, write-ad-copy, wasted-spend, refresh-brand-context) Manual No
Multi-account Yes — `switch_primary_account` Manual per-account auth Yes — but each account billed
Write capability Image / video / carousel / Reels / DCO, paused on create Whatever you build Mostly read-only
Safety: cannot delete Hard-coded — no delete tool Up to you Varies

Pricing

Start free. Upgrade if you outgrow it.

Free Forever

$0

15 / mo

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

Start free →

Plus

$49 / mo

150 / mo

Performance analysis + standard campaigns.

Compare Plus →
Best for Claude Code

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: Claude API access (or Claude.ai Pro / Max). Most users finish in about two minutes.

Show setup steps for Claude Code

Add Adspirer to Claude Code

Run in your terminal:

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

Authenticate

Claude Code launches your browser for OAuth. Sign in to Adspirer and link your ad accounts.

Verify

Run claude and ask: Check my connected ad platforms. Tools should now appear in the available-tools list.

FAQ

Setup

What does the brand-workspace setup actually do for Meta Ads?

/adspirer:setup reads any brand docs in your folder (.md, .txt, .csv, .yaml, .json, .pdf), pulls your live Meta campaign data, identifies your top creatives + fatigued creatives + best audiences, and writes a CLAUDE.md with brand voice, current performance snapshot, and KPI targets. Every subsequent Meta prompt — copy generation, audience suggestions, creative briefs — uses that file as context, so the output sounds like your brand instead of generic ad copy.

Capabilities

Does the official Anthropic plugin marketplace actually list Adspirer?

Yes. Run /plugin in Claude Code, open the Discover tab, search adspirer — you'll see adspirer-ads-agent from claude-plugins-official. That marketplace is enabled by default, no custom marketplace setup needed.

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

Why use Claude Code instead of Claude on the web for Meta Ads?

Three reasons: (1) you can script it — drop a brief, walk away, come back to a written report; (2) it lives next to your code and brand docs (the CLAUDE.md / brand-workspace pattern reads .md, .csv, .yaml for voice and budget context); (3) the official adspirer-ads-agent plugin ships 5 slash commands and a performance-marketing subagent preconfigured. Web Claude is better when you want a visual chat; Claude Code is better when you want repeatability.

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.

Power user

Can I run Adspirer non-interactively from a shell script or cron?

Yes. Claude Code supports a headless / non-interactive mode — pipe a prompt in, Claude runs the agent loop using your Adspirer MCP connection, and writes output to stdout or a file. That's how teams set up nightly Meta audits, weekly creative-fatigue reports, and budget-pacing alerts without anyone watching the terminal.

Related integrations

Same Claude Code, different platform — or same Meta Ads, different AI client.

Go deeper

Ready to connect Claude Code to Meta Ads?

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

Try Adspirer free