meta-ads-mcp-server
Gives Claude Desktop direct access to your Meta ad account data — campaign performance, creative analysis, audience breakdowns, and budget pacing.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@meta-ads-mcp-serverShow me my active campaigns"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Meta Ads MCP Server
MCP Server for the Meta Marketing API. Gives Claude Desktop direct access to your ad account data — campaign performance, creative analysis, audience breakdowns, and budget pacing.
Tools
Tool | Description |
| List campaigns with status, objective, and budget info |
| Core KPIs: spend, impressions, CTR, CPC, CPM, CPA, ROAS |
| Creative-level metrics including video hook rate and thruplay rate |
| Inline-render ad creative images (full-resolution by default, |
| Performance broken down by age and/or gender |
| Budget pacing and daily spend status for active campaigns |
| List all ad accounts the token has access to |
| List ad sets / ads with optional filtering |
| Diagnostic helpers for troubleshooting field/breakdown issues |
Related MCP server: meta-mcp
Setup
1. Install & Build
git clone https://github.com/YOUR_USERNAME/meta-ads-mcp-server.git
cd meta-ads-mcp-server
npm install
npm run build2. Configure Environment
cp .env.example .envEdit .env with your credentials:
META_ACCESS_TOKEN=your_meta_api_token
META_AD_ACCOUNT_ID=act_123456789Getting your credentials:
Ad Account ID: Found in Meta Ads Manager URL or account dropdown. Prefix with
act_.Access Token: Generate at Meta Graph API Explorer with
ads_readpermission. Short-lived tokens (~2h) can be exchanged for 60-day long-lived tokens viaGET /oauth/access_token?grant_type=fb_exchange_token&client_id={APP_ID}&client_secret={APP_SECRET}&fb_exchange_token={SHORT_TOKEN}.
The
.envfile takes precedence over environment variables passed by Claude Desktop. If Claude Desktop'sclaude_desktop_config.jsoncontains a staleMETA_ACCESS_TOKEN, the value in.envwins. Update.envto rotate the token without touching Claude Desktop config.
3. Add to Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"meta-ads": {
"command": "node",
"args": ["/absolute/path/to/meta-ads-mcp-server/dist/index.js"]
}
}
}On macOS with Homebrew Node, use
/opt/homebrew/bin/nodeas the command.
Restart Claude Desktop. The tools will be available automatically.
Usage Examples
Ask Claude things like:
"Show me my active campaigns"
"How did campaign 120210001 perform last 7 days?"
"Compare creative performance for my Summer Sale campaign"
"Break down my campaign audience by age and gender"
"Are any campaigns overspending today?"
Architecture
src/
├── index.ts → MCP server setup, tool registration
├── types.ts → Shared interfaces (MetaInsight, MetaAction, etc.)
├── fields.ts → Reusable Meta API field selections
├── formatters.ts → KPI calculations, number formatting
├── meta-client.ts → Meta API client (loads .env with override:true)
└── tools/
├── campaigns.ts → get_campaigns
├── performance.ts → get_campaign_performance
├── creatives.ts → get_creative_performance
├── ad-creatives.ts → get_ad_creatives (inline image rendering)
├── audience.ts → get_audience_breakdown
├── budget.ts → get_budget_status
├── accounts.ts → get_ad_accounts
├── adsets.ts → get_adsets
├── ads.ts → get_ads
└── debug.ts → debug helpersMeta API Notes
Budgets are in cents.
daily_budget: "5000"= €50.00Actions are arrays. Always parsed with
extractAction(), never accessed directlyBreakdowns multiply rows.
age,gendergives ~14 rows per campaign (7 age groups × 2 genders)Video fields may be missing. Non-video ads won't have
video_thruplay_watched_actionsdate_preset vs time_range: Never send both — Meta throws an error
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jonathanposovatz/meta-ads-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server