SwipeHarbor
Server Details
Ad archive search (NewsBreak, Rumble, YouTube, Meta). Paid SwipeHarbor members only; token required.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool maps to a distinct retrieval shape: search_ads queries the corpus, get_ad_evidence reads a single ad with provenance, compare_ads aggregates 2-4 ads, and get_funnel reads destination paths. compare_ads and get_ad_evidence both surface ad evidence, but the cardinality (single vs multi) and explicit 'does not...' caveats keep them separable.
All four names follow a consistent verb_noun snake_case pattern (search_ads, get_ad_evidence, get_funnel, compare_ads) with no style mixing or vague verbs.
Four tools is appropriate for a focused, read-only ad-evidence archive; the surface is tight rather than sprawling. It is slightly lean, but no tool feels redundant or missing by count alone.
The read-only lifecycle (search, fetch, compare, funnel) is coherent, and write operations are out of scope by design. However, search_ads explicitly references 'transcript search' whose filters do not apply, yet no transcript search tool exists, leaving a referenced capability unreachable.
Available Tools
4 toolscompare_adsBRead-onlyIdempotentInspect
Return recorded evidence for two to four distinct ads for comparison. It does not infer competitor spend or performance.
| Name | Required | Description | Default |
|---|---|---|---|
| ads | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds one piece of behavioral context — the output is recorded evidence, not inferred spend/performance — which is a meaningful limitation but the only disclosure beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the action is front-loaded and the negation about inferred metrics immediately follows. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should convey what 'recorded evidence' looks like when returned (fields, per-ad structure, how the two-to-four ads are presented), and it does not. Annotations carry the safety story, so this is adequate but leaves the return shape unspecified for a comparison tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter is an array of ad objects whose platform enum and id constraints are undocumented. 'Two to four' merely restates minItems/maxItems, and only the word 'distinct' adds meaning not in the schema, so the description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Return recorded evidence') plus the scope ('two to four distinct ads for comparison'), so the comparison intent is clear. It does not, however, explicitly differentiate itself from get_ad_evidence or search_ads, which a single clause could have done.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The line 'does not infer competitor spend or performance' usefully bounds what the tool will not do, but there is no guidance on when to pick this over get_ad_evidence or search_ads, nor any prerequisite about the ads needing to already exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ad_evidenceARead-onlyIdempotentInspect
Read one captured ad, its recorded category provenance, text evidence, and device context. Does not fetch advertisers or generate previews.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| platform | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds value beyond that by disclosing what data is returned (provenance, text evidence, device context) and what the tool deliberately does not do. It does not cover behavior on a missing or invalid id, which keeps this from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler; the positive scope statement is front-loaded and the exclusion follows it. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description's enumeration of returned fields is genuinely useful completeness work, and the annotations cover the safety profile. Gaps remain around id format and error behavior for a two-required-param lookup, but the essentials for calling it are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions either parameter. 'One captured ad' weakly implies that id identifies an ad, but the identifier format and the role of platform are left entirely to the schema's type/env constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read one captured ad') and enumerates the returned content (category provenance, text evidence, device context), which lets an agent distinguish it from search_ads and compare_ads. It stops short of naming the sibling alternatives explicitly, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Read one captured ad' implies single-item retrieval by platform+id, which is an implied usage distinction from search_ads. The only explicit boundary is the negative statement about advertisers and previews, which does not map to any sibling capability. No positive when-to-use guidance or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_funnelBRead-onlyIdempotentInspect
Read only the recorded destination path. Unresolved, failed and unvisited steps remain explicit; this tool does not navigate or recover hidden pages.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| platform | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description goes further by disclosing data-state semantics — unresolved, failed, and unvisited steps stay explicit rather than being resolved — and by stating it performs no navigation or hidden-page recovery, which is real context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the positive capability followed by the scope caveat, with no filler. Slightly dense for the amount of information conveyed, but every clause carries weight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description's behavioral caveats about unresolved/failed/unvisited steps partially compensate for the absent return-value documentation. It falls short on the input side, though, where two undocumented required parameters leave the agent without enough to call the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters, so the description carries the full burden of explaining "platform" (an enum of newsbreak/rumble/youtube) and "id". It mentions neither, adding no meaning beyond the raw schema types, which leaves the agent guessing about identifier format and platform scope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a verb ("Read") and a resource ("recorded destination path") and references steps, so an agent can infer it retrieves recorded funnel outcomes. However, it never frames this in terms of the funnel concept the tool name implies, and "destination path" is unexplained jargon that leaves the positive purpose somewhat opaque.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"This tool does not navigate or recover hidden pages" gives an explicit when-not boundary, which is useful for an agent that might otherwise expect crawling/recovery behavior. But there is no positive when-to-use guidance and no reference to the sibling tools (compare_ads, get_ad_evidence, search_ads) to route between alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_adsARead-onlyIdempotentInspect
Search stored NewsBreak/Rumble ads. Results contain at most 12 ads. sort=newest (default) orders by last observation; sort=longest_running orders by recorded observation span in whole days. minDays=7|30|90 keeps ads observed over at least that span. minSightings=2|5|10|25|50|100 requires at least that many stored capture observations, not impressions. Counts and spans do not prove continuous runtime or spend. These filters do not apply to transcript search. Follow nextCursor with the same query, sort and filters.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| sort | No | ||
| query | No | ||
| cursor | No | ||
| format | No | ||
| minDays | No | ||
| category | No | ||
| platform | No | ||
| searchIn | No | ||
| subcategory | No | ||
| minSightings | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent/non-destructive annotations provided: it discloses the 12-ad result cap, clarifies that minSightings counts stored captures 'not impressions', warns that counts and spans 'do not prove continuous runtime or spend', and states that cursor following requires the same query, sort and filters. These are non-obvious behavioral constraints an agent would otherwise get wrong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense and front-loaded: purpose first, then sort/filter semantics, then the caveat, then pagination. Every sentence carries information, though the page is a long run-on chain of terse clauses that could be segmented for easier scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter search with zero schema descriptions and no output schema, the description covers the semantically tricky filters but omits the large remaining filter surface (platform, category, subcategory, format, days, query) and gives no hint of the returned ad fields. Adequate minimum, with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 11 parameters, so the description carries the full burden. It explains sort, minDays, minSightings and searchIn=transcript well, but leaves query, platform, category, subcategory, format, days and cursor unexplained — and notably never distinguishes the 'days' parameter from the near-identical 'minDays' parameter with the same enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search stored NewsBreak/Rumble ads') and immediately constrains scope with the 12-result cap, so an agent can tell it apart from sibling tools. It does not name compare_ads, get_ad_evidence or get_funnel, so differentiation from siblings is left to inference. One inaccuracy: the platform enum includes 'youtube' while the description names only NewsBreak/Rumble.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives real when-to-use guidance for the filter set: sort=newest vs longest_running, what minDays and minSightings keep, and an explicit exclusion ('These filters do not apply to transcript search'). It also tells the agent how to continue pagination. It never says when to prefer this tool over compare_ads or get_ad_evidence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- Changed
compare_ads1 field changed- changed
Input schema / properties / ads / items / properties / platform / enumPrevious value: -[ - "newsbreak", - "rumble" -]New value: +[ + "newsbreak", + "rumble", + "youtube" +]
- Changed
get_ad_evidence1 field changed- changed
Input schema / properties / platform / enumPrevious value: -[ - "newsbreak", - "rumble" -]New value: +[ + "newsbreak", + "rumble", + "youtube" +]
- Changed
get_funnel1 field changed- changed
Input schema / properties / platform / enumPrevious value: -[ - "newsbreak", - "rumble" -]New value: +[ + "newsbreak", + "rumble", + "youtube" +]
- Changed
search_ads2 fields changed- added
Input schema / properties / minSightingsAdded value: +{ + "enum": [ + "all", + "2", + "5", + "10", + "25", + "50", + "100" + ], + "type": "string" +} - changed
Input schema / properties / platform / enumPrevious value: -[ - "all", - "newsbreak", - "rumble" -]New value: +[ + "all", + "newsbreak", + "rumble", + "youtube" +]
1 tool update
- Changed
search_ads2 fields changed- added
Input schema / properties / minDaysAdded value: +{ + "enum": [ + "all", + "7", + "30", + "90" + ], + "type": "string" +} - added
Input schema / properties / sortAdded value: +{ + "enum": [ + "newest", + "longest_running" + ], + "type": "string" +}
4 tool updates
- First observed
compare_ads - First observed
get_ad_evidence - First observed
get_funnel - First observed
search_ads
Related MCP Connectors
Meta Ad Library and Google Ads Transparency video ads, plus AI teardowns and shot-by-shot analysis.
Search Meta, Google Ads, LinkedIn, and TikTok ad libraries plus creative analysis via MCP.
Every ad an advertiser runs on Google, from the public Ads Transparency Center. Unofficial tool.
Every ad a brand runs on Google Search, YouTube and Display, from Google's Ads Transparency Center: format, first and last shown, days running, ad text, images and links. Find advertisers by name or domain. Runs on Apify.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceSearches and analyzes competitor ads and content across Meta, Google, Instagram, TikTok, and YouTube with AI-powered creative analysis and cross-platform brand discovery.1MIT
- AlicenseAqualityCmaintenanceSearch and analyze TikTok's public ad library, including ad creatives, video scene-by-scene insights, and advertiser comparisons.73 npm2MIT
- FlicenseAqualityDmaintenanceSearches the Meta (Facebook) Ad Library by keyword and returns ad details including advertiser, ad copy, and EU reach, without requiring an API key.31-
- AlicenseNot gradedqualityBmaintenanceEnables searching Meta ads by text, country, category, advertiser, or landing domain from an AI assistant, then opening individual ads and advertiser pages, ranking what is scaling, finding related ads by page or domain, and downloading images and videos for ad ids.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.