Skip to main content
Glama
592,880 tools. Updated 2026-09-20 16:46

"A guide to everything about Meta Ads" matching MCP tools:

  • Get the current user's available AI tokens Returns the number of AI tokens available to the authenticated user. These tokens fund EVERY AI feature in SERPmantics — meta, outline, intent, internal-links, EEAT, EEAT competitors, score, AND the AISSistant prompts. The endpoint lives under /aissistant for historical reasons but the balance is shared across all AI features. Do NOT confuse with guide-creation credits (see /api/v1/credits). For a combined view (credits + tokens) prefer /api/v1/credits.
    ConnectorNo auth
  • Pause an ad — synchronization to the channel stops until it is resumed with resume_ad. Ads are ads-based channels (advertising / price-comparison / classifieds), not marketplaces: they publish products to the ad platform and have no order sync. Returns {integrationId, action:'pause', status:'paused', kind:'ads'}. ad_id is from list_ads. project_id is OPTIONAL (inferred for a single-project customer; project_id_required otherwise — then call list_projects).
    ConnectorOAuth
  • Find body sections in a GOV.UK content item matching a pattern. Returns a list of `{anchor, heading, snippet, match}` hits — small per-section snippets centred on the match — so the LLM can decide which full sections to read via govuk_get_section. Use this when answering content-based questions ("what does this guide say about X?", "find the bit about eligibility") rather than navigating by section number. Pattern is regex; if it doesn't compile, falls back to literal substring.
    ConnectorNo auth
  • Browse individual decoded ads from Heista's corpus of real winning Meta/TikTok creative. Takes optional filters: vertical, creative_format, marketing_angle, hook_type, algo_intent, brand (partial name match), and limit (1-10, default 5). Each result returns beat timeline, classification, psychology, runtime performance signals (active days on Meta when available), and a decode id you can pass into generate_adscript with source_type="decode" to write a fresh script on that exact structure. Free, read-only, idempotent — no credits consumed. Use this when the user wants a specific ad as a script template (not an averaged formula), asks "show me winning ads in [vertical]", "what are [brand]'s top ads", or wants to see examples before committing to a generation. Source discovery surface — the response is the spine; for the full bundle with transcripts and director's read, call get_decode by id afterwards. Do NOT use to decode a NEW ad from a URL — use decode_ad (paid). Do NOT use for category-level patterns abstracted across multiple ads — use adformula_intelligence. Do NOT use to write the script itself — use generate_adscript or write directly from the bundle.
    ConnectorNo auth
  • List taxonomy facets and their value slugs across TCLP content. Facets are taxonomy categories like `sector`, `practice_area`, `application`, and `jurisdiction`. Each facet returns the list of slugs that actually appear on the graph, with counts. Use this to discover the vocabulary, then call `taxonomy_content` with chosen slugs. Args: scope: Which labels to include — `clause` (ClauseName only), `guide` (Guide only), or `all` (both, the default). Returns: JSON with "meta" and "facets". Each facet has `name`, `applies_to` (list of Neo4j labels carrying it), and `values` (list of `{slug, count}`, sorted by count desc).
    ConnectorNo auth
  • List taxonomy facets and their value slugs across TCLP content. Facets are taxonomy categories like `sector`, `practice_area`, `application`, and `jurisdiction`. Each facet returns the list of slugs that actually appear on the graph, with counts. Use this to discover the vocabulary, then call `taxonomy_content` with chosen slugs. Args: scope: Which labels to include — `clause` (ClauseName only), `guide` (Guide only), or `all` (both, the default). Returns: JSON with "meta" and "facets". Each facet has `name`, `applies_to` (list of Neo4j labels carrying it), and `values` (list of `{slug, count}`, sorted by count desc).
    ConnectorNo auth

