What Meta's Ads MCP server and ads CLI are and which AI clients they support
Meta's ads AI connectors are a family of integrations that expose Meta business surfaces to third-party AI clients through structured, permission-scoped tools. Two components matter for advertisers: the ads MCP server and the ads CLI.
The ads MCP server is a Meta-hosted Model Context Protocol (MCP) server, remote-hosted at https://mcp.facebook.com/ads, that works with any MCP-compatible AI agent. An MCP server acts as a bridge between an AI agent and external systems such as databases or APIs, translating responses into a format the agent understands. Meta says this lets you securely connect a conversational AI agent to your Meta ad account "with all its context," so recommendations and actions are grounded in your actual account data.
The ads CLI (meta command, installable via Homebrew or PyPI) is the developer-facing alternative: it authenticates with a system user access token rather than a person's login, and exposes commands like meta ads campaign list, meta ads insights get, and meta ads adaccount list.
Meta notes availability is staggered: "You may not have access to all of these tools and features yet," and the Ads MCP server settings panel may not appear for every account. If you don't see it, you don't have access yet. Confirm current details in Meta's own documentation — this is a beta surface that changes often.
Related but distinct: Meta AI (the assistant at meta.ai and in the mobile/desktop apps) can review ad performance and analyze connected business assets, but Meta states plainly: "Meta AI can review your ad performance. To create, edit, or publish ads, use Ads Manager or Meta Business Suite." Don't confuse the consumer assistant with the ads MCP server.
What a connected agent can read and change in an ad account
Per Meta's documentation, the ads MCP server exposes tools in seven categories:
- Comprehensive reporting: pull detailed reporting and insights on campaign performance.
- Ad creation and management: create and edit ads, ad sets, and campaigns; create ad creative (single image, single video, carousel, product media carousel); upload image/video assets to the library; retrieve creative details and request previews. Draft mode saves new campaign work for review before publishing and avoids automatically pausing running campaigns when you make changes.
- Custom audiences: create, update, and delete custom audiences.
- Partnership ads: create Facebook and Instagram partnership ads, including boosting existing posts and checking or requesting creator permissions.
- Catalog creation and management: create catalogs, add/delete product data, build product sets from plain-language requests, and troubleshoot feed and visibility issues.
- Signals diagnostics: access signal health and quality information to prioritize investment in your signals setup.
- A/B tests and conversion lift studies: create and manage experiments and retrieve details on existing ones.
- Activity logs: retrieve activity log entries for an ad account, mirroring the Ads Manager campaign history page (tool:
ads_account_get_activity_logs, optionally scoped by object, time window, event category, or user). - Help: search Meta Business Help Center articles relevant to a query.
The critical governance line from Meta: "Any actions taken on your behalf require your authorization through the AI agent." The agent proposes; a human with account access authorizes — unless your ads MCP rules block the action outright (see below).
Permissions, app review and business portfolio roles for AI connections
AI-agent access to a Meta ad account is governed by the same permission architecture as human access — plus a programmatic layer.
Ad account roles (people). Meta's Ads Manager defines three permission roles:
| Capability | Admin | Advertiser | Analyst |
|---|---|---|---|
| View ads | ✓ | ✓ | ✓ |
| Access reports | ✓ | ✓ | ✓ |
| Create and edit ads | ✓ | ✓ | — |
| Edit payment method | ✓ | — | — |
| Manage admin permissions | ✓ | — | — |
Admins have full control, including billing and managing who else has access. Advertisers build and manage campaigns but cannot touch billing or account membership. Analysts are view-only — suitable for finance or reporting stakeholders.
System users (programmatic access). For the Ads CLI (and similar token-based integrations), Meta requires a system user created in Business Settings, added to your app with a role, added to each ad account it should operate on, and granted assets (Pixels/datasets, Pages, catalogs). Tokens carry explicit scopes such as business_management, ads_management, pages_manage_ads, read_insights, and optionally catalog_management. Treat a system user like a standing credential: whoever controls it can act on every account it's assigned to, so scope it to the minimum.
Ads MCP rules ownership. Only someone with full control of a business portfolio can manage ads MCP server rules; when you share an ad account with a partner, they can set rules for the shared account, but those rules apply only to people in the partner business. Keep this in mind when deciding which business portfolio actually owns the ad account, since admin control of the portfolio is what determines who can govern agent behavior. Advertising also requires the right Page/Instagram permissions — full control or partial Ads access to the Page, and a connected professional Instagram account — or you'll hit the restriction errors Meta documents in Ads Manager.
Controls Meta provides: paused creation, drafts, ads MCP rules and activity logs
Meta gives business portfolio admins several concrete controls over what connected agents can do:
Ads MCP rules. In Meta Business Suite → Settings → Integrations → Ads MCP server, select the ad account or catalog and allow or block specific actions. Examples from Meta's documentation:
- Switch Create campaigns from Allowed to Blocked, and campaign-creation attempts through a connected agent are denied.
- Set Edit or set budget to Blocked to stop all budget changes — or allow budgets with a limit: set "Budgets set above this amount" to Blocked and enter a maximum (e.g., $1,000); requests exceeding it are denied.
If some actions are blocked, you'll see "Limited" next to "Take actions in this ad account" and "Take actions in this catalog."
Draft mode. Ads MCP draft mode "saves new campaign work for review before publishing and avoids automatically pausing running campaigns when you make changes" — a meaningful control for high-spend accounts where an agent editing a live campaign could otherwise disrupt delivery.
Human authorization. Every action the agent takes on your behalf requires your authorization through the AI agent. Rules can deny actions outright; for allowed actions, you remain the approval gate.
Activity logs. The ads_account_get_activity_logs tool mirrors the Ads Manager campaign history page, so you can audit what changed, scoped by object, time window, event category, or user. Make reviewing these logs part of your weekly or monthly account hygiene.
On enforcement risk. Meta states it's safe to connect your ad account through the ads MCP server and that it's "unlikely that an account would be banned simply for using it." Account bans typically result from violating Meta's advertising standards, such as running noncompliant ad content — not from using the connector itself, provided your advertising activity follows Meta's policies. That is a statement about the connector, not a guarantee of immunity from enforcement for what you run through it.
Evaluating agency ad account infrastructure?
Review dedicated agency ad accounts across Meta, TikTok, and Google, with compartmentalized billing, access custody, and human-led escalation.
Explore Agency AccountsAccess discipline for high-spend accounts: who connects agents, what they may approve, and how to revoke access
At $100K+/month, the question isn't whether to use AI agents — it's who may connect them and under what guardrails. A practical discipline:
Ownership first. Know which business portfolio holds full control of the ad account, because portfolio admins are the only people who can manage ads MCP rules. If the account lives in a portfolio you don't fully control, your partner (not you) governs what agents can do for their own people. Merging assets into a portfolio you control, or confirming ownership with a documented audit, comes before any agent connection.
Connect through named, minimal identities. For programmatic access, use a dedicated system user (e.g., "Ads CLI") scoped only to the ad accounts and assets it needs, with the minimum token scopes. For conversational agents, connect through the accounts of specific accountable people — not shared logins.
Codify what agents may do. Encode your policy in ads MCP rules: block campaign creation or cap budgets if an agent shouldn't move spend freely; use draft mode so new work lands for human review rather than going live. Decide in writing which people may approve agent actions — and which (payment method changes, admin permission changes, per the ad account roles) should never flow through an agent at all, since Meta reserves those for Admins.
Monitor, then revoke cleanly. Pull the activity log regularly (by object, time window, and user) to audit agent-driven changes. To revoke: remove the system user from the ad account and its assets in Business Settings, regenerate/remove its token, block the relevant actions in ads MCP rules, and remove the person's ad account role. Removing one access path may not remove another — confirm no residual access remains, and keep at least one effective admin on the account at all times.
Meta does not document guaranteed timelines or outcomes for any enforcement process, so treat these controls as prevention, not as a recovery promise.