TL;DR: Meta's official Ads MCP server lets an AI app such as Claude, ChatGPT, or Perplexity read your ad account and make changes to it. Since July 16, 2026 you can also connect it through your own Meta developer app, and a business admin can set rules for each ad account and catalog, such as blocking campaign creation, blocking budget edits, or capping budgets at a dollar amount. Set those rules before the agent's first write. Meta says connecting through its server doesn't put an account at risk on its own. What does is the same list as before agents existed, which is ads that break Meta's advertising standards, plus abnormal API traffic and budget changes nobody reviewed. Meta requires advertisers to disclose AI only in ads about social issues, elections, or politics. It labels AI-made images and video in other ads itself.
Correction, November 2026: Earlier versions of this post said Meta required every advertiser to apply an "AI Content Label" from March 2026, that undisclosed AI was the third-largest ad rejection reason, and that strikes followed a fixed ladder ending in a ban. Meta's documentation doesn't support any of those claims. Meta requires AI disclosure only for ads about social issues, elections, or politics, and it labels AI-made images and video in other ads itself. This version is rewritten from Meta's current help and developer pages.
Searches for "meta ads mcp" peaked at 3,600 a month in July 2026, when Meta shipped the account rules. Most of what ranks now is connector vendors and agency explainers. Meta's own docs explain the controls clearly but are scattered across a help article, a developer blog post, and a reference page in limited availability.
This guide is for operators who want an agent working in their Meta account without handing it the keys to the budget. It covers what the server does, how to connect it, which rules to set first, and what gets ad accounts restricted.
What the Meta Ads MCP server is
Meta launched Meta ads AI connectors in open beta on April 29, 2026. They are two things under one name. The first is an MCP server Meta hosts at https://mcp.facebook.com/ads, for AI apps that support MCP connectors. The second is the Ads CLI, a command-line tool (meta ads <resource> <action>) for terminal agents and scripts. This post covers the launch alongside Higgsfield's MCP, which shipped the next day.
Meta's help article lists what the server covers.
- Reporting and insights on campaign performance
- Creating and editing campaigns, ad sets, ads, and creative (single image, single video, carousel, and product media carousel)
- Custom audiences
- Partnership ads, including boosting existing posts
- Catalogs, product sets, and feed troubleshooting
- Signal diagnostics for the pixel and datasets
- A/B tests and conversion lift studies
- The account's activity log
Two details matter before you let an agent write anything. Meta's tool documentation says write tools create new entities in a paused state, and the AI app asks you to confirm before activation. The help article describes a draft mode that "saves new campaign work for review before publishing." Either way, new work waits for a confirmation before it runs. The help article also says every action taken on your behalf needs your authorization through the AI app.
Meta's tools page names ChatGPT, Claude, and Perplexity as supported apps and says the server has no added cost from Meta. The help article warns that some accounts don't have every feature yet.
What changed in July 2026
Meta's developer post of July 16, 2026, updated September 22, made two changes.
Any developer can connect through their own Meta app. You add the use case in your app's dashboard (Use cases, then Add use cases, then Ads and monetization, then "Create & manage ads with ads MCP server"). Authentication runs through Facebook Login for Business, or through an access token you manage yourself. Meta's setup docs say only Employee-role system user tokens work; Admin-role system user tokens can't access the server. The minimum permissions are ads_mcp_management plus ads_read or ads_management, and catalog, page, and Instagram permissions add more tools. If you manage ad accounts for other businesses, as an agency does, Meta says you need to submit your app for review and request Advanced Access on ads_mcp_management.
Owning an app is optional. The hosted connector works without one.
Account admins can set rules for agents. Anyone with full control of a business portfolio can allow or block specific agent actions for each ad account and each catalog. Meta's examples are editing budgets, creating campaigns, and editing catalogs, and its server enforces the rules. A partner with access to your ad account can set rules too, but theirs apply only to their own employees.
The September 22 update added a Marketing API endpoint for setting rules in bulk across many accounts and catalogs. Meta's rules guide says the API is in limited availability. It lists these actions for ad accounts.
| Action | What it blocks |
|---|---|
create_campaign, create_ad_set, create_ad |
Creating new campaigns, ad sets, or ads |
edit_budget |
Budget changes, with triggers for a percentage change, an absolute change, or an absolute maximum |
edit_targeting |
Targeting changes |
edit_creative |
Creative changes |
edit_status |
Turning things on or off |
all |
Every agent action |
Catalogs have edit_catalog_products, edit_catalog_product_sets, and all. Each rule covers one action on one ad account or one catalog. There is no single switch for a whole business portfolio.
The docs leave a few things out. There is no explicit read-only rule, and they don't say whether all also blocks reporting. They also don't say what error an agent gets when a rule blocks it, only that the request is denied.
How to connect it
The hosted connector. Add https://mcp.facebook.com/ads as a custom connector in your AI app and sign in with Facebook. You don't need a developer app, an API key, or any code. Your Facebook login needs access to the ad account, and the AI app has to support custom MCP connectors.
Your own Meta app. Meta's setup docs give this command for Claude Code.
claude mcp add --transport http --client-id YOUR_META_APP_ID meta-ads https://mcp.facebook.com/ads
The app's redirect URL has to match the MCP client you're connecting. Use this route if you're building the connection into your own product, or if you're an agency that needs Advanced Access.
The Ads CLI. Install it with Homebrew (brew tap facebook/fb then brew install facebook/fb/meta-ads) or with pip install meta-ads on Python 3.12 or newer. It authenticates with a system user token and creates new resources paused by default. The CLI suits terminal agents and scheduled scripts. For a chat app, use the MCP server. The account rules in the next section are enforced by the MCP server, so a CLI setup needs its own limits, starting with a system user that has only the access the job needs.
Whichever path you pick, set the rules in the next section before the agent makes its first change.
Set the rules before you connect
Rules live in Meta Business Suite. Go to Settings, select Ads MCP server under Integrations, pick the ad account or catalog, and switch each action to Allowed or Blocked. If you don't see Ads MCP server there, your business doesn't have the feature yet. Once anything is blocked, the account shows Limited next to "Take actions in this ad account."
This is a sensible order for opening things up at a DTC brand.
Day one, reporting only. Block creating campaigns, ad sets, and ads. Block budget, targeting, and status changes. Block catalog product and product set edits. Leave reporting alone. The agent can still pull performance, compare ads, and draft recommendations, and you see how it reasons about your account before it can change anything.
Week two, creative drafts. Allow creating ads and editing creative so the agent can build replacement ads for the ones that are dying. New ads still start paused or as drafts, so a person still decides what goes live. Keep budgets, targeting, status, and catalog edits blocked.
Budgets, carefully or never. Meta's help article gives two options. You can set "Edit or set budget" to Blocked, or allow budget edits and block "Budgets set above this amount," for example anything over $1,000. The API version adds percentage-change caps. Budget is the setting where an agent's mistake costs money fastest, and Meta's API allows only four ad set budget changes per hour anyway, so an agent gains little speed from controlling it. If you allow it, cap it.
Catalogs, blocked unless you have a reason. A bad catalog edit reaches every ad that pulls from that catalog. Have the agent diagnose feed problems and write up the fixes, and make the edits yourself.
Rules apply per ad account and per catalog, so repeat them for each one. If an agency runs your ads, ask what rules it has set for its own staff's agents.
What gets a Meta ad account restricted
Meta's help article answers the ban question directly. It says connecting through its server is safe and that it's "unlikely that an account would be banned simply for using it." It adds that bans typically follow violations of Meta's advertising standards, such as running noncompliant ads or creating new accounts to evade enforcement.
An agent makes those violations easier to commit at scale. There are three to watch.
1. Ads that break Meta's advertising standards
This is still the main cause. Meta reviews every ad, mostly automatically, before it goes live and can review it again while it runs. A rejected ad is one problem. Repeated violations can lead to spending limits, lost features, or a disabled ad account. Meta's help center says an ad account disabled for policy violations that stays ineligible for six months can't be reinstated.
For DTC brands, the usual trouble spots haven't changed.
- Health and supplement claims Meta treats as medical claims
- Before-and-after images that imply unrealistic results
- Misleading pricing or discounts
- Restricted categories and the targeting limits that come with them
An agent that writes and launches ads quickly will produce more policy problems unless something checks its copy first. That check belongs in your brand guardrails, and it needs to run before every push. The MCP connection adds no protection here.
2. Abnormal API traffic
Meta's Marketing API has limits that apply whether the call comes from the MCP server, the CLI, or your own code. These are the limits on Meta's rate-limiting page.
- Limits are counted per ad account. On Full access (formerly standard), the maximum score is 9,000, where a read costs 1 point and a write costs 3. The score decays over 300 seconds, and going over it blocks calls for 60 seconds. Limited access (formerly development) allows a score of 60 and blocks for 300 seconds.
- Creating and editing campaigns, ad sets, and ads is capped at 100 requests per second for each app and ad account pair.
- Each object can be edited once every 30 seconds, ad set budgets can change four times an hour, and the account spending limit can change ten times a day.
The page also describes abuse prevention. When Meta detects abnormal traffic, it can temporarily cut that account's API quota, and its advertising-restrictions page lists unusual activity as a reason for temporary restrictions. That is the real link between agent speed and account trouble. An agent that retries in a tight loop looks like abnormal traffic.
The pacing rules in the DTC Stack are simple. Run no more than five consecutive writes without a pause, stop the batch on a rate-limit error rather than retrying, and back off when the usage headers Meta returns (X-Ad-Account-Usage and X-Business-Use-Case) pass 75%.
3. Unofficial connectors
Starting in early 2026, some advertisers reported ad account restrictions after connecting AI agents through unofficial connectors. Jon Loomer collected several of these reports in March, and Digiday covered the same concern in April. The reports are anecdotal, and Meta hasn't confirmed a link. Meta's official server removes that question, since the connection is Meta's own. Third-party servers are covered below.
What Meta requires for AI-made ad creative
This is the part earlier versions of this post got wrong.
Ads about social issues, elections, or politics. Advertisers must disclose when one of these ads contains a photorealistic image, video, or realistic-sounding audio that was created or edited with AI. This rule has applied since January 2024. Through the API, the ad creative's authorization_category field takes the value POLITICAL_WITH_DIGITALLY_CREATED_MEDIA. Most DTC brands never run these ads, but an agent should know to stop and ask if a brief drifts into politics.
Every other ad. The advertiser doesn't have to disclose anything. Per Meta's AI info help page, Meta adds an "AI info" label itself when an image or video was created or significantly edited with its own generative AI tools, such as Background Generation or Image Generation. It also adds the label when it detects third-party generative AI through industry-standard metadata such as C2PA. The label usually sits in the ad's three-dot menu under "About this ad." Minor edits such as resizing or color correction don't get one. In the European Region, California, New York, India, and Taiwan, advertisers can choose to self-disclose, and that label then appears next to the ad label.
AI-written text. Meta has no labeling rule for ad copy written with AI.
The practical takeaway for an agent pipeline is to keep track of which assets are AI-made, for your own records and for the rare political ad. A pipeline doesn't need a step that refuses to push an ad until a label is applied. Meta has no such field for ordinary ads.
A safer agent pipeline
Same dying ad, same replacement creative, two setups.
The risky version.
1. The agent writes new copy with an unreviewed health claim
2. It generates four new images and creates four ads
3. It activates them straight away and raises the ad set budget three times in an hour
4. It retries every failed call in a tight loop
Step 1 risks a rejection, and repeated rejections put the account at risk. Step 3 runs into Meta's limit of four ad set budget changes an hour. Step 4 looks like abnormal traffic.
The safer version.
1. Account rules block budget, status, and catalog changes
2. Each generated image is saved with a _meta.json note recording that AI made it
3. The copy is checked against brand/guardrails.md before any push
4. If the brief touches social issues, elections, or politics, the agent stops and asks
5. New ads are created paused or as drafts, five writes at most before a pause
6. A person reviews and activates them
The _meta.json note is a small file saved next to each asset.
{
"ai_generated": true,
"models_used": ["nano-banana-2"],
"generation_path": "higgsfield-mcp",
"generated_at": "<ISO timestamp>"
}
It tells every later step what was AI-made without anyone having to guess from file names. That matters for your own records and for political ads. The Monday Ad Op recipe runs this pipeline as a weekly routine.
Third-party Meta Ads MCP servers
Several vendors run their own Meta Ads MCP servers. Everything below is what each vendor says about itself.
- Pipeboard runs a hosted server and publishes an open-source version on GitHub. You connect your ad account through Pipeboard's Meta app, or self-host with your own. It offers campaign, ad set, ad, and creative writes, with new campaigns paused by default. Its free plan allows 30 tool runs a week, and paid plans start at $29.90 a month. It says it is a Meta Business Partner.
- Markifact runs a hosted server that signs in through Markifact, with approval before changes go live. Plans start at $79 a month.
- AdKit keeps every change as a draft in AdKit until you approve it.
- GoMarble is an open-source server you run yourself with your own Meta token. It only reads.
Meta's MCP docs and help pages don't prohibit third-party servers. Meta's tools page does describe its own server as the authorized way to connect AI tools, with no unofficial wrapper in between. Now that Meta's server covers creation, catalogs, experiments, and account rules, a third-party server makes sense mainly if you want its approval workflow or one tool across several ad platforms. Before you connect one, ask whose Meta app the calls go through, where your token is stored, and whether every change needs your approval. Those are the same questions the Google Ads MCP guide asks of Google's write-access vendors.
Meta Ads MCP vs Google Ads MCP vs an analytics aggregator
Meta's server is hosted by Meta, can make changes, and has account rules to limit them. Google's official Google Ads MCP runs on your own machine and only reads. So the governance work on Meta is larger, and the rules above are how you do it.
Neither one tells you whether paid media makes money across channels. Each platform reports the conversions it claims, and both claim some of the same orders. An aggregator such as Polar, Kleio, or Triple Whale starts from Shopify orders instead. That's why the Customer Intelligence Engine pulls ads data through an aggregator first, and uses the platform connections to find out why a channel performs the way it does.
The same review step applies to email. The Klaviyo MCP review covers what AI-written email and SMS copy needs before it ships, especially for supplement brands.
What this looks like in the DTC Stack
In the DTC Stack, the pieces above are built into the skills that touch Meta.
static-ad-prompt-engineandsocial-content-ugc-enginesave a_meta.jsonnote with every AI-generated asset.dtc-ad-creativereads live performance through Meta's connector in Ad Diagnostic Mode. Before any push it reads the asset notes and your Brand Brain guardrails, and it stops to ask if an ad touches social issues, elections, or politics. It follows the pacing rules, and it leaves new ads paused for you to activate.dtc-ad-creativeand the Customer Intelligence Engine both follow the same rate-limit pacing on Meta API calls.
If you're building your own pipeline, the safer version above is the spec.
FAQ
Is Meta's ads MCP server official?
Yes. Meta hosts it at mcp.facebook.com/ads and launched it in open beta on April 29, 2026, together with the Ads CLI. Meta's tools page says there is no added cost from Meta, and names ChatGPT, Claude, and Perplexity as supported apps.
Can an AI agent get my ad account banned?
Using Meta's server on its own won't. Meta's help article says it is unlikely an account would be banned simply for using it, and that bans typically follow violations of Meta's advertising standards. What the agent does can still cause trouble. Policy-breaking ads, abnormal API traffic, and unreviewed budget changes are the risks. Set account rules and review ads before they go live.
What are Meta Ads MCP server rules?
They are per-account and per-catalog controls that let a business admin allow or block what agents can do. You set them in Meta Business Suite under Settings, then Integrations, then Ads MCP server. These are the actions you can block.
- Creating campaigns, ad sets, or ads
- Editing budgets, or only budgets above an amount you choose
- Editing targeting, creative, or status
- Editing catalog products and product sets
A sensible way to open them up for a DTC brand looks like this.
| Stage | Allowed | Blocked |
|---|---|---|
| Day one | Reporting | Creating, budgets, targeting, status, catalogs |
| Week two | Reporting, new ads, creative edits | Budgets, targeting, status, catalogs |
Since September 22, 2026, developers can also set rules in bulk through the Marketing API, which Meta lists as limited availability.
Do I need a developer app to connect Claude to Meta Ads?
No. The hosted connector works by adding Meta's server URL to your AI app and signing in with Facebook. You need your own Meta app only if you're building the connection into a product, and agencies managing other businesses' accounts need app review and Advanced Access on the ads MCP permission.
Should I use the Meta Ads MCP or the Meta Ads CLI?
Meta's own summary is MCP for analysis, CLI for execution. Use the MCP server with chat apps such as Claude, ChatGPT, or Perplexity. Use the CLI for terminal agents and scheduled scripts, where it authenticates with a system user token. Both hold new work for review by default, as paused entities or drafts, and both are subject to the same API limits. The account rules are enforced by the MCP server.
Should I use Pipeboard or Markifact instead of Meta's own server?
Start with Meta's own server, since it now covers creation, catalogs, experiments, and account rules. A third-party server makes sense if you want its approval workflow or one tool across several ad platforms. Ask the vendor whose Meta app the calls go through, where your token is stored, and whether every change needs your approval.
Does Meta require a label on AI-generated ads?
Only for ads about social issues, elections, or politics that contain photorealistic AI-made or AI-edited images, video, or audio. For other ads, Meta adds an AI info label itself when it detects its own generative AI tools or third-party AI metadata such as C2PA. Meta has no labeling rule for AI-written ad copy.
Where this leaves you
Meta's server is now the straightforward way to give an agent access to your ad account, and the July rules make it possible to give that access a piece at a time. This week, do five things.
- Connect through Meta's official server, using the hosted connector or your own app.
- Set the day-one rules before the first write, so the agent can report but can't create, change budgets, or edit catalogs.
- Keep a
_meta.jsonnote with every AI-made asset, and run every ad through your brand guardrails before it ships. - Pace writes, and stop on rate-limit errors instead of retrying.
- Let the agent create one paused ad, review it, activate it yourself, and only then open up more.
If you want the guardrails, the asset notes, and the diagnostic workflow as one system, that's the DTC Stack.
Builds AI marketing systems for DTC and Shopify brands doing $1M-$50M. Creator of The DTC Stack.
Make AI sound like your brand, not a bot.
Answer 7 questions, get a custom Brand Voice file you can paste into Claude, Cursor, or any AI tool for instantly better output. It's one piece of the 49-file Brand Brain - free.
Build My Brand Voice - FreeJust want the playbooks? The Operator's Brief - new skill drops and AI workflows for $1M-$50M Shopify brands. No fluff, no spam.
Build your Brand Brain. Ship on-brand content in minutes.
The DTC Stack is a Brand Brain + 21 AI execution skills for product pages, emails, ads, SEO, and more. One purchase, lifetime access. Works with Claude, Cursor, Copilot, and 30+ AI tools.
One-time purchase. Instant access. Lifetime updates.