The short answer

With an ad research MCP server connected, a full competitor pass in Claude takes six tool calls: list the tags, search the niche, open the top ads, read one brand's hook pattern, check what beats the baseline, and generate a swipe prompt. In this walkthrough we run it on the 52 winning oral care ads on our board and end with a script structure ready for a new product.

The setup in one command

This walkthrough is one real research session in Claude, start to finish. The task: we are briefing ads for a new toothpaste tablet brand and want to know what is working in oral care on Meta right now.

Connect the Ad Radar MCP server first. In Claude Code:

claude mcp add --transport http ad-radar https://app.ad-radar.dev/api/mcp

In Claude Desktop or claude.ai, add it as a connector and sign in with OAuth. Claude now has six tools. We will use all of them, in the order a strategist would.

StepToolQuestion it answers
1list_taxonomyWhat tags can I filter by?
2search_adsWhat's running in my niche?
3get_adWhat does the best one actually say?
4advertiser_hooksWhat is one competitor's repeatable playbook?
5winning_patternsWhich choices beat the baseline across the board?
6get_swipe_promptHow do I adapt one ad to my product?

If MCP itself is new to you, read MCP for marketers first. It takes five minutes.

Step 1: learn the vocabulary

Tag filters only work with exact values, so we start by asking Claude to load them.

Call list_taxonomy and tell me the valid values for niche, hook_pattern,
angle and awareness. Keep it to one line per dimension.

The board tags every ad on ten dimensions: hook pattern, hook mechanism, narrative angle, reader awareness, proof level, production format, video type, landing page type, niche and CTA type. The one we need here is the niche value oral. Skipping this step is the most common reason a search comes back empty: Claude guesses oral-care or dental, and the filter matches nothing.

Step 2: search the niche

Use search_ads with niche "oral", active ads only, sorted by score,
limit 25. Return a table: brand, opening line, format and length,
estimated spend, days live, variants, hook pattern.

Here is what the niche looks like on our October 9, 2026 snapshot:

52

winning oral care ads

20

brands running them

$256K

median estimated spend

99 days

median time live

Two things jump out of the table Claude returns. First, the niche mixes human and pet dental care: PetLab Co. has several dog dental ads in the top 15. We tell Claude to drop pet brands for this brief. Second, 92% of the niche is video, against 81% across the whole board.

The top of the human list, by estimated spend:

BrandOpening lineFormatEst. spendDays
Pop OnPop on Veneers is the best and easiest way to get the smile you deserve.Video, 60s$5.44M866
Pop On$2,300 for that.Video, 57s$4.90M233
ResetSmileTrust me, you're gonna want to hear this.Video, 91s$3.35M158
CareCreditWe used the Care Credit credit card to get my teeth cleaned, and it feels great.Video, 6s$1.19M88
LIVFRESHThis new toothpaste gel formula makes plaque literally fall off your teeth.Video, 76s$688K78

Follow-up prompt worth using every time: "Which of these have 2+ variants and 90+ days live?" Those are the ads a brand has kept feeding. In oral care, 33 of the 52 ads have passed 90 days and 11 run two or more variants.

Step 3: open the ad that matters

The biggest numbers belong to Pop On, but its products (snap-on veneers) are far from a toothpaste tablet. The closest product match with real scale is LIVFRESH, so we open its top ad.

Call get_ad on the LIVFRESH ad that opens "This new toothpaste gel
formula...". Give me the full transcript, then split it into beats:
hook, problem, mechanism, proof, offer, CTA. Quote each beat.
LIVFRESHMeta ad · winning
This new toothpaste gel formula makes plaque literally fall off your teeth.
Est. spend
$688K
Days live
78
Format
Video, 76s
Variants
2
  • Unaware
  • Science / Mechanism Proof
  • Root Cause

The second line explains why regular toothpaste falls short, before the product is named. That is a mechanism script, and it is the structure we want for a new formula.

The transcript is 13 lines, and the beat map Claude builds from it is lopsided in an instructive way:

BeatLinesWhat it does
Hook1The promise in physical terms
Problem2 to 3What regular toothpaste supposedly can't do
Mechanism4Who made it and the named technology
Proof stack5 to 9Studies, dentist recommendations, "not normal toothpaste"
Urgency and contrast10 to 12"Going viral", "outdated toothpaste from the '50s"
CTA13"Click down below to read more about it for free"

Two findings for the brief. The proof stack is the longest block, longer than the product explanation. And the CTA asks for a read, not a purchase, which fits an unaware viewer and the dedicated landing page behind every LIVFRESH ad. The efficacy claims themselves are the advertiser's to substantiate; we take the order of the argument, nothing else.

Step 4: read the competitor's playbook, not one ad

A single ad can be luck. A brand's pattern across ten ads is a decision. That is what advertiser_hooks returns.

Get LIVFRESH's advertiserId from the last search, then call
advertiser_hooks. Summarize: dominant hook pattern, hook mechanism,
angle and awareness level, with counts.

The answer is unusually clean. advertiser_hooks reports the hooks and angles; we asked Claude to add awareness and landing type from the search rows:

DimensionLIVFRESH (10 ads)
Hook patternSpecific-Number Opener (10 of 10)
Hook mechanismScience / Mechanism Proof (10 of 10)
AwarenessUnaware (10 of 10)
AngleSystematic Breakdown (8), Root Cause (5)
LandingDedicated landing page (10 of 10)

