Skip to content
Agentmart
Submit a tool

Scaleforge MCP Meta Ads

Meta Ads MCP by ScaleForge — control Facebook & Instagram Ads via Graph API v24.0.

Connector by Mike25app · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)
Write a review

Chalk Labs

Need help deploying Scaleforge MCP Meta Ads?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/mike25app-scaleforge-mcp-meta-ads

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Meta Ads MCP by ScaleForge — control Facebook & Instagram Ads via Graph API v24.0. 32 tools.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
17 read · 12 write · 3 delete
Secrets
1 (API keys, tokens or passwords)
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 32

Read from the source code; the running server may list different tools.

Read 17 · Look things up without changing anything.

  • get_ad
  • get_ad_account
  • get_ad_insights
  • get_ads_volume
  • get_adset
  • get_adset_insights
  • get_campaign
  • get_campaign_insights
  • get_creative
  • get_pbia
  • list_ad_accounts
  • list_ads
Show 5 more tools
  • list_adsets
  • list_campaigns
  • list_creatives
  • list_pages
  • search_ads_library

Write 12 · Create, change, send or run things.

  • activate_campaigns_batch
  • create_ad_creative
  • create_ad_creative_with_asset_feed
  • create_adset
  • create_campaign
  • pause_campaigns_batch
  • update_ad
  • update_adset
  • update_bids_batch
  • update_campaign
  • upload_image
  • upload_video

Delete 3 · Delete, drop, revoke or wipe things.

  • delete_ad
  • delete_adset
  • delete_campaign

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • META_ACCESS_TOKEN

Files it touches

  • Any path the agent passes to its tools

Tools (32)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • activate_campaigns_batch

    WRITE (BULK): Activate many campaigns in one Batch API call. BEFORE activation we run a per-Page ads_volume pre-flight for every distinct ad account — warnings are returned in the response so the agent / user can abort if a Page is over capacity. Agents MUST confirm with the user before calling this (activation starts spend immediately).

  • create_ad_creative

    WRITE: Create a single-text ad creative from an `object_story_spec`. Pass page_id plus ONE of: video_data (for video ads — needs video_id from upload_video), link_data (for image / link ads — needs image_hash from upload_image + link + message). If the Page is not linked to Instagram, pass `instagram_user_id` from get_pbia() to enable IG placements. Note: image hashes are per-ad-account in Meta — a hash uploaded on account A is NOT valid on account B. Re-upload to each target account.

  • create_ad_creative_with_asset_feed

    WRITE: Create a DYNAMIC (multi-text) creative using `asset_feed_spec`. Meta will auto-combine the bodies/titles/descriptions and optimize the best mix. The parent ad set MUST have is_dynamic_creative=true. Pass arrays of texts plus either video_id(s) or image_hash(es).

  • create_adset

    WRITE: Create an ad set under a campaign. Default status is PAUSED. `targeting` is a Meta targeting spec object (geo_locations, age_min, age_max, interests, etc.). `bid_amount` is in account currency minor units (cents). For multi-text / dynamic creative ads you MUST set is_dynamic_creative=true — otherwise asset_feed_spec ads will be rejected.

  • create_campaign

    WRITE: Create a new campaign. Default status is PAUSED (recommended — set ACTIVE only after creating ad sets and ads). For CBO, pass daily_budget or lifetime_budget at this level; for ABO leave budget off and set it on the ad set. `special_ad_categories` is required (empty array [] is fine for normal advertising).

  • delete_ad

    WRITE: Hard-delete an ad. Prefer update_ad status=ARCHIVED to keep history.

  • delete_adset

    WRITE: Hard-delete an ad set (and its ads). Prefer update_adset status=ARCHIVED to keep history.

  • delete_campaign

    WRITE: Hard-delete a campaign (and its ad sets / ads). Prefer update_campaign with status=ARCHIVED if you want to keep historical data.

  • get_ad

    Get a single ad by ID. Returns full creative + issues + preview link.

  • get_ad_account

    Get detailed info for a single Ad Account: status, spend cap, balance, funding source, business, timezone, disable_reason. Returns the full configuration record — use this for deep inspection of one account.

  • get_ad_insights

    Pull performance metrics for ONE ad. Same fields/breakdowns as get_campaign_insights. Use this to compare creative performance at the individual-ad level.

  • get_ads_volume

    PRE-FLIGHT CHECK: Get per-Page ads-running-or-in-review counts and limits for an ad account. Meta caps active ads per Page (default 250) and this limit is SHARED across every account using the same Page. Always call this before a bulk activation to avoid silent review failures. Returns one row per Page actor.

  • get_adset

    Get a single ad set by ID. Returns default fields plus anything in `fields`.

  • get_adset_insights

    Pull performance metrics for ONE ad set. Same fields/breakdowns as get_campaign_insights.

  • get_campaign

    Get a single campaign by ID. Returns all default fields plus anything in `fields`. Use this for deep inspection of one campaign.

