PricingOpen the demo
Meta Ads logo

Meta Ads MCP

AI that can act inside Meta Ads – without being trusted blindly.

Meta's Marketing API can read every campaign and change any budget. Handing that to an AI through free-form prompts is how a typo becomes a five-figure mistake. MCP is the alternative: the API is exposed to the model as a small set of typed, permissioned tools, every write waits for a human, and everything is logged.

What is a Meta Ads MCP server?

A Meta Ads MCP server exposes Meta's Marketing API to an AI agent through the Model Context Protocol: instead of generating raw API calls, the model calls a fixed set of typed tools – read spend, read insights, pause an ad set, set a budget – each with validated parameters and its own permission. The agent can propose any change it can justify, but a write tool only executes after a human approves that specific call.

The surface, in full

Five tools. That is the point.

A small surface is a security feature: every tool the agent does not have is a mistake it cannot make. Reads run freely – that is how the case gets built. Writes wait for you.

ToolAccessWhat it does
get_campaignsreadCampaign structure, status and budgets across the account
get_insightsreadSpend, impressions and platform-reported results per ad set and ad
pause_ad_setwrite · approvalStop delivery on one ad set – the most common fix for a verified leak
set_budgetwrite · approvalChange a daily or lifetime budget, bounded by limits you set
set_bid_capwrite · approvalAdjust a bid cap without touching anything else on the ad set

Typed beats prompted

A tool with a schema cannot invent a field, target the wrong account or misplace a zero the way generated API calls can. The model chooses which tool to call; it does not compose the request.

Writes wait for you

Read tools run freely – that is how the AI builds its case. Write tools stop at an approval step naming the exact change. Our terms commit to this; it is not a setting that can drift.

Logged and revertible

Every executed call stores who approved it, the evidence cited, Meta's response and the state it replaced. Undo is one click, not an archaeology exercise.

One verdict, end to end

How one call travels through the tools.

This is the demo’s own Meta Ads verdict, followed from the first read to the log entry – real numbers, no hypotheticals.

  1. 01

    The read tools build the case

    get_insights pulls 30 days on Prospecting – Interests: €9,220 spent, Meta-reported ROAS 2.8. So far the campaign looks like a keeper – which is exactly why platform numbers alone cannot be the judge.

  2. 02

    Orders tell a different story

    Kepra matches the clicks against real orders: €6,450 actually returned, and 71% of those buyers never came back. The platform graded its own homework; the order book disagrees.

  3. 03

    The verdict is written, with its evidence

    After COGS the campaign is €5,200/mo underwater. The proposal names one call – pause_ad_set – and attaches every number it used to get there.

  4. 04

    You approve, or you do not

    The exact call sits in AI Actions waiting. Nothing has touched the ad account yet, and nothing will until a human clicks approve on this specific change.

  5. 05

    Execution, log, undo

    On approval the call executes against the Marketing API in about a second. The log stores who approved it, the evidence cited, Meta's response and the previous state – revert is one click.

The honest comparison

MCP vs Advantage+ vs automated rules.

Different jobs, not just different quality – which is why the comparison has columns instead of a winner’s podium. Some accounts run all three.

MCP + approvalAdvantage+Automated rules
Who defines "working"Profit after COGS and repeat behaviour, from your ordersMeta's own conversion countingWhatever metric you hardcoded
Sees your marginsYes – COGS from Shopify, refunds and fees includedNoNo
Human approvalEvery write, per callNone once enabledNone once enabled
Scope of actionPause, budget, bid – bounded by limits you setBroad automation inside Meta's own goalsOnly what each rule names
Audit trailFull: approver, evidence, response, one-click revertMeta's change historyMeta's change history

The loop, on Meta Ads – from the demo

The loop, on Meta Ads
Meta Ads logo

Meta Ads → Kepra

K
  1. Reading

    spend + matched orders

  2. Deciding

    profit after COGS and LTV

  3. Your call

    nothing moves until you say so

  4. Pushing

    executed over MCP, logged

Verdict: Prospecting – Interests spends €9,220/mo. Meta reports ROAS 2.8; matched against real orders it returned €6,450, and 71% of those buyers never came back. After COGS it is €5,200/mo underwater.

Pause campaignawaiting your approval
Stated limits

What it refuses to do.

A system that only claims wins is a brochure. These are the boundaries, stated as plainly as the features.

  • It never executes a write without a human approving that specific call – there is no autopilot mode to leave on by mistake.
  • It cannot spend outside the bounds you set. Budget tools carry hard limits, and a proposal beyond them is rejected before it reaches the approval step.
  • It does not create campaigns or creatives. The surface is deliberately small: pausing, budgets and bids cover the fixes that profit verdicts actually call for.
  • It does not trust Meta's own attribution. Proposals are argued from profit after COGS and matched orders – the platform's ROAS is an input, never the verdict.

Fair questions.

What is a Meta Ads MCP server?

A server that exposes Meta's Marketing API to AI agents as typed tools over the Model Context Protocol, an open standard introduced by Anthropic in 2024. The agent calls tools like get_insights or pause_ad_set with validated parameters instead of generating raw API requests, and write tools require human approval per call.

Why not just let an AI use the Marketing API directly?

Because generated API calls fail in expensive ways: a wrong account id, a misplaced zero in a budget, a paused campaign that should have been an ad set. Typed tools make those mistakes structurally impossible, and the approval gate catches the ones judgement can still make.

Does the AI change my campaigns on its own?

No. Read tools run freely to build the analysis; every write stops at an approval naming the exact change. That commitment is in our terms, not in a toggle.

Can I use Kepra's Meta Ads MCP today?

Kepra is in private development. The demo is open and shows the full loop on sample data; the waitlist is the way in when access opens.

What data does it read?

Campaign structure, spend and insights – what the ads_read permission covers. Kepra matches that against your orders to judge campaigns on profit after COGS rather than platform-reported ROAS.

Is it safe to give an AI access to my Meta ad account?

Safer than the alternatives, if it is done through typed tools: the agent cannot compose raw API calls, every write carries hard bounds and stops at a human approval, and every executed change is logged with one-click revert. The unsafe versions are the other ones – pasting API keys into a chat, or a browser agent clicking around Ads Manager unsupervised.

Meta Ads MCP or Advantage+ – which should I use?

They do different jobs and can coexist. Advantage+ optimises delivery inside Meta's own attribution and goals; it will never know your COGS or whether customers return. An MCP setup judges from profit and executes decisions you approve. Many accounts run Advantage+ for delivery and use the profit verdicts to decide what deserves budget at all.

See the loop run on sample data.

The demo is open – no signup. AI Actions shows a proposal, the evidence, and the approval step exactly as it ships.

Also running Google Ads? Google Ads MCP →