Docs
Ctrl+K Search Alt+[Alt+] Guides
Get API key

Integrations

MCP tools reference (simple)

This is the plain-English version of the MCP tools list.

  • MCP URL: https://app.winninghunter.com/mcp
  • Full setup guide: Connect MCP
  • All tools are read-only
  • Successful tools/call uses 1 API credit

Quick list (all 30 tools)

search_tiktok_products
search_tiktok_shops
search_tiktok_creators
search_tiktok_videos
count_tiktok_entities
browse_tiktok_categories
list_tiktok_category_top
autocomplete_tiktok
get_tiktok_product
get_tiktok_shop
get_tiktok_creator
get_tiktok_video
get_tiktok_trending_products
search_facebook_ads
find_winning_products
creative_inspiration_pack
brief_competitor
scan_ad
daily_radar
analyze_tracked_brand
list_tracked_brands
list_shopify_store_filter_options
search_shopify_stores
search_shops
find_similar_shops
find_similar_stores_by_image
search_exploding_topics
get_exploding_topic_detail
autocomplete_exploding_topics
check_credits

How to think about the tools

1) Find things

Use these first:

  • search_tiktok_products
  • search_tiktok_shops
  • search_tiktok_creators
  • search_tiktok_videos
  • search_facebook_ads
  • find_winning_products
  • creative_inspiration_pack
  • brief_competitor
  • scan_ad
  • search_shopify_stores
  • search_shops
  • find_similar_shops
  • find_similar_stores_by_image
  • search_exploding_topics

2) Open details

Use an ID from search results:

  • get_tiktok_product
  • get_tiktok_shop
  • get_tiktok_creator
  • get_tiktok_video
  • get_exploding_topic_detail

3) Helpers

  • count_tiktok_entities (counts by entity)
  • browse_tiktok_categories (category tree and views)
  • list_tiktok_category_top (top items in one category)
  • autocomplete_tiktok (typeahead suggestions)
  • autocomplete_exploding_topics (topic suggestions)
  • get_tiktok_trending_products (TikTok Shop trending)
  • daily_radar (tracked-brand changes)
  • analyze_tracked_brand (single-brand deep dive)
  • list_shopify_store_filter_options (valid Store Explorer filter values, including dynamic themes/apps/taxonomy)
  • check_credits (remaining API credits)

Most common arguments

Most search tools use these:

  • keyword
  • country
  • page
  • size
  • sort_by
  • sort_order

For Meta ad tools, page is 1-based in MCP (1 = first page), even though the dashboard backend uses 0-based indexing internally.

sort_order is asc of desc (default desc) on every tool that accepts it.

Most detail tools use:

  • id
  • slice (which part you want)

Allowed sort_by per tool

Pass any string from the table below. Common aliases are normalized automatically (case-insensitive). Anything else falls back to the default sort and the response includes a mcp_sorting block describing what was applied.

Meta ad library

