Control Facebook & Instagram Ads via Meta Graph API v24.0. 32 tools, no backend required.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Scaleforge MCP Meta Ads.
list_ad_accountsList Ad Accounts accessible to the token
get_ad_accountDetailed info for one account (status, spend cap, balance)
get_ads_volumePer-Page running-ads count + limit + remaining slots (pre-flight check)
list_campaignsPaginated campaign list
get_campaignSingle campaign by ID
create_campaignWRITE** β create new campaign (defaults to PAUSED)
Control Facebook & Instagram Ads from Claude, ChatGPT, Cursor, or any MCP-compatible agent.
Direct Meta Graph API v24.0 wrapper. 32 tools. No backend required β just bring your own Meta access token.
Meta's Marketing API is powerful but punishing. Anyone who's tried to automate Meta Ads has run into these five walls:
User request limit reached halfway through a launch and leaves campaigns in a half-configured state. Meta's per-account budget of calls resets over 5 minutes, but nothing in the API tells you that without context.(#190) Error validating access token.instagram_actor_id β instagram_user_id, degrees_of_freedom_spec is gone entirely, asset_feed_id has been deprecated since v3.1. Copy-pasted sample code from Stack Overflow breaks silently.Image Not Found on the second account. Video IDs are global, but image hashes are not. This trips up 100% of first-time multi-account automations.This MCP is a thin, typed wrapper over Meta's Graph API with those five pains baked out:
pause_campaigns_batch, activate_campaigns_batch, update_bids_batch) β up to 50 ops per HTTP request, chunked automatically. Sidesteps rate-limit code #17 for bulk work.get_pbia) β when a Page has no linked Instagram account, the MCP creates a Page-Backed Instagram Account on demand so IG placements work.No ScaleForge backend is in the chain. Your agent β this MCP β https://graph.facebook.com/v24.0/*. That's it.
Use the ScaleForge-hosted Streamable HTTP endpoint β zero install, nothing to run locally:
https://smithery.ai/server/kirichyk-misha/meta-ads (one-click install for Claude Desktop, Cursor, Windsurf, Continue, ChatGPT Desktop β Smithery prompts for your Meta token, writes the config).https://getscaleforge.com/mcp (MCP Streamable HTTP). Supply your token via Smithery session config or Authorization: Bearer <token> header.Prefer a local npm install? Use the stdio package below.
Smithery will prompt you for the Meta access token and write the config file.
Verify with claude mcp list.
Edit ~/Library/Application Support/Claude/claude_desktop_config.json on macOS (or the Windows / Linux equivalent β Claude Desktop creates it if missing):
Restart Claude Desktop. The 32 tools appear under the hammer icon.
Create .cursor/mcp.json in your project (or ~/.cursor/mcp.json globally):
The server starts on stdio. Poke it interactively with @modelcontextprotocol/inspector:
The MCP is a thin, typed translation layer. It does not cache, does not proxy, does not phone home. Every call goes from your machine straight to Meta's servers with your token.
You need an access token with ads_management, ads_read, business_management, and (for Page-scoped work like PBIA provisioning) pages_read_engagement + pages_manage_ads.
There are two kinds of tokens. Pick based on your use case.
Good for: trying the MCP, quick experiments, one-off scripts.
ads_management, ads_read, business_management, pages_read_engagement, pages_manage_ads.META_ACCESS_TOKEN.The token expires in ~2 hours. When it dies, the MCP will return an enhanced error pointing you here.
Good for: production, scheduled jobs, anything you don't want to re-auth every 2 hours.
You generate a System User token inside Meta Business Manager. System User tokens have no expiry and can be scoped to specific assets (ad accounts + Pages). This is the same token type ScaleForge and every production Meta integration uses.
mcp-meta-ads) β role Admin.
[screenshot: Business Settings β Users β System Users tab with "Add" button]ads_managementads_readbusiness_managementpages_read_engagementpages_manage_adsread_insights (optional β needed for some insight breakdowns)
[screenshot: Generate Token dialog with scopes checklist]Now use it:
If you revoke or regenerate later, the old token stops working immediately.
| Meta pain point | How this MCP handles it |
|---|---|
| Rate limit code #17 in bulk ops | pause_campaigns_batch, activate_campaigns_batch, update_bids_batch use Meta Batch API (up to 50 ops/request) with auto-chunking and a 2s gap between chunks. |
| 250-ads-per-Page silent cap | get_ads_volume + automatic pre-flight check inside activate_campaigns_batch β warnings come back in the response before Meta starts any review. |
| Token-expired errors | enhanceMetaError detects codes 190 / 102 / 104 / 463 / 467 and returns a message pointing to the stable-token setup. |
| Instagram placements without IG login | get_pbia auto-creates a Page-Backed Instagram Account and returns the instagram_user_id for your object_story_spec. |
| v22 deprecations | Uses instagram_user_id, no degrees_of_freedom_spec, no asset_feed_id. |
| Image hash scoping | Documented on upload_image + create_ad_creative β hashes are per-account, you must re-upload to each target account. (Cached per-account caching logic lives in ScaleForge's backend and will be added here in a later release.) |
32 tools across 10 categories.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/scaleforge-mcp-meta-ads)<a href="https://allmcps.com/mcp/scaleforge-mcp-meta-ads"><img src="https://allmcps.com/api/badge/scaleforge-mcp-meta-ads?style=directory" alt="Scaleforge MCP Meta Ads on AllMCPs" /></a>