75 tools, grouped by what they do.

Tools marked WRITE are gated by safety mode — refused by default, returning a manual_steps payload instead.

Competitor watchlist (6)

Track brands and pull their live Meta ads. Powered by the Meta Ad Library — no Meta token required.

  • watchlist_listList brands the user is tracking.
  • watchlist_addAdd a brand by Facebook page name or page ID.
  • watchlist_removeStop tracking a brand.
  • watchlist_feedRecent ads across all tracked brands, ordered newest-first.
  • watchlist_refreshForce a fresh fetch from Meta Ad Library for one or all brands.
  • watchlist_strategyDistilled strategy summary across a brand's last N ads (hooks, formats, offers).

Watchlist groups (7)

Bundle up to 10 brands into a shareable competitive landscape (e.g. 'DTC athleisure').

  • watchlist_group_listList groups the user owns or has access to.
  • watchlist_group_createCreate a new group with a name + slug + brand list.
  • watchlist_group_getFetch a group by slug, including brands and recent ads.
  • watchlist_group_updateRename a group, edit its brand list, or change visibility.
  • watchlist_group_deleteDelete a group (does not remove brands from your watchlist).
  • watchlist_group_sharePublish a group as a read-only public link.
  • watchlist_group_unshareRevoke the public share link for a group.

Direct brand spy (3)

Look up brand pages and ads on demand without committing to a watchlist entry.

  • watch_brands_listBrowse the BrandMov-curated catalog of 10,000+ DTC brands.
  • watch_brand_adsPull a brand's ads from the Meta Ad Library with filters.
  • watch_ad_detailGet the full ad detail (creative, copy, landing) for a single archive ID.

Brand scan & alerts (3)

Scan a website for brand metadata, configure email alerts.

  • brand_scanScrape a URL for brand name, logo, FB page, IG handle.
  • alerts_get_settingsRead the user's competitor-alert digest config.
  • alerts_update_settingsUpdate digest cadence, recipients, and brand filters.

Swipe files (8)

Save the best ads from your watchlist into named collections, optionally publish as read-only links.

  • swipe_file_listList swipe files the user owns.
  • swipe_file_createCreate a swipe file with a name and optional description.
  • swipe_file_deleteDelete a swipe file (does not remove ads from Meta).
  • swipe_file_adsList ads saved in a swipe file.
  • swipe_file_save_adSave an ad (by archive ID) into a swipe file.
  • swipe_file_sharePublish a swipe file as a read-only public URL.
  • swipe_file_unshareRevoke the public link for a swipe file.
  • swipe_file_reportRender a Markdown teardown report for a swipe file.

Ad idea generation (1)

Use a competitor's ads as raw material for a new concept.

  • generate_ad_ideaPick a competitor ad and produce a hook + visual concept + reasoning for your own brand.

Meta accounts (read) (3)

Discover the ad accounts and pages the connected user can manage.

  • get_ad_accountsList all ad accounts the access token can see.
  • get_account_infoAccount details: currency, timezone, status, business.
  • get_account_pagesFacebook pages owned by or linked to the ad account.

Meta campaigns / ad sets / ads (read) (12)

Inspect existing campaigns, ad sets, ads, and creatives.

  • get_campaignsList campaigns on an account, with status filters.
  • get_campaign_detailsFull campaign object with budgets, objective, dates.
  • get_adsetsList ad sets in a campaign or account.
  • get_adset_detailsFull ad set object with targeting + bidding.
  • get_adsList ads in an ad set, campaign, or account.
  • get_ad_detailsFull ad object with creative reference.
  • get_ad_creativesCreatives attached to a specific ad.
  • get_creative_detailsResolve a creative ID into copy, image hash, link.
  • get_ad_imagePull the rendered image for an ad.
  • get_ad_videoPull the video URL for an ad.
  • search_pages_by_nameSearch Facebook pages by name (for picking a page when building creatives).
  • list_budget_schedulesList scheduled budget changes on a campaign.

Meta insights (1)

Pull performance reporting with sane compaction defaults for LLMs.

  • get_insightsInsights for ads / ad sets / campaigns / accounts. compact=True strips omni_*, onsite_web_*, and offsite_conversion.fb_pixel_* prefixes that drown agents in noise.

Meta Ads Archive (1)

