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.

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:

DateWhat Meta announced
April 29, 2026The connectors, in open beta. "For MCP, no developer credentials, API setup, or coding required."
July 16, 2026Connecting 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, 2026Uploading 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:

CategoryWhat it coversExample tools
Comprehensive reportingPerformance by campaign, ad set and ad, with trends, anomalies and benchmarksads_get_ad_entities, ads_insights_performance_trend
Ad creation and managementCampaigns, ad sets, ads, creatives, previews, Instagram boosts and custom audiencesads_create_campaign, ads_activate_entity
Catalog creation and managementCatalogs, products, product sets, feeds and catalog diagnosticsads_catalog_create, ads_catalog_get_diagnostics
Signals and datasetsPixels, Conversions API setup and Event Match Qualityads_get_dataset_quality
Help and troubleshootingDelivery-blocking errors and Business Help Center searchads_get_errors, ads_get_help_article
A/B tests and conversion lift studiesCreating tests and lift studies, and reading their resultsads_experiment_abtest_create_test
Activity logsThe account's change historyads_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_preview renders "a preview of an ad or creative in a specific placement (Feed, Story, Reels, and so on)."
  • ads_library_search searches "the public Meta Ad Library for competitive research and creative inspiration."
  • ads_get_opportunity_score returns "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:

  1. 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.
  2. 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."
  3. Grant at least ads_mcp_management plus ads_read or ads_management. Meta says adding ads_management, catalog_management, business_management, pages_show_list and instagram_basic "enables access to more tools".
  4. 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_management permission, which means submitting the app for App Review.
  5. 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 serverAds CLI
Where it runsHosted by MetaOn your computer, macOS or Linux
Your own Meta appOptionalRequired, since the token is generated for your app
Sign-inOAuth, a user access token, or an Employee-role system user tokenAn Admin or Employee system user token
New campaigns, ad sets and adsCreated pausedCreated paused
Going liveads_activate_entity, after your client asks--status ACTIVE on an update command
MediaUploading creative, since October 6Local 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_adCreating campaigns, ad sets or ads
edit_budgetBudget increases above a percentage or an amount, or budgets above a ceiling
edit_targetingTargeting and audience changes
edit_creativeCreative changes
edit_statusDelivery status changes, such as pausing or activating
allEvery 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 accessMaximum scoreDecay rateBlocked for, at the maximum
Development tier (Limited access)60300 seconds300 seconds
Full access9,000300 seconds60 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:

WhatMeta'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 messageCode, subcodeMeta's name for the limit
"User request limit reached"17, 2446079Ad account level API-level limit
"There have been too many calls from this ad-account. Please wait a bit and try again."613, 1487742Ad account level API-level limit
"User request limit reached"613, 1487225Ad creation limit, tied to the daily spend limit
"Calls to this api have exceeded the rate limit."613, 4841018Concurrent requests to one object
"You can only change your ad set budget 4 times per hour. Please wait to make more changes."613, 1487632Ad set budget limit
"(#613) Calls to this api have exceeded the rate limit."613, no subcodeAbuse 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_search comes 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


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.