Their headlines rotate between two lines: "The first real innovation in toothpaste since 1914." and "Your dentist will notice the difference in 4 weeks." The openers change, the argument doesn't. When Claude shows you a brand this consistent, the lesson is the argument, and you should brief your own version of it rather than a copy of any one ad.

Compare a brand that wins with a different engine:

ResetSmileMeta ad · winning
Trust me, you're gonna want to hear this.
Est. spend
$3.3M
Days live
158
Format
Video, 91s
Variants
7
  • Solution-Aware
  • UGC Selfie
  • Expert Based

A top-tier ad with seven variants. The opener is a generic attention line; the work happens in the next sentence, which names the product type and explains it. Proof that a weak-looking hook can carry a strong second line.

Step 5: check the pattern against the whole board

Niche data is thin: 52 ads, of which only 2 sit in the top tier. Before betting a brief on it, we check which tag values beat the baseline across all 2,443 ads.

Call winning_patterns for video. Show the top values by lift with
their ad counts, and flag any value with fewer than 20 ads as a
small sample.

Across the board, about 10% of ads reach the top tier (top 10% by winner score, live 21+ days). The values relevant to our brief:

TagAds on boardShare reaching top tier
Science / Mechanism Proof1589.5%
Systematic Breakdown (angle)46812.2%
Strong proof10416.3%
Specific-Number Opener41112.9%
Unaware8258.6%

This is where Claude saves you from a bad brief. The mechanism hook LIVFRESH uses sits at the board average, and unaware openers are slightly below. What lifts results is the proof level and the systematic breakdown structure. So the brief keeps LIVFRESH's step-by-step argument but asks for stronger, showable proof, like a disclosing tablet test on camera, rather than more science talk.

Step 6: turn it into a swipe

Call get_swipe_prompt on the LIVFRESH ad, kind "swipe", lang "en",
product: "Toothpaste tablets, chew then brush, fluoride-free,
zero plastic tube, 60-day jar $24, subscription available".
Then follow the prompt it returns.

get_swipe_prompt returns a ready prompt: the donor script annotated by copy block (pain, promise, proof, constraints, curiosity) and instructions to work in three passes. Following it, Claude hands back:

  1. A structure map of the donor, beat by beat.
  2. A full first draft for the tablets, at roughly the donor's length.
  3. A comparison with the original, showing where the draft keeps the structure and where it changes the content.

Use the comparison as a checklist. Rewrite any line that sits too close to the donor's wording, replace every borrowed claim with one you can prove for your own product, and add the on-camera proof beat from Step 5. Then it goes into the brief. For the brief fields, use our creative brief template; for the full method behind swiping structure, see the AI swipe workflow.

What to check by hand

Claude did the reading. You still sign off on five things:

  • Open three ads yourself. Confirm the opening lines Claude quoted match the transcript.
  • Watch the sample size. 52 ads and 2 top-tier ads is a small niche. Lean on board-wide patterns for the decision, niche ads for the examples.
  • Separate structure from claims. Borrow the order of the argument. Never borrow a claim you can't back for your own product.
  • Say "estimated". Every spend figure in the brief is a model estimate from public engagement data.
  • Note what's missing. The board covers Meta ads with $50k+ in estimated spend. Early tests by small brands won't be there.

Reusable prompt for your niche

Save this and swap the niche and product.

Research brief for [product] in niche "[niche slug]".
1. list_taxonomy: confirm the niche slug.
2. search_ads: niche, active, sort by score, limit 30. Table with brand,
   opener, format, est. spend, days, variants. Drop brands outside
   [scope].
3. get_ad on the 3 closest product matches. Beat map for each.
4. advertiser_hooks for the brand with the most ads in the list.
5. winning_patterns (video). Compare the niche's dominant tags with
   board-wide top-tier rates. Flag samples under 20 ads.
6. Recommend one angle, one hook pattern and one proof type, citing
   the ads that support each. Then get_swipe_prompt on the best donor.
Label all spend as estimated. Never invent an ad.

More single-purpose prompts are in Claude prompts for Facebook ads, and the niche itself is covered in depth in oral care ads.

Figures marked as estimated spend come from Ad Radar's model of engagement on public Meta Ad Library ads. They are estimates, labeled as such, and are best used to rank ads against each other.

Questions

Can Claude do competitor ad research?

Yes, if it can reach ad data. On its own Claude can't browse the Meta Ad Library reliably or know what is spending. Connected to an MCP server like Ad Radar's, it can search winning ads by niche, tag or transcript text, open each ad's full record and summarize patterns with the evidence attached.

What MCP tools does Ad Radar provide?

Six: search_ads to find ads by text, niche, tags and days live; get_ad for one ad's full record and transcript; winning_patterns for tag values that reach the top tier above average; advertiser_hooks for one brand's hook mix; get_swipe_prompt to adapt an ad to your product; and list_taxonomy for valid tag values.

How long does a competitor research session in Claude take?

The walkthrough in this article is six tool calls and about a dozen prompts. Most of the time goes into reading what Claude returns and checking a few ads by hand, which we recommend. A manual version of the same pass, reading 50 scripts, usually takes an afternoon.

Is the spend data in Claude exact?

No. Ad Radar's spend figures are estimates modeled on engagement from the public Meta Ad Library, tracked over time. They are reliable for ranking ads against each other, not for exact budgets. Ask Claude to label them as estimated in anything it writes.

Keep reading

See the ads that are already winning.

Membership is $49 every 4 weeks at the launch price. Cancel anytime.