Matching MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    An MCP (Model Context Protocol) server that gives AI agents live, structured ad intelligence across Facebook, Google, and Instagram — data that no base model can produce from training alone. Powered by Apify actors. Works with any MCP-compatible client: Cursor, Claude, etc.
    11
    -
  • F
    license
    A
    quality
    B
    maintenance
    A read-only MCP server that pulls Meta Ads campaign, ad-set, and ad performance data to help users spot problems and adjust them in Ads Manager.
    6
    -

Matching MCP Connectors

  • Facebook / Meta Ads automation with AI: analyze performance, test creatives, optimize spend.

  • Meta Ads MCP server with 47 tools for campaigns, creatives, audiences, and insights.

  • The POSTS people make ABOUT a subject — a brand ("liquid death"), a product, a hobby ("coffee"), a hashtag ("#homecafe") — from whoever posted them, across organic TikTok, Instagram Reels and YouTube in ONE call, ranked by views. Not the brand's own ads (search_meta_ads / research_ads) and not the people (find_creators folds these same posts into creators): use it to see what is actually being posted and watched about a subject, to find clips worth cloning (clone_video), and to read the hooks and angles an audience already responds to. About one credit per platform searched (one query each by default; `queries` adds "best X" / "X review" / #tag variants, each a paid call); repeats inside 20 minutes are free.
    ConnectorNo auth
  • Set the channel-level Meta placement default of an existing DRAFT wizard campaign's Facebook or Instagram channel: automatic placements (Meta decides where ads serve) or a manual list of surfaces (Feed, Stories, Reels, ...). Placements are where the ads serve inside Meta's networks. This is the same "Placements" control the platform UI shows in the Facebook/Instagram section of the campaign draft page. The campaign MUST already have the channel enabled (via create_campaign / add_and_edit_campaign_elements). WARNING: DRAFT-ONLY: the platform rejects the edit once the campaign is Launching/Launched. KEYWORDS: meta, facebook, instagram, threads, placements, placement, feed, stories, reels, explore, search results, profile feed, automatic placements, manual placements, advantage+ placements, where ads serve, surfaces, channel settings, campaign settings WHEN TO USE: - Serve ads only on specific surfaces (e.g. Instagram Reels and Stories) - Switch a channel back to automatic placements (Meta optimizes delivery) - The user asks where their Facebook/Instagram ads will appear PARAMETERS: - campaign_id: the wizard campaign ID (required) - channel: FACEBOOK | INSTAGRAM (required — the campaign channel to edit) - mode: AUTO | MANUAL (required). AUTO = automatic placements, clears any manual set. MANUAL = serve only on the placements listed. - placements: array of placement codes, required when mode=MANUAL, ignored for AUTO. Facebook surfaces: FB_FEED, FB_STORIES, FB_REELS, FB_SEARCH_RESULTS. Instagram surfaces: IG_FEED, IG_PROFILE_FEED, IG_EXPLORE, IG_EXPLORE_HOME, IG_STORIES, IG_REELS, IG_SEARCH_RESULTS. Threads: TH_THREADS_STREAM. PLACEMENT RULES (enforced; violations return a descriptive error): - Companion rules: FB_STORIES and FB_SEARCH_RESULTS require FB_FEED; IG_PROFILE_FEED, IG_SEARCH_RESULTS and IG_EXPLORE require IG_FEED; IG_EXPLORE_HOME requires IG_EXPLORE; TH_THREADS_STREAM requires IG_FEED. - An INSTAGRAM channel accepts IG_* placements only. - A FACEBOOK channel always accepts FB_* placements. IG_* / TH_* placements on a FACEBOOK channel additionally need the account's unified-placement rollout (feature flag CORE_META_IG_PLACEMENT_ON_FB) — the platform rejects them on accounts without it. - IG_PROFILE_FEED is not available on Lead Gen (CPL) campaigns. - AUTO is rejected while the channel has ad groups (per-ad-group setups keep manual placements). This tool sets the campaign-wide default for the channel. Per-ad-group placement overrides exist in the platform UI but are not editable through chat yet — send users to the campaign page for per-ad-group customization. EXAMPLES: Instagram channel, Reels + Stories + Feed only: update_meta_placements({"campaign_id": 12345, "channel": "INSTAGRAM", "mode": "MANUAL", "placements": ["IG_FEED", "IG_STORIES", "IG_REELS"]}) Facebook channel back to automatic placements: update_meta_placements({"campaign_id": 12345, "channel": "FACEBOOK", "mode": "AUTO"}) RESPONSE: {success, campaign_id, channel_id, channel, campaign_status, applied:{mode, placements}, previous?, errors?} `previous` echoes the channel's placement state before the edit. INTEGRATION WITH OTHER TOOLS: - Use search_campaigns_by_names / get_campaign_by_wizard_id to find the campaign - The channel is enabled by create_campaign or add_and_edit_campaign_elements - Reddit placements (feed/conversations) are a different system: use update_reddit_channel_settings for those
    Connector
    Destructive
    API key
  • Search detailed documentation for Strudel live coding or ABC/ABCJS notation. Returns relevant code examples and explanations from the official docs. Use this when the curated guides (get-strudel-guide, get-music-guide) don't cover what you need — for specific functions, advanced techniques, or when you're unsure about syntax. Powered by semantic search over strudel.cc and ABCJS docs.
    ConnectorNo auth
  • Answer any question about Eveoy — what it is, how the platform works, pricing rationale, the directory, industries, founders, or company background. Backed by Eveoy's live knowledge base. Use this when the user wants to: - Understand what Eveoy is or does - Learn how the verified-visit / $24.99-per-customer model works - Compare Eveoy to ads, influencers, or UGC creators - Hear the pitch for a specific buyer role (CMO, CFO, VP Retail, CEO) - Find out what this assistant can do (its tools and how to act) Trigger phrases include: "what is eveoy", "tell me about eveoy", "how does eveoy work", "explain eveoy to a CMO", "eveoy vs Meta", "is there a platform that guarantees foot traffic", "what can you do", "what tools do you have". Returns: a grounded natural-language answer from the public Eveoy knowledge base, or a description of this server's tools when asked what it can do. Do NOT use this for: an exact price (use get_pricing), the industry list (use list_industries), directory search (use search_directory), or booking (use start_checkout / book_demo). Cost: free. Latency: 1–3s. Read-only.
    ConnectorNo auth
  • Lists the entities (campaigns, ad groups/ad sets, ads, keywords) of ANY connected ad platform with their IDs — use this instead of looking for a platform-specific list tool. platform: google_ads (default) | meta (facebook/instagram) | tiktok | linkedin | microsoft. entity: campaigns | ad_groups (adsets on Meta, adgroups on TikTok) | ads | keywords (Google Ads) | campaign_groups & creatives (LinkedIn). account = that platform's account id (for Google Ads you may also use customer_id); leave empty to use the connected/default account. parent_id narrows children to one parent (e.g. the campaign id when listing ad groups/ad sets, the ad set id when listing ads). Call describe(platform) to see which entity names a platform accepts. Google Ads specifics (platform='google_ads'): PAGING: `rows` is ONE PAGE — `limit` rows from `offset` (limit max 2000). `total_rows` is the real count and `serving_count` / `serving_summary` are always computed over ALL rows, not the page. truncated=true → call again with offset=next_offset and merge; never present the page as the complete list. Keyword and ad pages are returned as FLAT rows (a keyword inventory can run to thousands of rows — the raw nested GAQL form overflows the client's tool-result budget and then nothing reaches you at all). CURRENT BIDS: ad group rows carry `max_cpc` (and `target_cpa` when set), keyword rows carry `max_cpc` plus `effective_max_cpc` and `bid_source`. Read the bid before changing it — a percentage change ("raise this by 30%") is otherwise sent as an absolute number and can LOWER the bid instead. `bid_source: AD_GROUP_CRITERION` means the keyword carries its own bid and OVERRIDES the ad group: raising the ad group bid then changes nothing for that keyword. Average CPC from a report is not a substitute — it is what was paid, not the ceiling that was set, and it is usually lower. ACTIVE / RUNNING / LIVE = `is_serving: true` (derived from `serving_status`), NOT `status: "ENABLED"`. They are different things: a campaign whose end date has passed still reads status=ENABLED while the Google Ads UI shows it as "Ended". When the user asks which campaigns are active, answer from is_serving and account for the rest using `serving_status` + `status_reasons` (ENDED, PAUSED, NOT_ELIGIBLE, MISCONFIGURED, PENDING...). Never present a status=ENABLED row as active on its own — the user is comparing your answer to their Google Ads screen. `serving_summary` gives the counts. For campaigns it ALSO returns the bidding strategy (bidding_strategy), daily budget (daily_budget), targets (target_cpa / target_roas) and the max CPC ceiling (max_cpc, in account currency; null means no ceiling is set AT CAMPAIGN LEVEL). When max_cpc_note is present the campaign uses a portfolio strategy and max_cpc was not read.
    ConnectorOAuth
  • Execute a previously previewed negative keyword addition (Google Ads write tool). You MUST call google_ads_preview_add_negatives first. Args: customer_id: Google Ads customer ID (must match the preview).
    Connector
    Destructive
    OAuth
  • Edit an existing Google Ads campaign, ad group, ad, or keyword: change status (PAUSED/ACTIVE), rename (campaign/ad group), set a campaign's daily budget (in account currency, e.g. 12.50), change a campaign's BIDDING scheme/targets (updates.bidding — swap scheme or edit tCPA/tROAS/ceiling; portfolio strategies rejected), edit ASSET AUTOMATION opt-ins (updates.asset_automation — campaign level on PMax/Search, ad level on Demand Gen ads), or set a keyword's max CPC (updates.cpc_bid — Manual CPC campaigns only, ignored under automated bidding). Keyword TEXT is immutable — use adsap_google_manage_keywords op 'replace' to change it; keyword entity_id is "<ad_group_id>:<criterion_id>" from adsap_google_get_insights level keyword. Put ONLY the fields you want to change in `updates`. Use dry_run: true to preview the diff (current vs new, validated by Google without applying). ad_account_id is the bare 10-digit Google Ads customer ID. For Meta entities use adsap_update_entity instead.
    ConnectorAPI key
  • Manage Google Ads extensions (sitelinks, callouts, structured snippets, call, promotion, price) at CAMPAIGN level (default) or ACCOUNT level (level: 'account' — the link serves with ALL eligible campaigns; all six types accepted, probe-confirmed). Ops: 'create_and_link' creates new extension assets and links them to a campaign in one atomic call (max 20); 'link' attaches EXISTING assets to a campaign; 'unlink' detaches them from that campaign — this is how you stop an extension serving there, because Google Ads assets cannot be deleted; 'update_asset' edits an existing asset — WARNING: assets are account-scoped, so an update changes the extension EVERYWHERE it is linked, not just one campaign. Image extensions: bytes go through adsap_google_upload_asset first, then op 'link' with field_type AD_IMAGE — BUT Google allowlist-gates AD_IMAGE links via API (most accounts get UNSUPPORTED_FIELD_TYPE; not something ADSAP can fix), and image assets are never content-mutable. Promotion/price also link to PMax campaigns; AD_IMAGE does not. Use adsap_google_list_extensions first to see what exists (asset ids, field types). Use dry_run: true first for create — Google validates everything without changing anything. All-or-nothing: on error nothing is applied. ad_account_id is the bare 10-digit Google Ads customer ID. Meta has no extensions analog.
    ConnectorAPI key
  • Find body sections in a GOV.UK content item matching a pattern. Returns a list of `{anchor, heading, snippet, match}` hits — small per-section snippets centred on the match — so the LLM can decide which full sections to read via govuk_get_section. Use this when answering content-based questions ("what does this guide say about X?", "find the bit about eligibility") rather than navigating by section number. Pattern is regex; if it doesn't compile, falls back to literal substring.
    ConnectorNo auth
  • Create and submit a WhatsApp message template to Meta for approval. Text templates only (header text, body with {{1}} variables, footer) — add buttons in the app. The template is NOT usable until Meta approves it (check with list_templates). Submitting consumes the store’s Meta template allowance.
    ConnectorNo auth
  • Exact Google Ads search volume for `<keyword>` — Google's own monthly search-volume numbers (plus competition and CPC) from the Ads API, for up to 10 keywords. Use when you specifically need Google Ads figures; for general SEO volume + keyword difficulty, prefer seo_keyword_overview (cheaper). Example: seo_keyword_google_ads_volume({ keywords: ["running shoes"], location_code: 2840, _apiKey: "your-base64-key" })
    ConnectorNo auth
  • Create and submit a WhatsApp message template to Meta for approval. Text templates only (header text, body with {{1}} variables, footer) — add buttons in the app. The template is NOT usable until Meta approves it (check with list_templates). Submitting consumes the store’s Meta template allowance.
    ConnectorNo auth
  • Returns an official GuruWalk support guide for a specific traveler-support topic. GuruWalk is a platform for free walking tours and paid activities; these guides are GuruWalk's own source of truth on how bookings, cancellations, account settings and contacting guides actually work, including current policies and the exact URLs travelers should use. These guides apply only to bookings and accounts on guruwalk.com. Available topics: - account_settings: The traveler wants to manage their GuruWalk account: edit their details (name, surname, phone, city, password), change their email, stop receiving emails / unsubscribe, or delete their account; or they can't access their account. These are concrete steps you shouldn't improvise: consult this before answering. - contact_guru: The traveler wants to contact or coordinate something with the guide of their GuruWalk booking, or thinks they are talking directly to the guide: they can't find them at the meeting point, the guide didn't show up, they're running late, they treat you as if you were the guide, ask for the tour photos, or ask about bringing a pet or paying the guide, or have a question only the guide can answer. - free_tour_modification: The traveler wants to modify or reschedule their GuruWalk free tour — change the day, time, language or number of people — or asks how to do it. - group_booking: The traveler wants to book or extend a GuruWalk booking for a group (they usually say how many; treat it as a large group from around 6 people), asks how to book for many people, can't book for the whole group, sees a large-group notice or is asked for a card or payment for the group, or had a booking cancelled as "group or duplicate". The rules aren't intuitive; consult this before advising. - paid_cancellation: The traveler wants to cancel or change a paid activity booked on GuruWalk, asks about a refund, or can't cancel from their account. Call this when the traveler raises a support topic covered above. Pass the exact topic; the guide content is returned.
    ConnectorNo auth
  • Mamanida's editorial buying guides for one storefront, in that storefront's own language. Called without `guide` it lists the published guides (metadata only: title, deck, meta description, pillar, topics, dates and the canonical Mamanida URL), optionally filtered by `topic`. Called with `guide` (the guide slug from the listing) it returns that one localized edition plus its structured body: paragraphs, headings, lists, comparison tables, callouts, links to other guides and category calls-to-action. A `category_cta` gives a `category_slug` you can pass straight to search_products, which is the intended guide → category → product path. Retailer and affiliate URLs are never returned.
    ConnectorNo auth
  • List the CREATED ads of a project (the advertising integrations that already exist, not the catalog of channels you can add — use list_ad_channels for that). Ads are ads-based channels (advertising / price-comparison / classifieds), not marketplaces: they publish products to the ad platform and have no order sync. Returns {integrations, returned, total}; each row is {integrationId, projectId, name, channelCode, kind:'ads', definitionCode, status, ready, lastStep, isReady, isConnected, isOverlimit, productMode, orderMode, orderSync}. project_id is OPTIONAL: with it you get that project's ads; WITHOUT it you get ads across ALL your projects (each row carries its projectId). If a call returns project_id_required, pick a project (see list_projects) and pass its project_id. integrationId is what you pass as ad_id to get_ad / ad_status and the other ads tools.
    ConnectorOAuth