Search the public Meta ad library for any advertiser.

  • search_ads_archiveSearch ads by page name or keyword across countries and date ranges.

Targeting & audience (6)

Resolve interests, behaviors, demographics, and geo for ad-set targeting.

  • search_interestsSearch Meta's interest taxonomy for a keyword.
  • get_interest_suggestionsAdjacent interests for a seed list.
  • search_behaviorsSearch Meta behavior segments.
  • search_demographicsSearch demographic segments (life events, education, etc.).
  • search_geo_locationsResolve country / region / city / DMA codes for targeting.
  • estimate_audience_sizeReach estimate for a targeting spec, or a quick interest-list estimate.

Meta utilities (1)

Helpers that don't fit a single CRUD bucket.

  • compute_image_cropsCompute placement-aware crops (FEED, STORY, REELS) from a source image.

Ad brain — validators, monitors, and the rulebook (9)

BrandMov's paid-ads rulebook, callable. Consult the rules that apply to a decision, validate a drafted plan before publish, classify live ad-set performance, and diagnose delivery / fatigue / learning-reset risk without re-inventing thresholds on every run.

  • ad_brain_consultReturn rules from the brain — full index, by surface (copy / creative / tracking / structure-and-budget / performance / meta-quirks / account-health), or by rule id.
  • ad_brain_check_ad_copyValidate ad text: em dashes, Meta/Facebook brand words, personal sign-offs, colon-elaboration tell, cheap-offer price nudge.
  • ad_brain_check_link_urlValidate an ad's link URL carries utm_source=facebook and a per-creative utm_content for PostHog attribution.
  • ad_brain_check_launch_configPre-launch checklist: paused-at-creation, feed-only-v1 placements, CBO off for small tests, low-budget objective pairing, pixel attach, plus nested copy + link checks. Pass whatever fields you have.
  • ad_brain_check_budget_changeValidate a proposed budget raise against the +20% / 2x cap so learning phase isn't reset.
  • ad_brain_classify_adset_performanceClassify a live ad set from its 7-day numbers into winner / dead_on_arrival / spend_skew / wasted / learning / watch — canonical labels the agent doesn't have to reinvent every morning.
  • ad_brain_diagnose_zero_deliveryExplain zero impressions before you escalate. Applies the 48h post-edit relearn rule so the agent doesn't spend-chase during Meta's known-benign delivery pause.
  • ad_brain_check_learning_reset_riskWarn (or block) an edit that will reset Meta's learning phase. Creative and targeting always reset; budget/bid/schedule reset over 20%. Blocks when the ad set is currently in learning.
  • ad_brain_check_creative_fatigueClassify a creative's fatigue state (rotate / watch / keep) from days_live + frequency + CTR decay + CPA spike (Winner Decay signal).

Meta writes — gated by safety mode (14)

Refused by default in safety mode (read-only). When enabled, every create/update still ships PAUSED.

  • create_campaignWRITECreate a campaign with objective, budget, and special ad categories.
  • update_campaignWRITEUpdate a campaign's name, status, budget, objective, or bid strategy.
  • create_adsetWRITECreate an ad set with targeting, optimization goal, billing event, schedule.
  • update_adsetWRITEUpdate an ad set's audience, budget, schedule, or status.
  • create_adWRITECreate an ad inside an ad set, using an existing creative or inline spec.
  • update_adWRITEUpdate an ad's name, creative, or status.
  • create_ad_creativeWRITECreate a creative — simple link/video, dynamic asset feed, or full spec.
  • update_ad_creativeWRITE(Meta-limited) Replaces the creative; usually means create-new + reattach.
  • upload_ad_imageWRITEUpload an image to the ad account's media library, return the image hash.
  • create_budget_scheduleWRITESchedule a temporary budget change on a campaign (e.g. Black Friday).
  • duplicate_campaignWRITEDuplicate a campaign's settings into a new campaign in the same account.
  • duplicate_adsetWRITEDuplicate an ad set into the same or a different campaign.
  • duplicate_adWRITEDuplicate an ad into the same or a different ad set, reusing the creative.
  • duplicate_creativeWRITEDuplicate a creative with optional copy / link rewrites.
Want copy-pasteable prompts? See workflows — recipes that chain these tools end-to-end.