Ad Radar
dev.ad-radar/ad-radarVersion 1.2.0Search winning Meta ads with $50k+ in estimated spend, read hooks and scripts, and draft briefs.
Status
Responds558 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:24 UTC
- Latency
- 558 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 22:14 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://app.ad-radar.dev/api/mcpResponds558 msNo sign-in
Claude Code
claude mcp add --transport http ad-radar https://app.ad-radar.dev/api/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: ad-radar
Remote MCP server URL: https://app.ad-radar.dev/api/mcpCursor
{
"mcpServers": {
"ad-radar": {
"url": "https://app.ad-radar.dev/api/mcp"
}
}
}VS Code
code --add-mcp '{"name":"ad-radar","type":"http","url":"https://app.ad-radar.dev/api/mcp"}'Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
6 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
advertiser_hooksReturns the hooks, hook mechanisms and angles an advertiser uses most, counted over all of its ads in the library. advertiserId is the advertiser id shown in search_ads rows. | No | Yes | Yes | No |
get_adReturns the full record of one ad: headline, body, CTA, full transcript, metrics, spendEstimate (an ESTIMATE based on engagement, not real spend; spendLowerBound = it is a minimum, "at least"), delivery status, winnerObservation (when we first observed it above $50k), media (public URLs), links (post, Ad Library, landing page, board), tags (the same dimension and slug search_ads shows), publisher platforms and landing domain. The transcript is in English: when the ad runs in another language (e.g. Spanish), transcript is the English translation, translatedFrom names the language and transcriptOriginal holds the original script. Text fields are null when they aren't available for that ad; the links always point to the original. | No | Yes | Yes | No |
get_swipe_promptReturns a prompt template built from one ad, written for the user to run on their own product. The result is JSON with the template text in the template field. kind='swipe' is a template that maps the ad's beats, checks the fit with the user's product, drafts a full version with the same structure and adds alternative hooks. kind='analysis' is a template that breaks down why the ad works (audience, funnel, psychology, weak spots) and how its structure applies to a business. product and niche are written into the template; without product the template keeps a placeholder for it. | No | Yes | Yes | No |
list_taxonomyLists the taxonomy dimensions of the Ad Radar library (awareness, angle, hook_pattern, vformat, pformat, landing...) with their valid values. These slugs are the values the tags filter of search_ads accepts. | No | Yes | Yes | No |
search_adsSearches the Ad Radar library of Facebook and Instagram ads from the Meta Ad Library (every ad has at least $50k estimated spend), with the same filters as the Ad Radar board. By default it returns only active ads, sorted by score, as compact rows. Each row has an adKey, which get_ad and get_swipe_prompt accept. Valid tag dimensions and slugs are the ones list_taxonomy returns. headline and body are null when the ad's text isn't available (the tags still describe the ad); in rows they are cut at 140 and 280 characters, while get_ad returns them whole. Every other value in a row matches what get_ad returns for that ad. spendEstimate is an estimate based on engagement, not reported spend; spendLowerBound true means the value is a minimum ("at least"). | No | Yes | Yes | No |
winning_patternsReturns, for each taxonomy value, how many times more often it appears among winning ads than on average (lift), with adoption (ads, advertisers) and example ads; the same data as the 'What to do now' block of the Ad Radar analytics page. doThis lists the values above average, lower the values below. exampleAdKeys are adKeys that get_ad accepts. | No | Yes | Yes | No |
Details
- Registry status
- Active
- Published
- Oct 20, 2026
- Updated
- Oct 20, 2026
- Repository
- Not given
- Categories (suggested)
- Marketing and SEOSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared