meta-ads-manager-mcp is an early independent open source MCP server for the Meta Ads API, published before Meta later introduced its official Ads AI Connectors. Describe the campaign you want in plain English. Every campaign starts paused so you review before a dollar gets spent.
Attainment published this open source MCP server in February 2026. Meta later introduced official Ads AI Connectors, including a hosted ads MCP endpoint and official Ads CLI.
You want Meta-hosted OAuth, first-party support, and a connector managed by Meta.
Read Meta's launch postYou want a lightweight, forkable, self-managed MCP server that runs with your own Meta app credentials.
Read the playbookCampaign creation, ad set targeting, creative upload, ad copy, billing, reporting. Each step lives in a different corner of Business Manager.
12+
steps to launch a single ad in Business Manager
4 tabs
minimum to create campaign, ad set, creative, and ad
1 prompt
to do all of it with meta-ads-manager-mcp
Add the server to your Claude config. Then manage campaigns in plain English. No API docs. No form fields. No tab switching.
Example prompt
"Create a Meta campaign targeting US fitness enthusiasts aged 25-40. Daily budget $30. Use the image at /Users/me/ads/hero.jpg. Copy: 'Track every rep. Hit every goal.' Headline: 'FitCommit AI'. CTA: Learn More. Link to fitcommit.ai."
Claude uploads the image, creates the campaign, builds the ad set with targeting, assembles the creative, and returns a campaign ID. Campaign starts paused.
create_meta_campaign
Full campaign setup: campaign, ad set, creatives, and ads in one call.
get_campaign_status
Check status of a campaign and all its ad sets and ads.
pause_campaign
Pause a live campaign immediately.
activate_campaign
Go live with a paused campaign.
delete_campaign
Permanently delete a campaign.
Every campaign starts as PAUSED regardless of settings. dry_run mode simulates all API calls without making them. You review before anything goes live or spends money.
All campaigns create with status PAUSED. Nothing goes live until you explicitly call activate_campaign. Review the targeting, budget, and creative first.
create_meta_campaign defaults to dry_run=True. Simulates every API call and returns mock IDs without touching your account or budget. Set to False when you are ready.
Easiest: paste one prompt into Claude Code. It sets up everything automatically.
Option 1: Claude Code (easiest)
Paste this into Claude Code:
"Set up meta-ads-mcp for me: https://github.com/attainmentlabs/meta-ads-mcp"
Claude checks your environment, walks you through Meta credentials step by step, edits your ~/.mcp.json, and confirms when done.
Option 2: Manual via uvx
Add to ~/.mcp.json:
{
"mcpServers": {
"meta-ads": {
"command": "uvx",
"args": ["meta-ads-manager-mcp"],
"env": {
"META_ACCESS_TOKEN": "your-token",
"META_AD_ACCOUNT_ID": "your-account-id",
"META_PAGE_ID": "your-page-id"
}
}
}
}Need your Meta credentials? Read the setup guide
meta-ads-manager-mcp is the open source version. The client version is scoped to your workflows, integrated with your CRM, and deployed inside a broader AI automation system.
This tool
Client deployment
The free tool gets you started. The full version is scoped to your ad strategy, connected to your systems, and built by our team.