Claude Code logo
Meta Ads logo
AI Client · Claude Code Ad Platform · Meta Ads 36 tools

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.

15 tool calls / month free · No credit card · Setup in ~2 minutes

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.

What you can do

36 tools across Meta Ads. The eight 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 you can launch

Every Meta Ads format Adspirer supports — request one in chat and Claude Code builds the campaign paused for review.

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.

Sample prompts

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

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

Meta performance audit
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.

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.

Launch an image campaign — End-to-end image campaign creation, with creative validation first.

Launch an image campaign
Create a Meta image campaign: - Product: Organic skincare line for women 25-45 - Target: Women interested in clean beauty, sustainability, wellness - Budget: $30/day - Creative: <Google Drive link> - Objective: Website conversions (Add to Cart) Validate the creative first, then build the campaign — keep it paused.

Optimize placements — Move spend toward the placements that are actually converting for you.

Optimize placements
Analyze my Meta ad placements for the last 14 days. Which placements have the best CPA — Feed, Stories, Reels, Marketplace, or Audience Network? Recommend budget shifts.

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

Real workflows from people running Meta Ads through Claude Code.

Growth engineer on a B2C team running scripted Meta ops

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.

Outcome: 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.

DevOps-flavored agency operator running Meta for 5+ clients

Use the brand-workspace pattern: `cd ~/clients/{brand} && claude` triggers `/adspirer:setup`, which scans the brand's `CLAUDE.md` for voice + audience and pulls live Meta data. Repeat per client; every audit follows the same SOP.

Outcome: Cuts onboarding a new Meta client from a half-day setup to about 10 minutes, and every weekly audit runs the same sequence regardless of who's on call.

Marketing engineer at a DTC startup automating creative refreshes

Write a Claude Code prompt that loops: detect creative fatigue → pull top-performing creative briefs from `briefs/` → draft 3 replacement copy variants → output a paused duplicate campaign via `duplicate_meta_campaign`. Run it whenever a CTR alert fires.

Outcome: Fatigue-detection-to-replacement-creative-brief in a single agent run; the marketer reviews briefs in the morning, ships them by lunch.

Solo founder who already uses Claude Code for product work

Same terminal that builds the product now manages the Meta launch. Brief Claude Code: "build a Meta image campaign at $30/day for our beta list lookalike, validate the creative URL, write three primary text variants, create paused" — review the output and unpause when ready.

Outcome: No new tool to learn, no Ads Manager UI required; product code and ad ops live in the same terminal session.

Adspirer vs alternatives

For running Meta Ads from Claude Code.

Capability Adspirer (this page) 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 →

Pro

Recommended

$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 →

How it works

From sign-up to your first launched campaign in three steps.

1

Connect

Paste the Adspirer MCP URL into Claude Code, complete OAuth in your browser, and link your Meta Ads account. About 2 minutes.

2

Manage

Ask Claude Code for an audit, launch a new campaign, pause underperformers, or pull a report. Adspirer handles the 36 Meta Ads tools behind the scenes.

3

Scale

Switch between accounts in chat, run the same audit across clients, and let agency SOPs live in your AI assistant — no extra dashboard logins.

Frequently asked questions

About running Meta Ads from Claude Code.

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.

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.

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 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.

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.

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.

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.

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.

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.

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.

Connect Claude Code to Adspirer

For technical readers — the exact steps. Most users finish this in about 2 minutes. Required: Claude API access (or Claude.ai Pro / Max).

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.

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

Last updated April 28, 2026.