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 $29/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 five messages 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.