If you already plan campaigns, write copy and sort creative in Claude, the slow part is the last mile: clicking each ad into Ads Manager, naming it, picking placements and remembering to switch off every Advantage+ enhancement. This guide shows how to hand that last mile to Claude with Ad Uploader, a connector (MCP server) for Claude and Codex.
What you need
- A Meta ad account you can manage, and the Facebook login that goes with it.
- Claude (Free works with one custom connector), Claude Code, Codex or Cursor.
- Your creatives in a Google Drive folder, a Dropbox link or at direct URLs.
Step 1: connect Facebook and add the connector
Start a free trial and click Connect Facebook on the connect page. It's Meta's own login screen, so Ad Uploader never sees your password. If your creatives live in private Drive folders, connect Google Drive too. Otherwise share each folder as "Anyone with the link".
Then add the connector. In Claude Code:
claude mcp add --transport http ad-uploader https://app.aduploader.com/api/mcp
In Claude Desktop or claude.ai, go to Settings → Connectors → Add custom connector and paste https://app.aduploader.com/api/mcp. Setup for Codex and Cursor is on the how it works page. The first time Claude uses the connector, it opens a sign-in window.
Step 2: name your files so they group themselves
Ad Uploader reads filename tags. hook1_4x5.mp4 and hook1_9x16.mp4 become one ad, with the 4:5 file in feed placements and the 9:16 file in stories and reels. Add hook1_thumb.jpg and it becomes that video's thumbnail. A folder of 24 files can turn into 12 ads without any manual pairing.
Step 3: write the brief like you'd brief a buyer
Paste the link and say what you want in plain English:
Take the ads in this Drive folder and add them to Spring Sale as new ad sets, 5 per set, $50/day https://drive.google.com/drive/folders/1AbC…
On the first launch for an ad account, Claude asks a few setup questions: which Page to use, your naming style, and your landing URL and UTMs. It saves the answers as that account's defaults, so next time it won't ask.
Step 4: read the preview, then say yes
Nothing is created until you've seen the plan. Claude shows a preview like this:
LAUNCH PREVIEW — nothing has been created yet Campaign: Spring Sale (existing, ABO) Status on creation: PAUSED (nothing spends until you activate) Ad sets: 3 (3 new) 1. Spring Sale | Set | 01 — Broad US 18–65 · $50.00/day (5 ads) 2. Spring Sale | Set | 02 — Broad US 18–65 · $50.00/day (5 ads) 3. Spring Sale | Set | 03 — Broad US 18–65 · $50.00/day (2 ads) Advantage+ creative: all enhancements off Totals: 3 ad sets · 12 ads · $150.00/day
Check the names, the budget and the totals. If something's off, just say so ("make it 4 per set", "use the Broad AU ad set's targeting") and Claude rebuilds the preview. When it's right, reply yes.
Step 5: switch it on in Ads Manager
Claude reports back with how many ad sets and ads were created and a link to review them in Ads Manager. Everything is paused. Open the link, give it a final look, and turn on the ad sets you want. Or ask Claude to activate them. That needs an explicit yes too.
Tips
- Keep Meta's own connector too. Meta's Ads MCP is good for reporting and one-off edits. Ad Uploader handles the launching. See what Meta's MCP can and can't do.
- Agencies: defaults are saved per ad account, so each client keeps its own Page, copy and UTMs.
- Errors come back in plain language. If Meta rejects an image for too much text, that's what Claude tells you.
Start a 7-day free trial. No card needed, and the connector is included.