What you need before you start
Four things. None of them involve code.
- A Meta account with access to the ad account you want to work on. The agent inherits your permissions, so whatever you can do, it can do.
- An AI app that supports remote MCP servers. We use Claude here because that is where the demand is. The steps are Claude’s; the idea is the same in any MCP client.
- The server address, which is
https://mcp.facebook.com/ads. - A few minutes on a real account. There is no sandbox in this flow.
Meta states that setup requires “no developer credentials, API setup, or coding.” That is accurate for the normal path. There is a second path that does involve a developer app, and it is worth knowing which one you are on before you start clicking.
Two ways in, and which one you want
| Connect your own AI app | Build an app for other people | |
|---|---|---|
| Who it is for | You, managing your own or your clients’ ads | Developers shipping a product |
| What you do | Add the server URL to your AI app and sign in | Create a Meta app and add a use case |
| Developer account | Not needed | Required |
| Coding | None | Yes |
The rest of this page is the first path. For completeness, the second path in Meta’s own words: go to the developer dashboard, pick your app, then Use cases → Add use cases → Ads and monetization → “Create & manage ads with ads MCP server” → Save. If you are handling data for other businesses, Meta says to request Advanced Access on the ads_mcp_management permission through the Customize option. Authentication is either OAuth through Facebook Login for Business, or your own access token if you manage token lifecycles yourself.
Connecting Claude to Meta, step by step
1. Open connector settings
In the desktop app, press Ctrl and comma, or use the menu and go to File then Settings. In a browser, press ⌘ ⇧ and comma, or click your profile icon and choose Settings. Then click Connectors in the sidebar.
2. Start adding a custom connector
What you click depends on your plan, and this trips people up.
- Pro and Max: go to Customize → Connectors, click +, then Add custom connector.
- Team and Enterprise: only an owner can add it, from Organization settings → Connectors. Click Add, hover Custom, then choose Web. Everyone else afterwards goes to Customize → Connectors and clicks Connect to sign in individually.
If you are on a Team plan and cannot find the option, you are probably not an owner. That is the answer to most “the button is missing” questions.
3. Paste the address
Enter https://mcp.facebook.com/ads. Include the https://. There is an Advanced settings section for an OAuth Client ID and Secret, and for this server you do not need it — that is for servers where you run your own OAuth app. Click Add.
4. Sign in to Meta
Claude hands you to Meta to log in. This is the step that matters, so slow down and read the screen. You are choosing which business assets this connection can reach. Grant what the work needs and nothing more.
Your password stays with Meta. Claude never sees it. What Claude gets is a token that can be revoked from your Meta account settings later.
5. Turn it on in a conversation
Connecting it does not mean it is active in every chat. Use the + button at the lower left of the chat box, then Connectors, and switch it on. Inside the Search and tools menu you can also switch individual tools off.
Checking it actually worked
Do not go straight to “build me a campaign.” Three checks first, and they take about a minute.
Check 1: the tools are actually there
Ask it what Meta ads tools it now has. When an AI app connects to a server, the first thing it does is ask that server for its list of available functions. If that list came through, the AI can tell you what is on it. If it says it has no Meta tools, the connection is not live, and nothing after this will work.
Check 2: it can read real data
Ask for something small and read-only. Spend for the last 7 days is ideal. You are checking two things at once: that a real number comes back, and that it is the right number. Open Ads Manager next to it and compare.
If the figures do not match, stop. Usually it means the wrong ad account, and it is much better to learn that now than after it has built something.
Check 3: it knows which account it is on
Ask it to name the ad account it is using, with the ID. If you have access to several, this is the single most valuable question in the whole setup, because everything downstream depends on the answer being right.
Set the limits before you let it write
Right now the agent can create and edit things. Two controls are worth setting before your first write, and they sit in different places.
In your AI app. Open connector settings, click the connected server, and enable or disable individual tools. If you only want reporting for the first week, switch the editing tools off. This is the fastest way to make the whole thing read-only.
In Meta. On 16 July 2026 Meta added ads MCP server rules. In Meta’s words, these let anyone with full control of a business portfolio govern what AI agents can do on their ad account, “from budget changes to catalog updates.” This sits at the portfolio level, so it applies no matter whose chat window the request comes from. On a client account, this is the control that matters.
The distinction between those two is the thing most people get wrong, and it decides which one is worth setting on a client account.
The one that does not exist is a guaranteed “are you sure?” prompt. Whether you get one is up to your AI app, not Meta and not the protocol. We covered why in how the AI actually works, and it is the reason to set the two controls above rather than rely on being asked.
When it doesn’t work
| What you see | Usual cause |
|---|---|
| No “add custom connector” option | On Team or Enterprise, only an owner can add one. Ask an owner. |
| Connector added but greyed out | Not switched on for that conversation. Use + → Connectors. |
| Tools do not appear | Sign-in did not finish. Remove the connector and add it again. |
| “I don’t have access to that” | The permissions granted at sign-in did not include that asset. |
| Numbers do not match Ads Manager | Wrong ad account, or a different date range than you assumed. |
| Worked yesterday, not today | Access revoked, permissions changed, or the connector switched off in this chat. |
A blunt note on the first two rows: they are the two most searched problems, and neither is a fault in the connection. One is a plan permission, the other is a toggle. Check both before assuming anything is broken.
If the agent reports a restriction rather than a technical error, that is a different problem with a different fix. Start with what a restricted ad account actually means.
Keeping it working
Setup is one afternoon. These are the habits that keep it from turning into a problem later.
- Name the ad account in your requests. Not “pause the bad ad sets” but “in ad account X, pause…”. It removes the most expensive guess the model can make.
- Re-check the account after any Meta change. New portfolio, new client, changed roles — recheck what the agent can see.
- Keep write tools off until you need them. Turning them on for a task and off afterwards costs seconds.
- Remove connectors you have stopped using. Anthropic’s own guidance is to review and remove unused connectors to keep things secure.
- Re-read what it did. After any editing session, ask it to list every change with IDs, and spot-check two in Ads Manager.
And one that applies to any connector, in Anthropic’s words: “Only connect Claude to servers built and hosted by organizations and applications you trust.” Meta’s server is Meta’s. A third-party Meta ads MCP server is somebody else’s, and that is a different trust decision.
Rolling it out on an account that is not yours
Everything above assumes the account is yours to experiment on. On a client account, or any account where someone else carries the consequences, the order changes.
The reason is the permission model. The agent inherits your access, not a reduced version of it. There is no read-only role that gets handed to the agent instead of your own. If you can move budget on that account, so can anything you connect, until a control says otherwise.
A sequence that survives contact with a real client:
- Agree what it is allowed to touch before connecting anything. In writing, with the client, naming the ad accounts. This is a conversation about their money, not a technical setting.
- Set the portfolio rules first, then connect. Control 2 in the figure above is the one that binds regardless of which app anyone uses later. Setting it after you have connected leaves a window where it does not apply.
- Connect with the narrowest asset selection that does the job. The sign-in screen is where scope is decided, and it is easier to grant one more asset later than to explain one you did not need.
- Run a week read-only. Write tools off entirely. What you learn in that week is whether the agent reliably lands on the right account, which is the failure that costs real money.
- Keep a change log the client can read. After any editing session, have the agent list every change with IDs, and keep it. If something goes wrong three weeks later, that record is the difference between a diagnosis and an argument.
Stated plainly: this sequence is ours, not Meta’s or Anthropic’s. Neither publishes guidance on agency use of these connectors. The parts that are documented are the controls themselves, sourced below.
FAQ
How do I connect Claude to Meta Ads Manager?
Open Settings and go to Connectors, add a custom connector, paste https://mcp.facebook.com/ads, click Add, then sign in to Meta and approve the access. On Pro and Max you add it yourself; on Team and Enterprise an owner adds it and everyone else connects individually.
Why is there no option to add a custom connector?
On Team and Enterprise plans only an owner can add one, from Organization settings then Connectors. If you are a member, an owner has to add it first, after which you connect through Customize then Connectors.
I added the connector but it seems disabled. What now?
A connector is added at the account level but switched on per conversation. Use the + button at the lower left of the chat, choose Connectors, and enable it there. The Search and tools menu also lets you turn individual tools off.
Do I need a Meta developer account?
Not for this. Meta says setup needs no developer credentials, API setup or coding. A developer app is only needed if you are building a product for other people to use, which is a separate flow.
Does Claude see my Meta password?
No. You sign in on Meta’s own screen and Meta issues a token. You can revoke that access from your Meta account settings at any time.
How do I know it is reading the right ad account?
Ask it to name the account and ID it is using, then ask for one small read-only figure such as last week’s spend and compare that against Ads Manager. If the numbers disagree, fix that before letting it change anything.
How do I stop it changing things?
Two places. In your AI app, open the connector and switch the editing tools off. In Meta, whoever has full control of the business portfolio can set ads MCP server rules covering what agents may do, which Meta describes as ranging from budget changes to catalogue updates.
Where is “Create & manage ads with ads MCP server”?
That is the use case name in the Meta developer dashboard, and it belongs to the second setup path rather than the one most people want. You reach it under Use cases → Add use cases → Ads and monetization, then Save. You only need it if you are building an app other people will use. To connect your own AI app to your own ads, you never open the developer dashboard at all — you paste the server address into your AI app and sign in.
Does the agent get its own limited permissions?
No, and this is the assumption worth correcting before you connect a client account. It inherits yours. There is no reduced role handed to the agent instead of your own access, which is why the controls in where each control sits exist and why the portfolio-level one is the one that matters on somebody else’s account.
Can I use this with an AI app other than Claude?
Yes. The server is a standard remote MCP server, and Meta describes it as working with any MCP-compatible agent. The menu paths in this guide are Claude’s because that is where the questions come from, but the address and the sign-in step are the same anywhere. What differs between apps is whether you get a confirmation prompt before a write, which is the app’s decision rather than Meta’s.
Sources
- Meta for Developers — Ads MCP Server overview. Source of the
https://mcp.facebook.com/adsaddress and that it works with any MCP-compatible AI agent. - Meta for Developers — Meta’s ads MCP server is now available for developers. Source of the developer-app path quoted above, the
ads_mcp_managementAdvanced Access requirement, and the two authentication options. - Meta for Business — Introducing Meta Ads AI Connectors. Source of the “no developer credentials, API setup, or coding required” wording and the 16 July 2026 ads MCP server rules.
- Claude Help Center — Getting started with custom connectors using remote MCP. Source of every Claude menu path here: the Pro and Max steps, the Team and Enterprise owner steps, per-conversation enabling, disabling individual tools, removing a connector, and the quoted warning about only connecting to servers you trust.
- Model Context Protocol — Connect to remote MCP servers. Source of the settings shortcuts, the authentication step, configuring tool permissions per server, and the advice to review and remove unused connectors.
Checked on 14 August 2026. One gap worth stating: Meta’s own step-by-step page for this would not load for us in readable form, so the Meta-side steps above come from Meta’s developer blog and business announcement rather than from that page. The Claude-side steps come from Anthropic’s current help centre and may change as the interface changes. Both products are moving quickly, so if a menu name here does not match what you see, trust the screen.
If you would rather skip the setup and have this run properly on your accounts, we manage paid social, or get in touch.