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 Ads MCP Server
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.
Related MCP Servers
- AlicenseCqualityCmaintenanceA local Model Context Protocol server that enables interaction with the Meta Marketing API to manage ad accounts, campaigns, and creatives. It provides tools for targeting research, insight reporting, and campaign management through local MCP clients like Claude Code and Cursor.Last updated4051AGPL 3.0
- Flicense-qualityDmaintenanceA comprehensive MCP server for managing and analyzing Meta Ads (Facebook/Instagram) with over 80 natural-language tools for AI agents like Claude Desktop.Last updated
- AlicenseAqualityDmaintenanceMCP server to manage Meta Ads (Facebook/Instagram) campaigns, ad sets, insights, and audiences from Claude Code using natural language.Last updated99MIT
- Alicense-qualityDmaintenanceMCP server for Meta Ads providing 30 tools for account discovery, campaign management, targeting research, and insights. Designed with LLM-friendly outputs and productivity features like cloning and bulk operations.Last updated1MIT
Related MCP Connectors
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
OpenAI Ads MCP for ChatGPT Ads campaigns, creatives, audiences, insights, and conversions.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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