v0.2.0 just shipped · free · MIT

Meta Ads MCP

Control Facebook & Instagram Ads from Claude, Cursor, ChatGPT, or any MCP agent.

Direct Meta Graph API v24.0 wrapper. 32 tools. No backend — your token talks straight to Meta.

v0.2.0 32 tools Node ≥20 MIT

Meta's API is powerful, but punishing

Five walls that trip up every first-time automation. All five are already handled by the MCP.

🚧
Rate limit #17
User request limit reached mid-launch.
Fixed via Meta Batch API (up to 50 ops / call).
Token expiry
User tokens die every ~2 hours.
Enhanced errors point to stable System User tokens.
📉
v22 → v24
instagram_actor_id, degrees_of_freedom_spec — gone.
MCP uses v24 field names only.
🖼️
Image hashes
Per-account — "Image Not Found" on account #2.
Re-upload documented; caching in v0.3.
🚫
250-ads / Page
Silent cap — 251st ad fails review silently.
ads_volume pre-flight inside every activate batch.

Install

Pick your client. Each is <30 seconds.

S
Smithery
Easiest — auto-configures your client
Recommended
npx -y @smithery/cli install @getscaleforge/mcp-meta-ads --client claude

Also: --client cursor · windsurf · continue. Smithery will prompt for the Meta token and write the config.

>_
Claude Code CLI
One command — uses your existing auth
claude mcp add scaleforge --env META_ACCESS_TOKEN=YOUR_TOKEN -- npx -y @getscaleforge/mcp-meta-ads

Replace YOUR_TOKEN. Verify with claude mcp list.

🪝
Claude Desktop
Manual JSON config
{
  "mcpServers": {
    "meta-ads": {
      "command": "npx",
      "args": ["-y", "@getscaleforge/mcp-meta-ads"],
      "env": {
        "META_ACCESS_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}
Where to put this config
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json

Restart Claude Desktop. The 32 tools appear under the hammer icon.

C
Cursor
Deep-link or manual .cursor/mcp.json
Add to Cursor

Cursor will prompt for your Meta token on install.

Deep-link not working? Use manual config
{
  "mcpServers": {
    "meta-ads": {
      "command": "npx",
      "args": ["-y", "@getscaleforge/mcp-meta-ads"],
      "env": { "META_ACCESS_TOKEN": "YOUR_TOKEN_HERE" }
    }
  }
}

Save as .cursor/mcp.json in your project, or ~/.cursor/mcp.json globally.

Want to poke it without a client? Run META_ACCESS_TOKEN=… npx -y @modelcontextprotocol/inspector npx -y @getscaleforge/mcp-meta-ads — the Inspector lets you call any of the 32 tools interactively.

Need a Meta access token?

Two options — pick based on your use case.

Fast expires in ~2h

Quick token

Good for trying the MCP and one-off experiments. Grab it from the Graph API Explorer in 2 minutes.

Steps →
Stable never expires

System User token

What every production Meta integration uses. Generated inside Business Manager, scoped to specific ad accounts + Pages.

Full walkthrough →

32 tools across 10 categories

Everything you'd run in Ads Manager, now callable by prompt.

3
Accounts
5
Campaigns
5
Ad Sets
4
Ads
4
Creatives
2
Media
3
Insights
3
Bulk
2
Pages
1
Ads Library
MIT-licensed · Built by the ScaleForge team