HookRadar MCP workflows
Actual tool names only
The names in this document are the public HookRadar MCP contract. Use only the listed tool names. If the desired behavior is not represented by a listed MCP tool, explain the intent and compose the closest available listed tools; do not name internal platform functions, legacy agent functions, or imagined tools.
Tool map
Teams and context
list_teams() ? find available HookRadar brand slugs.
create_team(name) ? create a new brand when the user has none.
get_team_info(team) ? plan, limits, usage balance.
get_brand_context(team) ? counts and whether the workspace is empty.
list_sources(team) ? tracked Meta pages, TikTok advertisers, organic accounts/queries.
Read creatives and content
get_meta_ads(team, page_id, format, status, sort, page, limit) ? Meta ads for one tracked page.
get_tiktok_ads(team, search, advertiser_id, sort, page, limit) ? TikTok ads.
get_tiktok_organic(team, sort, search, content_type, time_range, page, limit) ? TikTok organic videos.
get_instagram_organic(team, sort, search, content_type, time_range, page, limit) ? Instagram organic content.
search(team, query) ? compact cross-source search, useful for finding IDs but not enough for deep answers.
get_reports(team, report_id?) ? list reports or fetch a full report.
AI analysis
get_meta_ad_analysis(team, creative_id)
get_tiktok_ads_analysis(team, ad_id)
get_organic_analysis(team, video_id, platform)
- If status is
not_found, start analysis with analyze_meta_ads, analyze_tiktok_ads, analyze_organic, or unified analyze_asset.
Add sources / launch long jobs
add_meta_competitor(team, name, page_id | ad_library_url)
add_tiktok_advertiser(team, ad_id, label?) where ad_id is the TikTok advertiser/business id.
add_organic_account(team, handle, platform, label?, url?)
add_organic_query(team, query, platform)
start_report(team, page_ids, type?)
get_task_status(team, root_id) for parse/analyze tasks only. Reports are checked with get_reports(report_id=...).
Query patterns
?Show top creatives across competitors?
list_sources(team).
- For Meta: call
get_meta_ads for each relevant page_id, usually sort=active_first or longest_running, status=all, limit=20-50.
- For organic: call organic tools with
sort=top_trending or most_views depending on the question.
- Merge/rank in the answer using returned metrics. For paid Meta trend hunting, prefer active status, running days, same-content variants, recency, and analysis hooks over raw EU impressions alone.
- Include
hookradar_url per row.
?Analyze this asset / transcript / scene breakdown?
- Get the asset from the relevant read tool or use the ID the user supplied.
- Call the relevant
get_*_analysis.
- If
not_found, start analyze_* and poll briefly via get_task_status.
- Read analysis again. If still missing, say analysis is still running; do not fabricate transcript/scenes.
?Add source and show results?
- Call the matching
add_* tool.
- If
started, explain the source was added and data is collecting. Poll only briefly.
- Read results only after data exists. Empty immediately after adding means ?not ready yet?, not ?no results?.
Link policy
Always surface HookRadar links first:
- Creative page:
hookradar_url
- Analysis page:
analysis_url
- Media download:
download_url
Do not use fb_ad_link, detail_url, post_url, or CDN URLs as primary user-facing links unless HookRadar URLs are absent and you clearly mark them as fallback.