Show 17 more tools
  • get_campaign_insights

    Pull performance metrics for ONE campaign. Default fields: spend, impressions, clicks, cpc, cpm, ctr, reach, frequency, actions, conversions, purchase_roas. Default range: last_7d. Use `breakdowns` for cuts (age, gender, country, placement). Use `time_increment=1` for day-by-day rows.

  • get_creative

    Get a single ad creative by ID.

  • get_pbia

    Get (or auto-create) a Page-Backed Instagram Account for a Facebook Page. Use this when the Page has no linked Instagram account but you want to run ads with IG placements — Meta lets a Page act as its own IG presence via PBIA (same option as 'Use Facebook Page for Instagram' in Ads Manager). Flow: GET the Page's access_token, list existing PBIAs, create one if none exists. Returns {page_backed_instagram_account_id, created (bool)}.

  • list_ad_accounts

    List Meta Ad Accounts accessible to the current access token. Returns id (act_XXX), name, account_status, currency, business_name, spend_cap, timezone_name. Use this first to discover what you can work with.

  • list_ads

    List ads. Pass either `ad_account_id` (all ads in account), `adset_id` (ads in one ad set), or `campaign_id` (ads in a campaign). Returns id, name, adset_id, creative, status.

  • list_adsets

    List ad sets. Pass either `ad_account_id` (lists all adsets in account) OR `campaign_id` (lists adsets of one campaign). Returns id, name, campaign_id, status, daily_budget, bid_amount, billing_event, optimization_goal, targeting, is_dynamic_creative.

  • list_campaigns

    List campaigns in an ad account. Returns id, name, status, objective, daily_budget, lifetime_budget, bid_strategy, created_time. Paginated via `limit` + `after` cursor.

  • list_creatives

    List ad creatives in an account. Returns id, name, object_story_spec, asset_feed_spec, thumbnail_url, video_id, image_hash, body/title.

  • list_pages

    List Facebook Pages the current user/System User manages. Each row has id, name, access_token (Page Access Token — needed for PBIA provisioning), category, tasks (what this token can do on the Page, e.g. 'MANAGE', 'CREATE_CONTENT', 'ADVERTISE').

  • pause_campaigns_batch

    WRITE (BULK): Pause many campaigns in a single Meta Batch API call (up to 50/request; arrays bigger than 50 are chunked automatically with a 2s delay between chunks to sidestep rate-limit code 17). Returns {results: Array<{code, body}>} — one entry per campaign. `code: 200` = success.

  • search_ads_library

    Search Meta's public Ad Library for competitive research. Returns active and inactive ads matching `search_terms` OR `search_page_ids` in the selected countries. Default country = ['US']. Returns ad_snapshot_url (preview), creative bodies/titles, page_id, delivery times, publisher_platforms. Note: only ads in categories subject to public transparency (political / housing / employment / credit) return full metadata; other categories return lighter data.

  • update_ad

    WRITE: Update an ad's name, status, or swap its creative. To replace the creative pass `creative: {creative_id: 'XXX'}`.

  • update_adset

    WRITE: Update any mutable field on an ad set (status, bid_amount, daily_budget, targeting, name, etc.). Pass only the fields you want to change.

  • update_bids_batch

    WRITE (BULK): Update `bid_amount` on many ad sets in one Batch API call. Input is an array of {adset_id, bid_amount_cents} pairs. Bid values are in minor currency units (cents). Chunks of 50 automatically.

  • update_campaign

    WRITE: Update any mutable field on a campaign (name, status, daily_budget, lifetime_budget, bid_strategy). Pass only the fields you want to change.

  • upload_image

    WRITE: Upload an image to an ad account. Returns {images: {filename: {hash}}}. The `hash` is what you pass to create_ad_creative as image_hash. IMPORTANT: Meta image hashes are SCOPED TO THE AD ACCOUNT — a hash uploaded on account A cannot be used on account B. If you need the same image across multiple accounts, call this once per account. (ScaleForge's backend caches hashes per account to avoid re-uploads within the same account.)

  • upload_video

    WRITE: Upload a video to an ad account. Returns {id, title}. Prefer `file_url` (remote URL Meta fetches server-side) — streaming a local file over MCP stdio is awkward and rarely needed when videos live in S3 / Dropbox / a CDN. Local `file_path` is accepted for completeness but may be blocked on Windows / sandboxed MCP hosts.

Signals

Stars
0
Forks
0
Open issues
0
Weekly downloads
64
Last commit
Apr 25, 2026 (6 months ago)
Last release
Apr 17, 2026 (6 months ago)
Last package publish
Apr 17, 2026 (6 months ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.Mike25app/scaleforge-mcp-meta-ads
Version
0.2.3
Auth
API key
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get Scaleforge MCP Meta Ads running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying Scaleforge MCP Meta Ads?

CallGet help
Cite this page

Scaleforge MCP Meta Ads. Agent Mart. https://agentmart.dev/connectors/mike25app-scaleforge-mcp-meta-ads (last updated 2026-10-24)