Tool Default Allowed sort_by
search_facebook_ads relevance relevance, datefound, lastseen, adspend, longestrunning, reach, adsetamount, consistency, monthlyvisits, pageactiveads, toprank (sort by ad_rank ascending: rank #1 before #5; use for “top ad from [brand]”; MCP forces sort_order asc)
find_winning_products relevance same as search_facebook_ads

Aliases: created / created_at / date / recent / newest / latestdatefound; last_ad_startedlastseen; first_ad_started / oldest / earliestdatefound (ascending); active_adspageactiveads; monthly_visitsmonthlyvisits. For within-brand ad_rank (“top ad from [brand]”), use toprank or aliases rank, ranking, ad_rank, top_ad, best_ranked, best_ad, adrank, topad, …; spaced phrases like top rank / top ad normalize to toprank. sort_order is ignored for toprank (always ascending rank).

searchkeyword (field scope for keyword on Meta tools): Alle (default), landingurl, pagename, adtext, productname. This is not a niche/category field; aliases like landing_url, page_name, ad_text, product are normalized too. If an agent mistakenly sends a niche/category term as searchkeyword with no keyword / niche (for example searchkeyword: "Fashion"), the MCP tool recovers it as the matching niche (CG) instead of failing schema validation.

For Meta vertical/category searches, use niche of niches instead of keyword-only filtering. Treat user wording like “category”, “niche”, “vertical”, “market”, or “product category” as a request for this Meta niche filter. The MCP input schema exposes the dashboard niche codes as an enum, so a fashion query should be sent as niche=CG (Mode & Kleding). Useful fashion-ad refinements are WC = Women's Clothing, MC = Herenkleding, FW = Schoeisel / Schoenen, BG = Tassen, JY = Sieraden, WT = Horloges, and SG = Sunglasses. The runtime also accepts dashboard names like Mode & Kleding; invalid values return allowed_niches instead of being passed through.

rank_growth_filter is also validated against the dashboard options: comma-separated rising, stable, declining.

Other Meta dashboard filters are exposed as MCP args and validated before calling /api/fb-ads: countries / exclude_countries, technology / technologies, language / languages / exclude_languages, apps / exclude_apps, theme / themes, scaling, media_type, page_type, ad_score, low_impressions, range filters (min_* / max_* for duplicates, active ads, ad spend, reach, monthly visits, products on store, price, copy length, video length, days running), and date ranges (ad_created_*, last_seen_*, product_created_*, page_created_*). Theme names must be exact dashboard Themes values; apps accept dashboard app ids or app names. Date ranges require both *_from and *_to in YYYY-MM-DD.

TikTok Shop

All TikTok Shop search tools default to sort_by=revenue. Allowed values match the dashboard's sortable columns.

Tool Allowed sort_by
search_tiktok_products revenue, name, revenue_30_days, sold_count, avg_unit_price, commission_rate, creator_count, first_seen, creator_conversion_ratio, revenue_growth_rate, sales_growth_rate, product_score, product_rating, product_review_cnt
search_tiktok_shops revenue, shop_name, revenue_30_days, sold_count, product_count, shop_rating, revenue_growth_rate, sales_growth_rate, video_count, avg_unit_price
search_tiktok_creators revenue, name, revenue_30_days, followers, followers_lifetime, followers_growth_rate, video_count, revenue_growth_rate, views_growth_rate, product_count
search_tiktok_videos revenue, name, revenue_30_days, views_30_days, likes_30_days, gpm, ad_spend, ad2_cost, ad2_roas, estimated_roas, publish_date, revenue_growth_rate, views_growth_rate, likes_growth_rate, shares_growth_rate, video_duration, comments, saves

For list_tiktok_category_top, get_tiktok_product (creators / videos slices), get_tiktok_shop (products / videos / creators slices), get_tiktok_creator (shops / products / videos slices), and get_tiktok_video (similar slice), the sort_field arg uses the matching entity's allow-list above.

Aliases auto-normalized across TikTok Shop tools: units_sold / units / sales / soldsold_count; gmvrevenue; gmv_30d / revenue_30drevenue_30_days; growth / revenue_growth / gmv_growth_raterevenue_growth_rate; sales_growthsales_growth_rate; price / avg_priceavg_unit_price; ratingshop_rating; recensiesproduct_review_cnt; followers_countfollowers; viewsviews_30_days; likeslikes_30_days; roasestimated_roas; durationvideo_duration; date / publishedpublish_date.

Shopify Explore Shops

Tool Default Allowed sort_by
search_shopify_stores, search_shops monthly_visits monthly_visits, 30d_rev_estimated_max, 1d_rev_estimated_max, revenue_1y, aov, visits_growth_pct_m1, visits_growth_pct_m3
find_similar_stores_by_image monthly_visits same as search_shopify_stores

Aliases: revenue / monthly_revenue / revenue_30d / 30d_revenue30d_rev_estimated_max; annual_revenue / yearly_revenuerevenue_1y; daily_revenue / revenue_1d1d_rev_estimated_max; traffic / visits / visitors / monthly_trafficmonthly_visits; avg_order_value / average_order_value / order_valueaov; traffic_growth_1mvisits_growth_pct_m1; traffic_growth_3mvisits_growth_pct_m3; revenue_change / revenue_momentum / store_revenue_change_30dvisits_growth_pct_m1 (same mapping as the live Explore Shops table when legacy revenue-delta sort was retired).

search_shopify_stores / search_shops filters (all optional unless noted). Names mirror MCP argument names:

Use list_shopify_store_filter_options before filtering by dynamic values (shopify_themes, store_apps, product_taxonomy_l1/l2/l3). Its section argument accepts all, static, themes, apps, product_taxonomy_l1, product_taxonomy_l2, product_taxonomy_l3; pass query to search dynamic option lists.

Intent playbook: “Stores in a niche” → category of niche = one of the Explore Shops verticals. For fashion/clothing/apparel, use Kleding. Avoid keyword-only niche queries. “Top / biggest by revenue” → sort_by=revenue_1y, sort_order=desc. “New in last N months” → store_created_from / store_created_to inclusive YYYY-MM-DD (both required).

Parity with POST https://app.winninghunter.com/api/shops/explore: MCP uses the same server-side POST keys (search, category, sortingKey, sortingDirection, page, pageSize, includeWlads, …). Argument mapping: keywordsearch, sort_bysortingKey, sizepageSize. Default include_wlads=falseincludeWlads=0 (matches the dashboard table request that skips wlads previews).

Argument(s) Meaning
keyword Full-text search (name, domain, category, descriptions, products/bestsellers).
country Merchant/store registered country, not visitor traffic. Allowed: US, GB, CA, AU, DE, FR, NL, IN, BR, IT, ES, SE, CN, JP, HK, CH, BE, AE, bij, Nieuw-Zeeland, SG, IE, DK, GEEN, PT, PL, MX, KR, IL, ZA, SA, MY, TH, PH, ID, NG, PK, MA, CO, AR, FI, CZ, RO, GR, HU.
currency Store currency. Allowed: USD, EUR, GBP, CAD, SEK, DKK, PROBEER HET, NOK, CHF, AUD, NZD, HKD, MXN, BRL, INR.
category, niche Same Explore Shops vertical (niche is an alias if you omit category). Only these values match the vertical filter: Kleding, Kunst & Ambachten, Accessoires, Schoonheid, Gezondheid, Speelgoed & Spellen, Elektronica, Dierbenodigdheden, Overige (server matches case-insensitively). Prefer over keyword alone for “stores in [vertical]”.
product_taxonomy_l1, product_taxonomy_l2, product_taxonomy_l3 Optional finer product taxonomy refinements. These are not the main vertical filter; use category / niche for verticals. Discover valid values with list_shopify_store_filter_options.
visitor_country_main, visitor_country_among, visitor_country_exclude Visitor/traffic mix from SimilarWeb-style top countries: comma/semicolon ISO2 lists; main = tied top share; among = has meaningful share; exclude = must not appear (same code in multiple lists → exclude wins). Invalid country-code strings return invalid_argument.
min_revenue, max_revenue, min_annual_revenue, max_annual_revenue Estimated revenue band (monthly USD or annual converted to monthly bounds server-side).
aov_min, aov_max Average product price / AOV range (non-negative).
monthly_visits_min, monthly_visits_max Monthly visits band (integers ≥ 0). Dashboard presets: 0-5000, 5000-10000, 10000-50000, 10000-150000, 10000-100000000, 50000-100000, 0-150000, 100000-1000000, 1000000-100000000, 3000000-100000000.
product_count_min, product_count_max Published product count band (integers ≥ 0). Dashboard presets: 1-10, 10-50, 50-200, 200-1000, 1000-100000.
language Exact match on store language. Allowed: en, fr, de, es, it, pt, nl, sv, da, no, pl, ja, ko, zh, ar, tr, ru, he, th.
store_apps Substring match against installed Shopify app names (≤128 chars). Discover valid names with list_shopify_store_filter_options(section=apps).
revenue_change_pct_min, revenue_change_pct_max 30d revenue momentum filter (store_revenue_change_30d); both bounds must be ≥ 0 (dash-range encoding limitation).
trustpilot_rating_min, trustpilot_rating_max Trustpilot stars (0–5). Dashboard presets: 1-2, 2.5-3.5, 4-5.
trustpilot_reviews_min, trustpilot_reviews_max Trustpilot review count band (integers ≥ 0). Dashboard presets: 1-1000, 1000-10000, 10000-100000, 100000-100000000.
traffic_growth_rules_json JSON array of rules AND‑ed together: { "months": 1 | 3, "direction": "growth" | "loss", "percentage": number, "maxPercentage": number | null } (matches Explore Shops Traffic Growth UI).
store_created_from, store_created_to Inclusive calendar window YYYY-MM-DD (both required). Filters indexed first_product_date (first catalog signal). Does not filter Shopify metadata.created_at (shop provision / replatform). Successful responses include mcp_sorting with the applied sort and allow-list.
include_wlads Default false: includeWlads=0 in POST (same as dashboard Explore table — no per-store explore_wlads_ads Meta preview hydration). Set true for previews (includeWlads=1).
shopify_themes Comma/semicolon-separated theme names, or JSON string array (each 1–128 chars). Discover current theme names with list_shopify_store_filter_options(section=themes). Invalid/empty theme payloads return invalid_argument.
page, size, sort_by, sort_order Pagination and sort. page must be ≥ 1; size must be 1–50; sort_order must be asc of desc.

find_similar_stores_by_image takes image_url (required) plus the same filters as above except keyword (similarity replaces text search).

Note: TikTok MCP tools also use a country argument — there it is marketplace/country context, not the same field as Shopify merchant country.

Brand tracker

Tool Default Allowed sort
list_tracked_brands date_added date_added, name, new_ads, growth

Aliases: recent / added / newest / latest / datedate_added; alphabetical / alpha / a-zname; new / newadsnew_ads; trending / momentumgrowth.

Exploding Topics

Tool Default Allowed sorting Allowed timeframe
search_exploding_topics (dashboard preselects exponent) default, growth, gradient, exponent, absolute_volume, date_added default (all time), 3, 6, 12, 24 (months)

Aliases for sorting: volumeabsolute_volume; exponentialexponent; recent / newest / latestdate_added; trendinggrowth. category accepts dashboard slugs (e.g. mode, beauty, skincare, fitness, technology, ai, …) or default for all categories.


mcp_sorting response block

Every search/list tool that accepts sort_by (or sort/sorting) attaches an mcp_sorting object to the response payload:

{
  "mcp_sorting": {
    "requested_sort_by": "revenue_30d",
    "applied_sort_by": "revenue_30_days",
    "applied_sort_order": "desc",
    "allowed_sort_by": ["revenue", "name", "revenue_30_days", "..."],
    "normalized_from": "revenue_30d"
  }
}

If you pass an unknown sort key, mcp_sorting.warning says it fell back to the default — the tool does not error out.


Slice values for detail tools

Use one of these slice values:

  • get_tiktok_product: detail, history, metrics, creators, videos
  • get_tiktok_shop: detail, history, metrics, products, videos, creators, strategy
  • get_tiktok_creator: detail, history, metrics, shops, products, videos
  • get_tiktok_video: detail, history, metrics, products, similar

Two easy mistakes

  1. Trending confusion

    • get_tiktok_trending_products is TikTok Shop product momentum
    • Exploding Topics is separate (search_exploding_topics + get_exploding_topic_detail)
  2. Write actions

    • MCP is read-only
    • Favorites, presets, transcripts, and other writes must use REST API

Copy block for AI instructions

Paste this into agent instructions:

Use WinningHunter MCP at https://app.winninghunter.com/mcp.
Auth can be either OAuth bearer token (connector flow) or X-API-Key (header-capable clients).
All MCP tools are read-only.
Successful tools/call costs 1 API credit.
If user asks for writes (favorites/presets/transcripts), use REST /api/v1/tiktok-shop/* instead.
When unsure about exact schema, call tools/list first.

Need the full technical detail?

For full filter semantics and endpoint behavior: