You can ask ChatGPT to "analyze my competitor's Facebook ads" all day and it will cheerfully hallucinate a strategy report. The problem isn't the model. It's the data. Plain ChatGPT has no access to the Meta Ad Library, no memory of which ads ran for 200 days, and no way to tell a one-week flop from a proven winner. It guesses, and guesses confidently.
That changes the moment you connect an AI assistant to a data source it can actually query. The AdWhispr MCP server gives Claude or ChatGPT direct, read-only access to a brand's entire Meta ad library, every ad, snapshotted daily, with run-times, hooks, formats, and engagement attached. Now the assistant isn't inventing; it's interrogating real history.
Here are eight workflows that turn that combination into an ad-research machine. Each one is a goal, a prompt you can paste, and exactly what you get back. Connect the MCP first (OAuth at https://adwhispr.com/api/mcp or npx adwhispr-mcp-server config), then run these in order or à la carte.
Why the MCP matters before we start
| Task | Plain ChatGPT | ChatGPT + AdWhispr MCP |
|---|---|---|
| List a brand's active ads | Hallucinates | Pulls live from Meta Ad Library |
| Find the longest-running ad | Impossible (no history) | Reads daily snapshots |
| Estimate spend with cited inputs | Made-up number | Triangulated range, inputs shown |
| Generate a brief from real data | Generic template | Grounded in that brand's winners |
The eight MCP tools (search_brands, get_brand_ads, get_brand_stats, search_ads, add_brand, compare_brands, clone_ad, generate_brief) are what every workflow below calls under the hood. You just talk; the assistant picks the tool.
1. Find the longest-running ad (the proven winner)
Goal: Skip the noise and find the one ad a competitor has trusted with budget the longest. Brands don't keep paying for losers, so an ad live 100+ days is a verified winner, and Meta's API returns no history, so this is only possible because AdWhispr snapshots daily.
Prompt:
"Add the brand at facebook.com/gymshark, then show me their longest-running active ads ranked by days running. What does the top one have in common?"
What you get: A ranked list with run-times, plus the assistant's read on the shared pattern (format, hook type, offer). Read the distribution, not a single number, if five ads have run 150+ days and they're all UGC testimonials, that's the format the brand has bet on repeatedly.
2. Extract the hooks that keep working
Goal: Reverse-engineer the opening lines and angles a competitor leans on, so you stop guessing what resonates in your category.
Prompt:
"From Gymshark's top 20 ads by days running, extract every hook and group them into themes. Which theme shows up most among the longest-runners?"
What you get: A clustered hook taxonomy, e.g., "transformation proof," "limited-drop urgency," "creator co-sign", weighted by longevity. Because the grouping is tied to run-time, you're seeing which angles survived contact with a real audience, not just which ones exist.
3. Estimate spend without fabricating numbers
Goal: Get a defensible spend estimate. This is where most tools lie. Meta exposes spend only as wide ranges and never exposes CTR, CPC, or ROAS for competitor ads, any tool showing a competitor's exact ROAS invented it.
Prompt:
"Give me an estimated monthly spend range for Gymshark's active ads. Show me the inputs you used and label every assumption."
What you get: A range narrowed by triangulating Meta's impression band against engagement signals, days-running, and creative count, with every input cited. No fake precision. If the assistant ever hands you a single ROAS figure for a competitor, that's your cue it's hallucinating; demand the inputs.
4. Compare two brands head-to-head
Goal: See how two competitors differ in strategy, volume, formats, iteration speed, longevity, in one view.
Prompt:
"Compare Gymshark and Alphalete. Who runs more ads, who iterates faster, and whose top creatives last longer? Put it in a table."
What you get: A side-by-side on ad volume, creative-iteration rate (new creatives per month, derived from first-seen dates), format mix, and longevity curves. The iteration-rate column is the quiet tell: a brand shipping 40 new creatives a month is testing aggressively; one shipping three is riding proven winners.
5. Build a swipe file you can actually act on
Goal: Stop screenshotting ads into a dead Notion board. Build a living, queryable swipe file filtered to winners.
Prompt:
"Search across the brands I'm tracking for video ads with a testimonial hook that have run over 90 days. List them with the brand, the hook, and the run-time."
What you get: A cross-brand, filtered set of proven creatives, searchable by format, tone, hook, and longevity instead of a folder you'll never reopen. This is the swipe file legacy gallery tools (Foreplay, MagicBrief, both solid, check their sites) give you visually; the MCP version is queryable in plain English and ranked by what actually lasted.
6. Generate a competitive brief in one prompt
Goal: Produce a share-ready brief for a client or your team without spending an afternoon in slides.
Prompt:
"Generate a competitive brief on Gymshark. Lead with the derived-intelligence panel, then the strategic read. Export it as Markdown and PDF."
What you get: A brief that opens with the data Meta doesn't hand you directly, longevity curve, engagement-verified reach (impression range × scraped likes/comments/shares), iteration rate, before any qualitative take, so the narrative is anchored in evidence. Exportable as PDF and Markdown. Drop it in a deck or send the link.
7. Clone a winner into your own brand identity
Goal: Take a verified winning ad and produce an original version in your voice, grounded in what works, not a blank-page guess.
Prompt:
"Clone Gymshark's longest-running video ad for my brand. I sell recovery supplements, tone should be calm and clinical."
What you get: For a video ad, a scene-by-scene script brief, shot list, and UGC-creator brief; for an image ad, a generated image in your brand identity. Always original copy and visuals, always grounded in a real verified winner, always citing the source ad. It's READ-ONLY on the competitor, nothing touches anyone's live account, and it gives your team a starting point that's already pressure-tested by someone else's budget.
8. Set up change tracking so research stays current
Goal: Research isn't a one-time pull. Set up alerts so you know when a competitor launches, kills, or scales an ad, without re-running everything weekly.
Prompt:
"Track Gymshark and Alphalete going forward. Tell me what's already changed in their active ad sets versus last snapshot, and what a useful weekly digest would flag."
What you get: A baseline of current activity plus a framing for ongoing monitoring. Because AdWhispr snapshots daily, the history accrues whether you're watching or not, so when a competitor's new creative suddenly survives past 60 days, you'll know it became a winner the moment it does. (Change alerts come with Pro at $39/mo; full change alerts and cross-brand comparison with Agency at $149/mo.)
Stack them into a routine
The real leverage is sequencing these. A typical weekly loop: run #8 to see what changed, #1 and #2 on anything new that's lasting, #3 if a competitor is clearly scaling, then #6 to brief your team and #7 to ship a response. Five prompts, fifteen minutes, all grounded in real Ad Library history instead of a model's imagination.
That's the whole point of pairing an AI assistant with the MCP: ChatGPT brings the language, AdWhispr brings the facts. Either alone is a parlor trick. Together they're a research department. Start free with one brand and 15 agent calls a month, or browse more workflows on the blog.
Connect the AdWhispr MCP, paste a competitor's URL, and let your AI assistant do the digging, adwhispr.com.
