Skip to main content
Glama
thenavidm

Facebook Ad Library MCP

by thenavidm

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FBADS_BACKENDNoThe backend to use. Defaults to the free local browser. Set to 'scrapecreators' or 'apify' to use a hosted provider.
META_ADS_ARCHIVE_TOKENNoMeta Ad Library API access token. Enables EU transparency data for ads.
SCRAPECREATURES_API_KEYNoAPI key for the Scrapecreators provider. Required when FBADS_ACKEND is set to 'scrapecreators'.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_adsA

Search Meta's public Ad Library by keyword, or list every ad from one advertiser by passing page_id. Returns advertiser, copy, creative count, destination domain, call to action, platforms and how long each ad has run. Works for ordinary commercial advertisers in any country. Spend and reach are null outside the EU, which is correct rather than a failure: that data is only published for EU and political ads.

list_advertisersA

Resolve a brand name to the advertiser Pages actually running ads for it, ranked by how many ads each is running. Use this first when you know the brand but not its Page ID, then pass that ID to search_ads to get everything they run.

get_adA

Fetch a single ad by its Ad Library ID, with every creative, all copy variants, the full destination URL and any transparency data. Use this after search_ads when one ad is worth studying properly.

transcribe_adA

Speech to text for a video ad, so its spoken script becomes readable. Only the scrapecreators backend can do this. On any other backend it explains that rather than failing silently.

ad_library_urlA

Turn a set of filters into the public Ad Library URL, so a person can open the same search in a browser and check the results independently. Useful when a search comes back empty and you need to tell 'no results' apart from 'blocked'.

view_ad_creativeA

Return the actual images from one ad so you can see them, rather than only reading its copy. Use this when the question is about what an ad looks like: the visual hook, the layout, the product shot, how the text sits on the image, or what several ads have in common visually. A carousel returns each card in order. Video ads have no still to show and report that instead. Needs no API key.

diff_advertiserA

Compare an advertiser's ads now against the last time this server looked, and report what they started and stopped running. The first call on a Page records a baseline and reports nothing changed, which is expected: call it again later to see movement. This is the only tool here that answers 'what changed' rather than 'what is running'.

get_eu_transparencyA

Spend, impressions, reach and demographic breakdown from Meta's official Ad Library API. Covers ads delivered in the EU and political or issue ads anywhere. Returns nothing for an ordinary US commercial ad because that data is not published, which is the correct answer rather than an error. Needs META_ADS_ARCHIVE_TOKEN, which is free.

backend_statusA

Which backend is serving requests, whether it costs money per call, and which optional features are available in this configuration. Call this when a tool reports something unavailable, before telling the user it cannot be done.

Prompts

Interactive templates invoked by user choice

NameDescription
competitor-teardownStudy one competitor's live ads and report what they are testing
creative-anglesPull the distinct marketing angles being run for a keyword

Resources

Contextual data attached and managed by the client

NameDescription
ad-library-config
ad-library-concepts

TDQS

A4.2/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a clearly distinct task: search, single-ad fetch, advertiser resolution, visual creative inspection, video transcription, change detection, EU transparency, URL generation, and backend status. The descriptions proactively disambiguate edge cases, such as the difference between get_ad (full record) and view_ad_creative (actual images), and EU vs non-EU spend data availability.

Naming Consistency4/5

Seven of the nine tools follow a consistent verb_noun pattern (get_ad, search_ads, list_advertisers, transcribe_ad, view_ad_creative, diff_advertiser, get_eu_transparency), with a sensible singular/plural distinction. Two tools — ad_library_url and backend_status — are noun phrases rather than verb_noun, which is a minor but noticeable deviation.

Tool Count5/5

Nine tools is well within the ideal scope for a read-only ad-research API. Each tool serves a distinct step in the workflow — discover, search, inspect, transcribe, compare, verify — with no redundancy or bloat.

Completeness4/5

The core ad-research workflow is thoroughly covered: brand-to-Page resolution, keyword and advertiser search, single-ad retrieval, creative inspection, video transscription, temporal diffing, and EU transparency. Minor gaps include no political-ad-specific search and no cross-advertiser comparison, but the primary workflows can be completed without dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues