Not sure what to fix first?
Most people don’t need another AI tool. They need to know which thing is actually costing them the most.
The AI Bottleneck Finder asks you a handful of questions, then tells you the one constraint capping your revenue right now plus two builds you could ship this week. Five minutes, free, no call required.
Take the free AI Bottleneck Finder →
Claude Code Facebook ads just took the power media buyers had over you and handed it back.
Meta shipped an official MCP server for ads. Connect it to Claude Code and you get 95 tools pointed straight at your ad account. Campaigns, ad sets, targeting, budgets, creatives, copy. You describe it, Claude builds it.
I’m Charles J Dove. I run Charlie Automates and my agency CC Strategic, where we build these systems for clients every week. My background is agentic systems, not media buying. That’s the point of this whole experiment. I wanted to see if an agent could close the gap between “I have a budget” and “I have a live campaign” for someone who is not an ads expert.
Spoiler: it can. It’s not perfect. But the groundwork it lays would have taken me a full day by hand.
Why Meta Ads Manager Breaks Most Business Owners
Meta Ads Manager fails new advertisers because it stacks two different kinds of overwhelm on top of each other. Opening that platform for the first time feels like sitting in the cockpit of a fighter jet.
The first is technical. Business portfolios, ad accounts, pixels, system users, permissions. None of it is intuitive and all of it has to be right before a single dollar moves.
The second is strategic. Who is the audience? What’s the hook? Which creative gets tested against which? That part is not a UI problem, it’s a research problem, and most people guess.
An agent solves both. It reads the platform for you and it does the research before you spend. That’s the actual unlock here, not the button clicking.
What Is the Meta Ads MCP?
The Meta Ads MCP is Meta’s official server at https://mcp.facebook.com/ads that exposes 95 ad tools to an AI agent. An MCP is a connector that gives Claude real controls inside another product instead of just describing where to click.
Once it’s connected, running /mcp inside Claude Code shows Meta Ads sitting in your local server list with all 95 tools live. Claude can read your ad account, build campaigns, attach creatives, and pull performance data back out.
Hand Claude the server URL and a token, and it stops being an assistant that explains Ads Manager. It becomes a media buyer with account access.
I put the full setup playbook, the MCP link, and the screenshots on the Meta Ads MCP resource page inside the Founder’s Toolkit. Free, no course.
What You Need Before You Connect Anything
This build has two requirement stacks, and skipping the business side is why most people’s ads lose money no matter who runs them.
| Requirement | What it means | Skip it and… |
|---|---|---|
| Ad budget | Real money set aside. Mine was $2,000 for this campaign | Nothing to test with |
| Clear offer | Landing page, price, promise. Mine was a 2-day Claude Code intensive at $599 a seat | Claude writes copy for an offer that doesn’t exist |
| Payment processor | Stripe, or Commas, which is what I use | Traffic with nowhere to convert |
| Back-end sequences | Nurture and onboarding after the opt-in | You pay for leads and then drop them |
| Facebook account | Personal account tied to your business | No entry point |
| Meta Business Manager | Business portfolio holding your ad account and Page | The app can never reach your assets |
| Meta developer app | Created at developers.facebook.com | No credential for Claude to use |
| Claude Code | Plus a couple of skills to make it repeatable | Manual everything |
Advertising Ops and the Meta Ads MCP are only as good as that top half of the table. An agent pointed at a broken offer produces a well-organized failure.
How Do You Set Up the Meta Ads MCP in Claude Code?
Setup takes about ten minutes and it’s mostly Meta paperwork, not code. Eight steps, in this order, and the order matters.
- Create the app. Go to developers.facebook.com, My Apps, Create App. Name it anything. On the Use cases screen check both ads options: create and manage ads with Marketing API, and create and manage app ads with Meta Ads Manager.
- Pick your business portfolio. If you don’t have one, Google “business manager Facebook”, click Get Started, name the business, create it. Then come back and attach it.
- Add the app to Business Manager. Settings, Accounts, Apps, Add, Connect an App ID. Your App ID lives on the app’s Basic settings page.
- Create a system user. Users, System users, Add. Give it Admin. A system user is a robot account, and it’s how Claude gets access without your personal login.
- Assign the assets. Ad account, Page, the app itself, and your Instagram account if you run ads there. The app is the one everyone forgets, and nothing works without it.
- Generate the token. On the system user, click Generate new token, select your app, tick all seven permissions:
ads_management,ads_read,business_management,pages_show_list,instagram_basic,catalog_management,ads_mcp_management. Set expiration to never, or 60 days if you want rotation. - Hand Claude the token safely. Copy the token the second it appears, because Meta shows it once. Then tell Claude: “I have a Meta system user token. Where do I store it in my file system so you can use the Meta Ads MCP without exposing it?” Follow its instructions instead of pasting the key into chat.
- Ask for the campaign. Plain English. “Build a lead generation campaign, $40 a day, United States, ages 28 to 55, business owner interests, three ad variations with different hooks, all paused so I review first.”
That last word is the one that saves you money. Paused. Every campaign an agent creates should land paused until you have looked at it.
The Publishing Step That Silently Kills Your Campaign
A brand new Meta app sits in development mode, and Meta will not let a development-mode app push creative assets into a live ad account. This is the step that quietly breaks the whole build.
Here’s how it shows up. Claude reports success. The campaign appears in Ads Manager with correct ad sets, correct budget, correct targeting. Then you click into an ad and there’s no image attached. Nothing errored. The creative just never landed.
The fix is in your app’s left menu under Publish. Meta asks for a Privacy Policy URL, terms, and basic business information. Paste your privacy page, fill it in, hit publish.
Do it before you build anything, not after. On my first campaign I hit this exact wall, published the app, told Claude to push the assets again, and all nine images uploaded on the retry.
Advertising Ops Does the Research Before You Spend
Advertising Ops is a Claude Code skill I built that acts as your CMO in a box. It scrapes long-running winning ads out of the Meta Ad Library, tears down the creative and the copy, and then generates new ad copy plus image and video variations ready to launch.
The research half is the part that matters most. It runs through the Apify MCP, hitting two actors, Facebook Ad Library and Instagram Ads, so it pulls the assets without you scrolling the library by hand.
The filter it sets is the whole trick. In the Meta Ad Library you set a date range going back at least two to three months and keep only active ads. If an ad has been running that long and is still live, somebody is paying for it because it converts. That’s the data worth mimicking.
Grab it on the Advertising Ops resource page, then run it in research-only mode first:
Do research on AI training. Create a folder for the findings, pull all the assets, show me the top performing ads we’re going to mimic from. Don’t create anything yet. Make sure you get the text copy.
What the Research Sweep Actually Returned
My sweep on “AI training” came back with a folder split into image ads and video ads, each with the creative downloaded, the ad library link, and the full text copy pulled out.
Five image campaigns, and honestly two of them were useless to me because they were generic stock-looking creative with no relevance to what I sell. Campaign three and campaign five were the ones worth copying.
The video side was more useful. It downloaded each MP4 with its copy attached. One was a straight talking-head. One was clearly AI generated end to end, which told me the bar in this niche is lower than I assumed.
That’s the honest read. The sweep does not hand you nine perfect competitors. It hands you a folder, and you spend ten minutes deciding which two or three are actually in your lane. That judgment is still yours.
How Long Does It Take to Build a Campaign This Way?
The full build in the video runs 17 minutes on screen, and the slow parts are the Apify sweep and the image generation, not Claude.
Here’s what one campaign looked like. One campaign, three ad sets, three ads in each, so nine creatives total. I told Claude to take the findings, build the campaign, and generate the images through the Higgsfield MCP.
The image generation took four rounds. Version one produced near-identical images across ad set one and none of them were clean. Rounds two and three got closer. On round four I told it to pull the color scheme off my actual website and pick its own best output, and those were the ones I shipped.
Are they perfect? No. One was too tight, one was flat out bad, the rest were usable as a first pass before post-production. For zero special prompting on a product with no brand kit yet, that’s a fair trade. If you want tighter creative, run Higgsfield yourself and hand the finished assets to Claude to place.
What Claude Got Wrong, and What That Means for You
Claude Code handles the structure of a Facebook ads campaign well and the taste poorly. That split is the useful thing to understand before you hand it a budget.
What it got right on the first pass: budget set correctly, campaign objective correct, all three ad sets paused as instructed, targeting matched what I asked for, website link attached to every ad, nine creatives uploaded once the app was published.
What needed me: image quality across four rounds, ad descriptions I rewrote by hand, and the call on which scraped competitor ads were actually relevant to my offer.
Keeping a human in the loop is not a weakness of this system, it’s the design. One of the agency owners in my community runs the same setup with a hard rule: Claude writes a script that pushes campaigns in one consistent format, and every campaign lands in Business Manager paused. Copy that rule.
Key Takeaways
- The Meta Ads MCP is official and free. 95 tools at
https://mcp.facebook.com/ads, roughly ten minutes of Meta paperwork to connect. - Publish your app before you build. A development-mode app builds campaigns fine and silently refuses to attach creatives.
- Assign the app to your system user. Ad account and Page are the obvious ones. The app is the one that gets skipped and breaks everything.
- Research first, generate second. Run Advertising Ops in research-only mode, filter to active ads running two to three months, then build.
- Always start paused. Every campaign an agent creates gets reviewed before a dollar moves.
- Business requirements beat technical ones. A clear offer, a landing page, a payment processor and back-end nurture matter more than the MCP.
- Budget the creative rounds. Nine images took four generation passes to reach usable, and they still needed edits.
This is the same pattern behind everything I build: a research layer, an execution layer, and a review gate you own. If you want the wider version of that idea, read the 3-step system to build an agentic OS, which is the architecture this campaign build sits inside.
Where to Go From Here
Not sure what to fix first?
Most people don’t need another AI tool. They need to know which thing is actually costing them the most. The AI Bottleneck Finder asks you a handful of questions, then tells you the one constraint capping your revenue right now plus two builds you could ship this week. Five minutes, free, no call required.
Take the free AI Bottleneck Finder →
Want the files instead? Both resources from this build are free on charlieautomates.com:
If you get stuck on Business Manager permissions, that’s the single most common failure point, and it comes up constantly in the community. Join CC Strategic AI on Skool and ask in the feed. There’s a full A to Z Claude Code mastery course in there at no cost, and weekly calls on Premium where we work through this live.
New builds like this one drop every week on my YouTube channel @charlieautomates.
FAQ
What is the Meta Ads MCP?
The Meta Ads MCP is Meta’s official Model Context Protocol server for advertising, hosted at https://mcp.facebook.com/ads. It gives an AI agent like Claude Code 95 tools for creating and managing campaigns, ad sets, ads, creatives and reporting inside your Meta ad account.
Can Claude Code actually create Facebook ad campaigns? Yes. With the Meta Ads MCP connected and a system user token in place, Claude Code creates the campaign, the ad sets, the targeting, the budget, and attaches creatives and copy. The campaign appears in Meta Ads Manager like any other. Ask for it paused so you review before spend starts.
Do I need a Meta developer account to use the Meta Ads MCP? Yes. A Meta developer account and a Meta app are both non-negotiable. The app has to be created at developers.facebook.com, added to your Business Manager by App ID, assigned to a system user, and published before it can push creative assets.
Why won’t my images upload to the Meta campaign? Because your Meta app is still in development mode. Open your app, go to Publish, add a Privacy Policy URL and terms, then publish. Tell Claude to push the assets again and they upload. Campaign structure builds fine before publishing, which is what makes this failure confusing.
Is it safe to give Claude a Meta system user token?
The token can spend your money, so treat it like a credit card and not a password. Do not paste it into chat. Ask Claude where to store it in your file system, use a .env or your MCP config, and never commit it. Set a 60-day expiration if you want forced rotation.
How much does the Meta Ads MCP cost? The MCP itself is free from Meta. What costs money is your ad budget, the Apify runs behind the Advertising Ops research sweep, which are fractions of a cent per scrape, and image generation credits if you use Higgsfield for the creatives.
Do I still need to know media buying? You need the business side: a clear offer, a landing page, pricing, a payment processor, and a nurture sequence. I am not an ads expert, and my expertise is in agentic systems. That combination is exactly what this setup is for, using the agent to shorten the learning curve on the platform while you own the offer.
What is Advertising Ops? Advertising Ops is a free Claude Code skill from Charlie Automates that scrapes long-running winning ads from the Meta Ad Library through Apify, tears down the creative and the copy, then acts as a CMO to generate new ad copy and creative variations ready to push through the Meta Ads MCP. Get it on the Founder’s Toolkit.