mcpserver.lol
registry/meta-ads
Connection check verified live · 20h ago

meta-ads

Meta Ads MCP: bulk-create Facebook & Instagram ads across accounts from Drive folders, guardrailed.

Tools 23
GitHub stars
Installs / wk
Licence
Transport streamable-http
Last checked 20h ago

Tools & capabilities

23 tools

Read from the running server on 20h ago.

add_ad_to_adset ctaad_namepage_idadset_id*headlineimage_hash +5
Add a NEW ad (with creative) to an EXISTING ad set. Created PAUSED. Accepts either an existing creative_id, a library image_hash (this is where saved library creatives CAN be used)…
bulk_create_campaigns confirmpage_idpixel_idcampaigns*catalogIdproductSetId +2
Create many Meta campaigns at once on ONE account (rate-limit-safe, validated). WRITES live. Honors plan limits, spend guardrails, and capacity. Auto-uses the correct Page/Instagra…
bulk_create_multi_account confirmcampaigns*account_ids*
Launch the SAME campaign set across MULTIPLE ad accounts in one call (up to 5 accounts; chain calls for more). Each account gets its own currency-aware guardrails, capacity check (…
check_capacity read-only campaign_countmeta_account_id*
Check an ad account's current Meta API rate-limit headroom BEFORE a bulk run. Read-only. Returns GO/TIGHT/SPLIT/WAIT_OR_SPLIT/WAIT + utilization + regain minutes.
create_campaign appIduseCBOheadlineimageUrlvideoUrlcatalogId +19
Create ONE Meta campaign (created PAUSED for review). Free-plan friendly — counts toward your monthly campaign limit. To launch many at once or from a Drive folder, use bulk_create…
create_structured campaigns*meta_account_id
Create ONE campaign with MULTIPLE ad sets and MULTIPLE ads each (1 campaign -> N ad sets -> M ads), image or video, including DPA/Catalog dynamic product ads. Created PAUSED. Honor…
delete_campaigns can modify data confirm*campaign_ids*meta_account_id
PERMANENTLY delete campaigns/ad sets/ads by ID. Irreversible — requires confirm:true. Use pause instead if unsure.
estimate_bulk_create read-only count*
Estimate how long bulk creation will take for N campaigns. Read-only.
get_ad_accounts read-only
List the Meta ad accounts connected to this Adbloop user, with the Page NAME + Instagram username + pixel each account uses. Use this to resolve a spoken account/page name to IDs.
get_campaign_structure read-only campaign_id*meta_account_id
Full tree of one campaign: its ad sets and every ad inside each. Read-only.
get_creative_library read-only limit
List the user's saved creatives. NOTE: image_hash works with add_ad_to_adset, but bulk_create_campaigns needs a public imageUrl (or Drive/Dropbox link). Read-only.
get_guardrails read-only meta_account_id
View the spend safety limits for an account. Read-only. Editable only by the owner in Adbloop settings.
get_insights read-only levellimitsinceuntilcampaign_iddate_preset +1
Rate-limit-safe Meta performance metrics (spend, impressions, clicks, CTR, leads, purchases, ROAS). Read-only.
get_lead_forms read-only page_id*meta_account_id
List the lead-gen forms available on a Facebook Page (for OUTCOME_LEADS campaigns). Read-only.
list_ads read-only limitadset_idmeta_account_id
List ads — across the account or inside one ad set. Includes creative preview info. Read-only.
list_adsets read-only limitcampaign_idmeta_account_id
List ad sets — across the account or inside one campaign. Shows budget, optimization goal, status. Read-only.
list_campaigns read-only afterlimitstatus_filtermeta_account_id
List existing campaigns with status, budget, effective status. Read-only.
list_drive_folder read-only folder_url*
List the images/videos inside a PUBLIC Google Drive folder (must be shared as 'Anyone with the link'). Returns each file's name and a Drive URL usable directly as imageUrl in bulk_…
pause_campaigns campaign_ids*meta_account_id
Pause campaigns/ad sets/ads by ID. Reversible.
resume_campaigns campaign_ids*meta_account_id
Resume (activate) paused campaigns/ad sets/ads by ID. Turns spend ON.
search_targeting read-only query*meta_account_id
Search Meta's targeting interests by keyword (e.g. 'yoga', 'small business owners'). Returns interest names, IDs, and audience sizes — useful when planning campaigns. Read-only.
update_campaign_budget nameentity_id*daily_budgetmeta_account_id*
Change the daily budget (and/or rename) of an existing campaign or ad set. The account is required so the new budget is checked against your spend guardrails. WRITES live.
validate_campaigns read-only campaigns*meta_account_id
Pre-flight check campaign rows BEFORE creating. Read-only. Per-row verdict: will_create / will_create_with_changes / will_fail. Pass meta_account_id to also check spend guardrails.