Meta ads AI connectors: what the MCP server and CLI let an agent do, and what gets throttled
Meta's ads MCP server and Ads CLI let an AI agent build and edit campaigns. What Meta's docs say on setup, paused defaults, agent rules and rate limits.
- Hristijan Jankulovski
- 16 min read
Meta's ads AI connectors are two tools announced in open beta on April 29,
2026: a Meta-hosted MCP server at https://mcp.facebook.com/ads and a
command-line tool, the Ads CLI. Through them an AI agent such as Claude Code or
ChatGPT can pull reporting and create or edit campaigns, ad sets, ads, catalogs
and audiences. Meta's tool list says new campaigns, ad sets and ads are created
paused, and that switching one on "starts spending budget". For heavy use,
Meta's rate-limit documentation describes throttling, not bans: a read costs 1
point, a write costs 3, and an app with Full access that reaches its maximum
score of 9,000 is blocked for 60 seconds.
What are Meta ads AI connectors?
Meta's announcement, Introducing Meta Ads AI Connectors, names two tools, "Meta's ads model context protocol (MCP) server and ads command line interface (CLI)", which "give advertisers a secure, Meta-authenticated connection from their ad account to an AI agent."
Meta's developer overview calls the MCP server "a Meta-hosted Model Context Protocol server that lets you manage Meta ads directly from an AI agent" and says it "works with any MCP-compatible AI agent." It is aimed at "Advertisers using AI assistants who want to manage Meta ads through a chat interface instead of Ads Manager or code," and at developers building "AI-native ad workflows." The CLI is a terminal tool for developers and scripts.
Meta has added to the MCP server twice since the launch:
| Date | What Meta announced |
|---|---|
| April 29, 2026 | The connectors, in open beta. "For MCP, no developer credentials, API setup, or coding required." |
| July 16, 2026 | Connecting through your own developer app, and ads MCP server rules, which give "anyone with full control of a business portfolio" a way to govern "what AI agents can do on their ad account, from budget changes to catalog updates" |
| October 6, 2026 | Uploading creative, previewing ads "as they'll appear on Facebook and Instagram", and agent work that "lands as a draft in Ads Manager" |
The October changes come from Meta's Advertising Week New York announcement, which adds: "Every action is gated behind advertiser-set permissions and explicit approval before anything goes live."
What can an AI agent do through Meta's ads MCP server?
Meta's overview sorts the server's tools into seven categories, each with its own page of tool names:
| Category | What it covers | Example tools |
|---|---|---|
| Comprehensive reporting | Performance by campaign, ad set and ad, with trends, anomalies and benchmarks | ads_get_ad_entities, ads_insights_performance_trend |
| Ad creation and management | Campaigns, ad sets, ads, creatives, previews, Instagram boosts and custom audiences | ads_create_campaign, ads_activate_entity |
| Catalog creation and management | Catalogs, products, product sets, feeds and catalog diagnostics | ads_catalog_create, ads_catalog_get_diagnostics |
| Signals and datasets | Pixels, Conversions API setup and Event Match Quality | ads_get_dataset_quality |
| Help and troubleshooting | Delivery-blocking errors and Business Help Center search | ads_get_errors, ads_get_help_article |
| A/B tests and conversion lift studies | Creating tests and lift studies, and reading their results | ads_experiment_abtest_create_test |
| Activity logs | The account's change history | ads_account_get_activity_logs |
Four of the tools, in Meta's words, from its ad creation tool page and reporting page:
ads_create_creative: "Create a single-image link ad creative. Also supports placement customization or multi-media optimization using images, videos, or both (limited availability)."ads_get_ad_previewrenders "a preview of an ad or creative in a specific placement (Feed, Story, Reels, and so on)."ads_library_searchsearches "the public Meta Ad Library for competitive research and creative inspiration."ads_get_opportunity_scorereturns "the ad account's optimization score (0–100) along with actionable recommendations", which is Meta's opportunity score.
If your agent is about to upload an image or a video, drop the file into the free ad size checker first to see which placements it fits.
Your account may not get every tool on those pages. For connections through your own app, Meta's July 16 developer post says it will be "gradually rolling out access to tools available to ad accounts through this integration method", and its advice is to "simply ask your agent what tools you have access to."
How do you set up Meta ads AI connectors?
Meta's get-started page opens with the choice: "Owning a Meta app is not a prerequisite on using the ads MCP server." Without an app, it sends you to the Business Help Center article Manage ads from an AI agent with Meta ads AI connectors, which the April announcement also gives as the place for "supported platforms and setup instructions."
With your own Meta app, the developer route runs like this:
- Create an app at developers.facebook.com/apps, or open one you have, and add the Create & manage ads with ads MCP server use case.
- Choose how your client signs in. With OAuth, "The MCP client redirects you to the Facebook Login for Business dialog", you approve the permissions, and "No manual token setup is required"; the app's redirect URL has to match your client. You can pass a user access token instead, or a system user token, but "Only Employee-role system user access tokens are supported. Admin-role system user access tokens can't access the ads MCP server."
- Grant at least
ads_mcp_managementplusads_readorads_management. Meta says addingads_management,catalog_management,business_management,pages_show_listandinstagram_basic"enables access to more tools". - If you manage ads for other businesses, as an agency or a partner does,
Meta's July 16 developer post says you need Advanced Access on the
ads_mcp_managementpermission, which means submitting the app for App Review. - Point your client at the server URL:
https://mcp.facebook.com/ads
How do you connect Meta's ads MCP server to Claude Code or ChatGPT?
Meta's get-started page gives steps for these two clients, and both use your own Meta app's ID; without an app, the Business Help Center article above is the route. In Claude Code it is one command, with the app ID as the client ID:
claude mcp add --transport http --client-id <META_APP_ID> meta-ads https://mcp.facebook.com/ads
For ChatGPT, set your Meta app's redirect URL to match ChatGPT's specification.
Then, in ChatGPT's developer mode, choose OAuth as the authentication method,
enter https://mcp.facebook.com/ads as the server URL, and enter your Meta app
ID as the OAuth Client ID under Advanced OAuth Settings. A script or server can
skip OAuth and send a user access token in an Authorization: Bearer header.
Meta's suggested first prompts begin with "List my ad accounts." The others create a traffic campaign, draft an ad set that optimizes for link clicks, and summarize an account's top-spending campaigns over the last 30 days.
What is the Meta Ads CLI?
Meta's Ads CLI overview puts it in one line: "Ads CLI is a command-line tool for managing Meta advertising from your terminal." It "authenticates with a Meta system user access token and calls the Marketing API on your behalf", and Meta lists "AI agents and tools" among the users it was built for.
Setup takes more steps than the MCP server. Meta's Get started with Ads
CLI
page asks for macOS or Linux, an ad account and a system user access token. You
install it from Homebrew's facebook/fb tap or with pip install meta-ads,
which needs Python 3.12 or later. The system user can be Admin or Employee. It
has to be added to your app and to every ad account it will work on, and its
token needs business_management, ads_management, pages_show_list,
pages_read_engagement, pages_manage_ads and read_insights.
Meta's launch post for the CLI says "Resources are created in PAUSED status by default, so nothing goes live until you are ready." The CLI takes files from your disk: "Ads CLI uploads media files automatically when you create or update an ad creative," per its ad creatives page, which accepts .jpg, .jpeg, .png, .gif, .bmp and .webp images and .mp4, .mov, .avi, .mkv and .wmv videos. Meta's example:
meta ads creative create --name "My Ad" --page-id <PAGE_ID> --image ./banner.jpg
Two flags matter if an agent runs it for you: --no-input and --force
"suppress interactive prompts for unattended operation", and --force on a
delete skips the confirmation.
| Ads MCP server | Ads CLI | |
|---|---|---|
| Where it runs | Hosted by Meta | On your computer, macOS or Linux |
| Your own Meta app | Optional | Required, since the token is generated for your app |
| Sign-in | OAuth, a user access token, or an Employee-role system user token | An Admin or Employee system user token |
| New campaigns, ad sets and ads | Created paused | Created paused |
| Going live | ads_activate_entity, after your client asks | --status ACTIVE on an update command |
| Media | Uploading creative, since October 6 | Local files, uploaded automatically |
Can an AI agent launch ads or raise budgets without asking?
New ads start paused, according to Meta's ad creation tool page: "Write tools
create entities in a paused state; your AI client asks for confirmation before
activation." Going live is its own tool, ads_activate_entity, which Meta
describes as "Change a paused campaign, ad set, or ad to active — starts
spending budget."
One setup guide from May 2026 says new campaigns, ad sets and ads are created paused "and you'd need to activate them from Ads Manager." Meta's current tool list includes the switch itself, so an agent can turn an ad on once your client has asked you.
Budgets are a different case. The paused default covers new objects only.
Changes to what is already running go through ads_update_entity, described
as "Update fields on an existing campaign, ad set, or ad," and the confirmation
Meta's page mentions is the one before activation.
The control Meta built for this is ads MCP server rules. Its rules guide says: "A rule denies a specific agent action on a specific ad account or product catalog — for example, deny any budget increase above 20%, or deny delivery status changes." They are "the same controls shown on the ads MCP server page in Meta Business Suite settings." On an ad account, a rule can deny:
Rule (action) | What it denies |
|---|---|
create_campaign, create_ad_set, create_ad | Creating campaigns, ad sets or ads |
edit_budget | Budget increases above a percentage or an amount, or budgets above a ceiling |
edit_targeting | Targeting and audience changes |
edit_creative | Creative changes |
edit_status | Delivery status changes, such as pausing or activating |
all | Every agent action on the account |
Catalog rules can block every agent action, or block product and product set changes "while the catalog is active in ads". Meta's July 16 post gives the use: "you can grant an agent read access to performance data while withholding the ability to make changes to budgets, campaigns, or creative." Not every business has them: "Ads MCP server rules are in limited availability."
Can using an AI agent get your Meta ad account banned?
Meta's developer docs and announcements for the connectors don't mention bans or account restrictions. Automation comes up in Meta's Community Standards instead. The Account Integrity standard lists it among the scenarios where Meta "may request additional information about an account to ascertain ownership and/or permissible activity":
Creating or using an account or other entity through automated means, such as scripting (unless the scripting activity occurs through authorized routes and does not otherwise violate our policies)
That list is separate from the ones that begin "We may restrict or disable accounts". Meta built and hosts the MCP server and publishes the CLI, though the connector pages don't call either one an authorized route in those words.
For heavy automated use, what Meta's rate limiting page documents is throttling, with one rule aimed at unusual traffic, under "Abuse Prevention Rate Limits":
When our system detects that certain ad accounts generate a large amount of abnormal traffic, in order to protect the stability of the system and ensure the experience of other users, we will temporarily reduce the API Rate Limit quota of the abnormal accounts.
On that page, the consequence of too many calls is a smaller quota for a while, and Meta's advice when it happens is to "investigate if any action is triggering excessive API requests" and contact Meta support.
Connecting through an app of your own, which the Ads CLI requires, also puts you under Meta's Platform Terms. They say "If you fail to comply with these Terms or any other applicable terms or policies, we may suspend or terminate your App or account," and that enforcement "can be both automated and manual."
An ad an agent creates still goes through ad review.
Meta's Marketing API reference for
ads
says "When an ad is created, it will first go through ad review, and will have
the ad status PENDING_REVIEW before it finishes review and reverts back to
your selected status of ACTIVE or PAUSED." Rejected ads and account
restrictions show up in Account Quality. If
Meta has already restricted the account, requesting a
review has its own steps and limits.
What are Meta's Marketing API rate limits?
Meta's rate limiting page says "Rate limiting is at the ad account level" and gives every call a score: "Generally speaking, a read API call is equal to 1 point, and a write API call is equal to 3 points, and when you reach the maximum score, we throw a throttling error." The maximum depends on the app's access tier:
| Marketing API access | Maximum score | Decay rate | Blocked for, at the maximum |
|---|---|---|---|
| Development tier (Limited access) | 60 | 300 seconds | 300 seconds |
| Full access | 9,000 | 300 seconds | 60 seconds |
The low tier is the default. Meta's page says that when you add the Marketing API product to an app, "you will get the Limited tier of Marketing API Access Tier by default." Full access needs "500+ Marketing API calls in the past 15 days and an error rate below 15% for the last 500 calls." The Ads CLI calls the Marketing API with a token from your own app, so its calls fall under your app's tier.
An agent that edits a lot can also hit these narrower limits:
| What | Meta's limit |
|---|---|
| Creating and editing campaigns, ad sets and ads | "100 requests per second (QPS) per app and ad account combination" |
| Editing the same object | "one edit per object every 30 seconds", by default |
| Ad set budget changes | "4 times per hour"; past that, "the budget change for that ad set is blocked for an hour" |
| Account spending limit changes | "10 times per day" |
| Creating ads | "limited for a given ad account based on the daily spend limit" |
The error messages tell you which limit you hit:
| Error message | Code, subcode | Meta's name for the limit |
|---|---|---|
| "User request limit reached" | 17, 2446079 | Ad account level API-level limit |
| "There have been too many calls from this ad-account. Please wait a bit and try again." | 613, 1487742 | Ad account level API-level limit |
| "User request limit reached" | 613, 1487225 | Ad creation limit, tied to the daily spend limit |
| "Calls to this api have exceeded the rate limit." | 613, 4841018 | Concurrent requests to one object |
| "You can only change your ad set budget 4 times per hour. Please wait to make more changes." | 613, 1487632 | Ad set budget limit |
| "(#613) Calls to this api have exceeded the rate limit." | 613, no subcode | Abuse prevention |
What Meta's connector docs leave out
- Meta's MCP server pages give no rate limit for the server. They don't say whether its calls count toward the Marketing API scores above, or which access tier applies when you connect without an app of your own.
- The same pages don't say which tools each permission unlocks. The get-started page says extra permissions enable "access to more tools" and stops there.
ads_library_searchcomes with no word on which ads it can return, or whether it reaches past what Meta's Ad Library API covers.- Rules are "in limited availability", and the developer pages don't say which businesses get them or when.
- Rules are described for the MCP server only, and the Ads CLI pages don't mention them, so they don't say whether a rule set in Business Suite limits an agent that works through the CLI.
- Meta puts the confirmation before activation on "your AI client" and doesn't say what happens when a client is set to run tools without asking.
Sources
- Ads MCP Server — Meta for Developers (accessed October 31, 2026)
- Get started (ads MCP server) — Meta for Developers (accessed October 31, 2026)
- Ad creation and management (ads MCP server tools) — Meta for Developers (accessed October 31, 2026)
- Comprehensive reporting (ads MCP server tools) — Meta for Developers (accessed October 31, 2026)
- Rules best practices (ads MCP server) — Meta for Developers (accessed October 31, 2026)
- Ads CLI — Meta for Developers (accessed October 31, 2026)
- Get started with Ads CLI — Meta for Developers (accessed October 31, 2026)
- Ad Creatives (Ads CLI) — Meta for Developers (accessed October 31, 2026)
- Marketing API Rate Limiting — Meta for Developers (accessed October 31, 2026)
- Ad (Marketing API reference) — Meta for Developers (accessed October 31, 2026)
- Platform Terms — Meta for Developers, last updated February 3, 2026 (accessed October 31, 2026)
- Account Integrity — Meta Transparency Center, Community Standards (accessed October 31, 2026)
- Introducing Meta Ads AI Connectors: Manage Your Meta Ads From the AI Tools You Already Use — Meta for Business news, April 29, 2026, updated July 16, 2026 (accessed October 31, 2026)
- Meta's ads MCP server is now available for developers — Meta for Developers blog, July 16, 2026, updated September 22, 2026 (accessed October 31, 2026)
- Introducing Ads CLI: A Command-Line Interface for Meta Ads and Commerce — Meta for Developers blog, April 29, 2026 (accessed October 31, 2026)
- Advertising Week New York 2026: New AI Capabilities to Guide Campaigns and Reach Customers — Meta for Business news, October 6, 2026 (accessed October 31, 2026)
Meta is still adding tools and changing these pages during the beta, so check the source before you connect an agent to a live ad account.
Terrads makes the ads an agent then uploads: a coding agent such as Claude Code or Cursor can make, approve and download finished ads for your brand.