
Managing Meta Ads With Claude
Meta released its official AI connector on 29 April 2026. You can now query your ad account from inside Claude in plain language — with no third-party company in the middle, since authentication runs directly between you and Meta.
Below are both setups: the Cowork side (no technical knowledge needed) and the Claude Code side (terminal). At the end I’ve written what not to trust it with, because that’s the part that actually matters.
What the connector gives you
The official connector runs at mcp.facebook.com/ads and exposes 29 Marketing API tools in four groups:
- Performance reporting — metrics at account, campaign, ad set and ad level, with placement, device and demographic breakdowns
- Campaign management — creating and updating campaigns, ad sets and ads
- Catalogue management — product feeds, error fixes, item visibility
- Signal diagnostics — pixel health, Conversions API validation, event match quality
These work identically across Facebook, Instagram (feed, stories, reels) and Audience Network placements.
The Cowork / Claude app side
No technical knowledge required — five steps:
- Open Claude and go to Customize
- Choose Add custom connector and give it a name
- Paste
https://mcp.facebook.com/adsas the address - Sign in with Facebook and select which business portfolios it may reach
- Start a new chat and enable the connector
That last step is the one people skip before concluding it doesn’t work — the connector isn’t added retroactively to an existing chat.
The connector works on every plan, including free; the free tier allows one connector at a time, Pro and Max have no limit. The connector itself is free during the beta.
The Claude Code side
One command in the terminal:
claude mcp add --transport http meta-ads https://mcp.facebook.com/ads
Then type /mcp inside Claude Code and complete the Facebook sign-in — remote servers authenticate over OAuth 2.0, so you never paste a token into the command. To confirm it connected:
claude mcp get meta-ads
Scope matters. The --scope flag offers three: local (this machine, this project only), project (written into the repo, visible to your team), user (all projects on that machine). Don’t put a connector that reaches a client’s ad account into project scope and commit it — it lands in every teammate’s session. Working solo, user is the practical choice.
⚠️ One note: Claude Code can also see your claude.ai connectors. Two definitions pointing at the same address are treated as one, so setting it up in both the app and the terminal won’t produce a duplicate connection.
Which one for what
The Cowork side is better for reports and documents: weekly client reports, comparison tables, decks. You get the output directly as a spreadsheet or presentation.
The Claude Code side is better for repetitive work you can script: sweeping several accounts in sequence looking for anomalies, writing results to a file, running it as a scheduled task.
I use both: client-facing reports on one side, multi-account audit sweeps on the other.
There are two ways to connect — don’t conflate them
This is where people get confused: there are two routes into Meta, and the difference in effort comes not from Claude but from who runs the server.
1. The official connector (what I described above). Meta runs the server. You paste an address and sign in with Facebook. You don’t create an app, you don’t pick permissions, and no token ever reaches your hands — Meta already built the app on their side, and you’re authorising theirs.
2. Your own app plus the Marketing API directly. You create an app in Meta, define a system user, grant permissions one by one, and mint a long-lived access token. Then you put that token in a config file. That’s the part that takes an afternoon.
Why does the second one exist? Because the official connector only works from a chat interface. If you’re writing your own script, using a different agent or tool, or pulling data on a schedule, you need to reach the API directly with your own token.
Practical rule: if you’ll work conversationally inside Claude, the first route is enough — don’t touch the second. If you’re building your own automation, you need the second.
⚠️ If you have set up the second route, remember this: the token you minted is usually non-expiring and carries every permission you granted, and it sits in a plain-text file. Don’t commit that file, keep it out of backups, and revoke permissions you no longer use. The connector route carries none of that weight — you withdraw access from your Facebook account in one click.
What not to trust — don’t skip this part
It can’t see creative. The connector exposes text fields only, not images or video. The visual half of “which creative is working” is still a human judgement.
It can invent numbers. When a query is vague about date range or filters, the model tends to produce precise-looking figures. Verify every number that goes to a client against the panel. That isn’t a defect, it’s a usage rule.
It can’t reason about cause. Ask why performance dropped and you’ll get plausible-sounding answers, but it doesn’t see competitor bidding, seasonality or outside events.
It can’t make strategic calls. Bid strategy, budget allocation across funnel stages, a new product launch — that’s still where experience earns its keep.
The safety default is good news. Campaigns and ads it creates, along with significant budget changes, land paused and need human approval in Ads Manager before going live. Don’t loosen that deliberately.
The rule I work by
Before any write on a live account, three things: read and record the current value, write down what will change and how to undo it, then apply. However good the model gets, that order doesn’t change — because the cost of a wrong budget change is paid by the client, not the model.
Everything I do on the Meta side is on the Meta Ads page; Facebook and Instagram have their own.
Frequently Asked Questions
Does the connector cost anything?
Meta’s official connector is free during the beta and Meta hasn’t announced pricing. On the Claude side it works even on the free plan, with a one-connector limit.
Can it create campaigns, or only read?
It can create and update. But what it creates arrives paused; the decision to go live stays with you.
Does my data go to a third party?
Not with the official connector — authentication is directly between you and Meta. Third-party MCP servers also exist; with those, data passes through that company’s infrastructure. Ask about it before installing one.
Can I combine it with Google Ads data in one answer?
This connector only sees the Meta side. Combining both platforms in one report needs a separate setup — I handle that on the reporting side.
Should I set it up myself or have someone do it?
With a single account and a standard optimisation cycle, the setup is simple enough to do yourself. With multiple accounts, multiple platforms or high spend, the hard part isn’t the setup — it’s reading the data correctly.