Skip to main content
Glama
751,349 tools. Updated 2026-11-06 14:20

"Information or resources related to Facebook Ads" matching MCP tools:

  • Delete an ad group. By default the call fails with a 409 when the ad group still has dependent ads or keywords — pass cascade=true to delete them in the same request. Permanently deletes the resource. Irreversible. Scoped to the active Space — see set_active_space to switch, or pass space_id to override for this one call.
    Connector
    Destructive
    API key
  • Publish (or schedule) a post to connected Facebook Pages and Instagram Business accounts from list_channels. Media must be public https URLs (use upload_media / create_upload_link first). Facebook: text, text+link, 1-10 images, or one video. Instagram: needs media - 1 image, a carousel of 2-10 images, or one video (published as a Reel); caption max 2200 chars and 30 hashtags. Omit scheduled_at to publish now and get per-channel permalinks back; pass it to schedule. To also post on LinkedIn, use schedule_post with channel_ids instead. SAFETY: this never publishes or schedules by itself. It returns status 'awaiting_confirmation' and a confirmation link; nothing goes live until the user opens the link and ticks each account (all unticked by default). Always tell the user to open the link and tick the accounts. Never treat 'all accounts' as a blanket instruction — list every account you requested by name so the user can check them. You cannot confirm on the user's behalf.
    Connector
    Destructive
    OAuth
  • Create an EMPTY Meta campaign (no ad set or ads). To build a whole campaign with its ad set and ads in one step, use meta_build_campaign instead. Call WITHOUT confirm first to preview exactly what would be created, show that to the human, then call again with confirm: true. Created PAUSED unless activate is explicitly true — an ACTIVE campaign starts spending within minutes. Budget is given in real currency (25.50 means $25.50/day), not cents.
    ConnectorOAuth
  • Sets up a monitor: a check Manifold repeats on a schedule, keeping each result so it can report what changed. Urgent changes reach the user as an email alert. Show the monthly cost from preview first, then create it once the user agrees. Give it a description saying why the user wants it, so an agent reading its changes later knows what to do with them. Use when: "monitor this every week", "keep an eye on X", "tell me when Y changes", "check Z every hour", or the user ran the same check by hand before and wants it repeated. Not for: a one-off look, call the tool itself (reddit_search_posts, seo_get_page, seo_get_position, ads_get_advertiser_ads). Reading what a monitor found, use monitoring_get_changes. Returns: Record. monitor (monitor_id, name, description, preset, status, cadence, fields, est_credits_check, est_credits_month, next_check_at), created (false on preview). The first check runs within five minutes and records a starting point; changes are reported from the second check on. Fields by preset: mentions {keywords (up to 10), platforms (reddit, linkedin, instagram, tiktok, youtube; default reddit), communities (Reddit, every new post read in full), pages (1 to 3 per community per check)}, where Instagram searches each keyword as one hashtag ("acme crm" reads #acmecrm), so use a keyword people tag; social_accounts {accounts [{platform (twitter, linkedin, instagram, tiktok, youtube, facebook), account (handle, or URL for facebook and linkedin)}] (1 to 10)}; reviews {items [{source app_store or google_play, app_id} or {source google_maps, place_id or cid} or {source google_shopping, product_id, gid}] (1 to 5), stars, location}; website_changes {pages (1 to 10 URLs), mode (new_items: new links under the page and prices; any_change: new text), words}; ads {brands (1 to 5, a website works best), platforms (facebook, google, linkedin, tiktok)}; google_rankings {site, keywords (1 to 50), location}; ai_visibility {brand, aliases (other names for the brand, up to 5), domain (the brand's site, for citation share), questions (1 to 25; ones that name the brand are counted apart), competitors (up to 9), engines, samples (1 to 3), location, language}. cadence is hourly, daily or weekly; checks repeat from the first one. A bad field is InvalidTarget naming it. Cost: 0 credits to create. Each check charges for the calls it makes at their own prices, shown as est_credits_check and est_credits_month. Monitor checks read live data, never the cache. Example: {"preset": "mentions", "fields": {"keywords": ["acme crm"], "platforms": ["reddit", "linkedin"]}, "description": "Threads asking for a CRM, to answer while they are fresh.", "preview": true}
    ConnectorAPI key
  • List up to 100 image references without downloading images. Use only for public HTTP(S) resources; it does not execute JavaScript or bypass access controls. Pass url as an absolute public HTTP(S) URL. Keep fresh=false to allow cache reuse; set fresh=true only when a new upstream fetch is required.
    ConnectorNo auth
  • Maps only stable Tier1 finding identifiers to approved Tier1 services and public resources. Call after a Tier1 score or email-domain check. Do not submit prose, URLs, customer information, or invented identifiers. This tool performs no arbitrary fetching, makes no contact request, changes nothing, and stores nothing.
    ConnectorNo auth

Matching MCP Servers

  • F
    license
    C
    quality
    D
    maintenance
    Enables managing Facebook ads campaigns, ad sets, ads, creatives, insights, and audience targeting via Meta's Marketing API.
    39
    -

Matching MCP Connectors

  • Read ONE ad in full, live from Meta — its creative content (primary texts, headlines, descriptions, CTA, destination link, URL parameters, image hashes / video ids, Facebook Page and Instagram identity) plus status, timestamps, object_story_id / effective_object_story_id (the underlying post, which carries the ad's likes and comments) and the raw creative specs. Get the ad_id from adsap_list_ads or adsap_get_insights. Use it to inspect an ad's copy and media, to replicate an ad, or to answer 'what does this ad say / link to?'. Read-only — to CHANGE a live ad's creative use adsap_replace_ad_creative.
    ConnectorAPI key
  • The posts in one Facebook group, newest first. Use when: watching a community you sell into, the way reddit_get_new_posts watches a subreddit. Not for: a page's own posts, use facebook_get_posts. A complete window since a moment, which Facebook does not offer: page with the cursor and dedupe on id. Returns: List. rows[]: posts with author and author_followers, created_at, text (cut at 2000 characters), likes, comments, shares, saves, views, media, duration_s, links, transcript and top_comments[]. top_comments are the comments Facebook shows under the post, with each commenter's profile URL. null or empty = the platform does not publish it. Give the group's url. Cost: 1 credit per page. Cached 6 hours. Example: {"url": "https://www.facebook.com/groups/742354120555345"}
    ConnectorAPI key
  • Attach an existing brand list to one or more campaigns — returns a PREVIEW. Creates a CampaignCriterion.brand_list per campaign. This is NOT the CampaignSharedSet linkage used for negative keyword lists — brand lists are criteria, and `negative` decides the role. The shared_set_id comes from get_brand_lists; get_brand_list_campaigns lists existing attachments. Returns a preview with a plan_id; nothing changes until the returned plan_id is applied with confirm_and_apply. Google Ads API: https://developers.google.com/google-ads/api/docs/start
    ConnectorAPI key
  • Facebook pages: profile details, page ID, posts, videos, reels and photo albums. Actions: - action=details: Get a Facebook page's profile: name, category, follower and like counts, bio, contact info (email, phone, website, address), rating and the ad_page_id used by the Ads Library tools. Use it when you have the page URL; to find a page by name, use facebook_search (action=pages) first. Pricing: 1 credit per call; 5 credits when exact_followers_count=true. Inputs: link (required), exact_followers_count (optional). - action=id: Resolve a Facebook page URL to its numeric page ID. Use it when another tool needs a page or profile ID; use action=details for the page's data. Pricing: 1 credit per call. Inputs: link (required). - action=posts: List a Facebook page's recent posts, newest first, with text, media, reactions, comment and share counts. Returns 3-9 posts per call plus an end_cursor for the next page; filter by date with after_time / before_time. For reels or videos only, use action=reels or action=videos. Pricing: ceil(posts_returned / 3) credits per call, minimum 1. Inputs: link (required), limit (optional), end_cursor (optional), after_time (optional), before_time (optional), timezone (optional). - action=videos: List videos uploaded to a Facebook page, with video_id, title, duration, view count and thumbnail. Provide the page URL (link) or its numeric profile_id. Returns an end_cursor for the next page. For short-form reels, use action=reels. Pricing: 1 credit per call. Inputs: link (optional), profile_id (optional), limit (optional), end_cursor (optional). - action=reels: List a Facebook page's reels (short-form videos). Returns an end_cursor for the next page. For long-form videos, use action=videos. Pricing: 1 credit per call. Inputs: link (required), end_cursor (optional). - action=albums: List the photo albums of a Facebook page, with album_id, album_title, url, thumbnail_uri and album_items_count (text, e.g. "400 items"). Needs the numeric page ID (profile_id) from action=id. Returns an end_cursor for the next page. To get the photos in an album, pass its album_id to action=album_items. Pricing: 1 credit per call. Inputs: profile_id (required), limit (optional), end_cursor (optional). - action=album_items: Get the photos and videos inside a Facebook album (from a page or a group): media_id, media_type, url, thumbnail_uri and timestamp (Unix seconds). Needs an album_id from action=albums or facebook_group (action=albums). Returns an end_cursor for the next page. Pricing: 1 credit per call. Inputs: album_id (required), end_cursor (optional).
    ConnectorNo auth
  • Starts an AI draft of ad groups for an existing Search campaign and returns draft_id at once; it changes nothing in Google Ads. ADM reads the landing page, groups the keywords by theme and writes responsive search ads per group. Poll get_ad_group_draft every poll_after_seconds (usually done in 1-3 minutes). The finished ad_groups can be passed verbatim to add_ad_groups (preview first). Needs a read_write key and a paid plan. Each call runs several AI calls: do not repeat it for the same input while a draft is pending or running.
    ConnectorAPI key
  • Import one public YouTube, Facebook or TikTok video (up to 10 minutes and 250 MB) into the Library. Returns an asynchronous import: poll get_video_import until ready, then use its upload_id. Import costs no credits and uses storage quota. analyze_after_import runs the app analyst for 5 credits; leave false to analyze with your own model using measure_video and save_video_analysis. Private videos, playlists and live streams are unsupported.
    ConnectorAPI key
  • Amazon search ideas around a seed, from Amazon's related searches, with monthly Amazon search volume. Use when: "what else do people search on Amazon around X", building an Amazon keyword list for a listing or ads. Not for: Google keyword ideas, use seo_search_keywords. Volume for keywords you already have, use amazon_get_keyword_metrics. Returns: List. rows[]: keyword, volume. Cost: 5 + 5 per 100 rows. Default 100 rows = 10 credits. Cached 7 days. Example: {"seed": "standing desk", "limit": 50}
    ConnectorAPI key
  • Render a visual ad carousel widget inline (resource: ui://carousel-mcp-v7). Use this AFTER get_meta_ads, search_meta_ads_by_keyword, get_google_ad_details, search_linkedin_ads, or search_tiktok_ads to show selected ads. Works across ALL FOUR platforms (Meta, Google, LinkedIn, TikTok) and you may mix them in one carousel. Model leads in text — call this when the user benefits from visual evidence of the ads referenced. Call it multiple times in one response, once per point you make — not one carousel for all ads. Pass only the ads that evidence one point: a single creative for one claim, a handful for a pattern. The carousel UI holds 20 ads max — a hard safety cap, not a target; split overflow across another call. Per ad, pass ONLY the identifier ref copied from the prior tool's text output: Meta ads as {ad_id, page_id} (ad_id required, page_id recommended); Google ads as {ad_url}; LinkedIn ads as {linkedin_id}; TikTok ads as {tiktok_id}. Google ads MUST have gone through get_google_ad_details first (it warms the creative cache) — otherwise this call spends credits refetching. LinkedIn ads are warmed by search_linkedin_ads; an uncached one is refetched by id. TikTok ads are warmed by search_tiktok_ads; a stale ref is refetched by tiktok_id (1 credit). Do NOT copy body, headline, media_url, cards or any other field: the server reconstructs the full ad from its own cache, so anything else you pass is discarded.
    ConnectorOAuth
  • ADDS location criteria to a campaign; its existing locations stay. On a campaign that already targets locations, each added target widens where its ads show at once, which can raise what a running campaign spends. This never replaces targeting: the locations and exclusions the campaign already has are left as they are. Moving a campaign from country A to country B is two changes: add B here, then take A out with remove_geo_targets. A campaign with no location criteria serves everywhere; the first location added narrows it. Add locations to TARGET with `location_ids`, locations to EXCLUDE with `excluded_location_ids` (e.g. target India but exclude one city), and/or a radius around a point or an address with `radius_targets` (e.g. 10 km around a shop). Provide at least one of the three. A radius can only be targeted, not excluded. With radius_targets the campaign is read first, and a Video campaign is refused before anything is sent: the Google Ads API cannot change Video campaigns, so its locations are set in Google Ads. Common location IDs (Google Ads geo target constants): US=2840, UK=2826, Canada=2124, Australia=2036, India=2356, Singapore=2702, UAE=2784, Germany=2276, France=2250 Find more IDs at: https://developers.google.com/google-ads/api/data/geotargets Args: customer_id: The Google Ads customer ID. campaign_id: The ID of the campaign. location_ids: Geo target constant IDs to TARGET. Optional. excluded_location_ids: Geo target constant IDs to EXCLUDE. Optional. radius_targets: Radius targets to add, each an object with: - radius: The distance, a number greater than zero. - radius_units: KILOMETERS or MILES. Default: KILOMETERS. - latitude and longitude: The centre in degrees (both together). - street_address, city_name, postal_code, province_code, province_name, country_code: The centre as an address, which Google turns into a point. With latitude and longitude the address is only a label. Each needs latitude and longitude, or an address. Optional. Returns: Dictionary with created location criteria. Tools revision: d80f65c0.
    Connector
    Destructive
    OAuth
  • Link a GA4 property (properties/<id>) to a Google Ads account, so its key events can be imported into Google Ads as conversions and paid visits join the organic ones. customer_id is the Google Ads account (digits; hyphens are stripped). ads_personalization_enabled shares Analytics audiences and remarketing events with Google Ads — off unless the user asks for it. Read ga4_list_google_ads_links first: a property already linked to this account needs no second link. While linked, Google Ads click and cost data flows into this property and Analytics data flows to that Google Ads account; the link stays until someone removes it in Analytics (Admin, Product links), as this connector cannot unlink. Tools revision: d80f65c0.
    Connector
    Destructive
    OAuth
  • Creates a Repurposing workflow that reposts a source's posts to other connected accounts. The source is exactly one of source_connection_id (an Instagram or Facebook Page account) or source_integration 'twitch' (the user's connected Twitch channel, see Settings > Integrations: clips go out in the vertical version when Twitch has one, with the clip title as the caption; either kind, and kind 'existing' can use publish_order 'most_viewed') or source_integration 'rss' with feed_url (an Apple Podcasts link or any RSS/Atom feed, such as a podcast or blog; YouTube channels are not supported: each item is posted as its video when the feed has one, else its cover art, with the title as the caption and the item's link under it on X, Bluesky, Threads, Mastodon, LinkedIn, Facebook, Telegram, Discord, Tumblr and Reddit, as the pin link on Pinterest and as a Learn more button on Google Business Profile; Instagram, TikTok and Snapchat get the title only). kind 'new_posts' (default) reposts each new post: publish_mode 'immediate' publishes it right away, 'draft' (the API default) saves it to the library. kind 'existing' reposts older posts on a weekly timetable and needs schedule_slots and timezone; it schedules posts into the library up to 30 days ahead, where they can be edited or cancelled. Each repost counts as one upload on the plan. The original caption is used (first line as the title where a platform has one), Instagram and Facebook video covers are carried over, and ShortSync's own posts to the source are never reposted. Returns the created workflow.
    ConnectorOAuth
  • Fetch a single advertiser's FULL card by id — the same data as the spytrend.com/advertisers page: name, external_id (FB page id), avatar_url, page_url, total_ads and active_ads (EXACT precomputed counts — THIS is the cheap way to answer 'how many ads / how many are active does this advertiser run', NOT paginating search_ads, whose total is estimated for advertiser_id), launched_14d, top_countries (geo breakdown), platforms, top_landing (destination domains), page_like_count (followers), born (founded date), categories and recent creatives. The card also embeds top_creatives — the advertiser's MOST RE-UPLOADED creatives (a creative's total_ads = how many ads reuse the same material, ordered desc, media stripped/free); present these as the headline at the end and download with get_media (entity_type=creo). The id is an advertiser UUID (from an ad's advertiser_id / get_trends dimension=advertisers) OR a Facebook page id — a fanpage id from get_creative's fanpages, or an ad's page_id: a page id is resolved to its advertiser automatically, so a fanpage you found in a creative resolves straight to its card. A pasted facebook.com page link (any form — vanity name, profile 100…-id, profile.php, Ads Library) is likewise resolved to the page automatically. To list the advertiser's ads, call search_ads with advertiser_id. CATEGORY COUNTERS CONTRACT category_total_ads / subcategory_total_ads and every top_categories[].ads_count / top_subcategories[].ads_count count ONLY the advertiser's AI-LABELED ads - they are a share of the labeled subset, NOT of the page's ad universe. The labeling share is ai_coverage (labeled / total_ads). Read them as: 'N of total_ads ads are labeled (ai_coverage), and X% of THOSE are <category>'. Never compare category_total_ads against total_ads/active_ads directly, and never report a category share as the advertiser's overall vertical mix when ai_coverage is low. QUOTA: 1 MCP credit (one entity card). TOP_CREATIVES CONTRACT each top_creatives entry's total_ads counts the creative's FULL family of matching material across the whole serving universe as the market-wide reuse of that creative; note the family may span MORE advertisers than this page — it is the creative's market-wide reuse, not this advertiser's share. PRICING: on paid plans ×1 after 500 MCP credits/month; one-time consent via accept_pricing_terms; before calling, get the maximum debit from estimate_cost (free) and tell the user.
    ConnectorOAuth
  • Create, list, pause, resume, inspect metrics, or boost organic posts into paid social ad campaigns across LinkedIn Ads, X Ads, Meta (Facebook/Instagram) Ads, and TikTok Spark Ads with 0% Nuntior ad-spend commission. Use this tool when an organic post performs strongly and should be amplified to a targeted B2B or consumer audience with a controlled daily budget. Returns campaign configuration, status, targeting parameters, and real-time spend/conversion snapshots.
    ConnectorNo auth
  • Create, list, pause, resume, inspect metrics, or boost organic posts into paid social ad campaigns across LinkedIn Ads, X Ads, Meta (Facebook/Instagram) Ads, and TikTok Spark Ads with 0% Nuntior ad-spend commission. Use this tool when an organic post performs strongly and should be amplified to a targeted B2B or consumer audience with a controlled daily budget. Returns campaign configuration, status, targeting parameters, and real-time spend/conversion snapshots.
    ConnectorNo auth
  • Get a link the person opens to connect Meta ads (Facebook and Instagram ad accounts) to their Agency Autopilot account, or to add another Facebook login. One click, then their own Facebook sign-in. The link lasts 30 minutes and works once. It connects nothing by itself, and no password or token is ever entered in the conversation. Use when a tool reports the platform is not connected, or when asked to connect it.
    ConnectorOAuth