khan-ashifur avatar

Hooklayer

khan-ashifur/hooklayer

Gives Claude seven read-only tools to analyze TikTok viral mechanics: score hooks 0-100 against proven patterns, extract creator voice DNA, remix videos into fresh scripts with scene breakdowns, and pull real-time trend data per niche. The flagship analyze_account tool returns a recommended_chain field with suggested follow-up calls the agent can review and execute. Every score includes a signals array with cited evidence and a would_fail_because counterfactual. Runs as a hosted HTTP MCP server at hooklayer.dev with OAuth 2.1 or API key auth. Works in Claude Desktop via the mcp-remote bridge, natively in Cursor and n8n. Free tier gives you 100 credits lifetime. Reach for this when you're building content strategy agents or need programmatic access to viral video intelligence without manual scraping.

tools
18
auth
Secret needed
transport
HTTP
last updated
May 15, 2026

Install

From registry metadata
$ npx add-mcp https://hooklayer.dev/api/mcp --name hooklayer --header 'Authorization: Bearer ${API_TOKEN}'

Run in your terminal. add-mcp asks which agents to add it to, then asks for each value it needs. Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http hooklayer https://hooklayer.dev/api/mcp --header 'Authorization: YOUR_AUTHORIZATION'

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 18 tools

Verified live against the running server on Nov 6, 2026.

analyze_accountAnalyze a TikTok, YouTube, or Instagram creator by handle or channel ID. Returns viral DNA scores (viral_dna_score, replicability_score, originality_score, consistency_score, audience_fatigue), content patterns, format fingerprint, top recent videos with transcripts, content g...5 params

Analyze a TikTok, YouTube, or Instagram creator by handle or channel ID. Returns viral DNA scores (viral_dna_score, replicability_score, originality_score, consistency_score, audience_fatigue), content patterns, format fingerprint, top recent videos with transcripts, content g...

Parameters* required
handle*string
Creator handle (with or without @ prefix) or YouTube channel ID. Examples: "@mrbeast", "mrbeast", "UCX6OQ3DkcsbYNE6H8uQQuVA".
platformstring
Platform to analyze. "tiktok" (default) returns full pipeline with transcripts. "youtube" analyzes recent Shorts via YouTube Data API + Innertube caption extraction — videos with captions disabled...one of tiktok · youtube · instagram
recent_onlyboolean
When true, hard-cap the candidate pool to videos posted in the last 90 days. Stricter than `window=90d` because it never falls through to archival data on a thin recent corpus.
sincestring
Optional ISO date (e.g. "2026-04-01"). Filter the candidate video pool to those posted on/after this date. Useful when the user asks "show me what they've done THIS month" — the route returns hones...
windowstring
Recency sugar — same effect as `since` but takes a friendlier bucket. Maps to a since-cutoff at request time. Use either `since` or `window`, not both.one of 24h · 7d · 30d · 90d · 6m · 12m
watch_accountStart tracking a creator so future calls can detect what changed. Creates a durable CreatorWatch + a baseline CreatorSnapshot capturing the creator's current viral DNA scores, format fingerprint, and top recent videos. Use when the user says 'track', 'watch', 'follow', 'keep a...2 params

Start tracking a creator so future calls can detect what changed. Creates a durable CreatorWatch + a baseline CreatorSnapshot capturing the creator's current viral DNA scores, format fingerprint, and top recent videos. Use when the user says 'track', 'watch', 'follow', 'keep a...

Parameters* required
handle*string
Creator handle (with or without @ prefix). Examples: "@mrbeast", "mrbeast".
platform*string
Platform the creator publishes on. Same platforms as analyze_account.one of tiktok · instagram · youtube
get_changesDetect what changed since the last saved baseline for a tracked creator. Runs a fresh analyze_account under the hood, compares against the most recent CreatorSnapshot, persists the new snapshot, and returns ONLY the meaningful shifts (format, viral DNA, engagement, hook patter...3 params

Detect what changed since the last saved baseline for a tracked creator. Runs a fresh analyze_account under the hood, compares against the most recent CreatorSnapshot, persists the new snapshot, and returns ONLY the meaningful shifts (format, viral DNA, engagement, hook patter...

Parameters* required
handlestring
Creator handle (with or without @). Required if watch_id is not provided.
platformstring
Platform the tracked creator publishes on. Required if watch_id is not provided.one of tiktok · instagram · youtube
watch_idstring
Watch identifier returned by watch_account or list_watches. Preferred over (platform, handle) when you have it — the ownership check is exact.
list_watchesList every creator the authenticated user is tracking. Read-only, 0 credits. Returns each watch's id, platform, handle, when it was created + last updated, when the last snapshot was taken, and whether it's active. Does NOT return the snapshot payload itself — call watch_accou...

List every creator the authenticated user is tracking. Read-only, 0 credits. Returns each watch's id, platform, handle, when it was created + last updated, when the last snapshot was taken, and whether it's active. Does NOT return the snapshot payload itself — call watch_accou...

No parameters. Call it with no arguments.

score_hookScore a TikTok, Reels, or Shorts hook against proven viral patterns. Returns a 0-100 score, percentile rank, matched pattern, strengths, weaknesses, and three improved hook variations. Use when the user has a draft hook to validate, wants to compare alternatives, or needs feed...3 params

Score a TikTok, Reels, or Shorts hook against proven viral patterns. Returns a 0-100 score, percentile rank, matched pattern, strengths, weaknesses, and three improved hook variations. Use when the user has a draft hook to validate, wants to compare alternatives, or needs feed...

Parameters* required
nichestring
Optional niche context (e.g. "Beauty & Skincare", "Finance & Business")
platform*string
Target platform — affects pattern matchingone of tiktok · reels · shorts
text*string
The hook to score (3-200 chars typical)
viral_remixTake a viral video and produce a fresh script that mirrors its structure and energy pattern for a new topic. Returns the extracted formula, scene-by-scene script with voiceover and visuals, camera directions, and text overlays. Use when the user finds a video they want to repl...8 params

Take a viral video and produce a fresh script that mirrors its structure and energy pattern for a new topic. Returns the extracted formula, scene-by-scene script with voiceover and visuals, camera directions, and text overlays. Use when the user finds a video they want to repl...

Parameters* required
my_topicstring
DEPRECATED alias for target_topic. Legacy clients only. Normalized internally.
nichestring
Optional niche hint
platformstring
Target platform for the remix. Adjusts pacing and CTA style if provided.one of tiktok · reels · shorts
source_urlstring
TikTok/YouTube/Instagram URL — transcript will be auto-extracted
target_productstring
The product the remix should promote. When provided, the generator will NOT invent product names, prices, timelines, features, or customer stories. Combined with verified_product_facts, this forces...
target_topicstring
What the remix should be about. Default: same niche as original.
transcriptstring
Pre-extracted transcript (alternative to source_url, faster)
verified_product_factsarray
Facts the generator is allowed to cite about target_product (e.g. "runs inside ChatGPT and Claude", "14 tools for viral research"). Every specific product claim in the generated script is checked a...
trend_pulseResearch what is currently gaining traction in short-form content for a specific niche. Returns rising opportunities (formats, hooks, styles, topics) with growth signals, data sources, and saturated patterns to avoid. Use when the user asks what to post about, what's trending...3 params

Research what is currently gaining traction in short-form content for a specific niche. Returns rising opportunities (formats, hooks, styles, topics) with growth signals, data sources, and saturated patterns to avoid. Use when the user asks what to post about, what's trending...

Parameters* required
deadline_hoursinteger
Optional (2026-07-06 magic-genie ritual): how many hours until the video posts. When set, each rising trend gets a trend_status (up-slope | plateau | fading | unknown) AND a deadline_verdict (safe...
nichestring
One of the 18 supported niches (Beauty & Skincare, Fitness & Health, Food & Cooking, Fashion & Style, Tech & Gadgets, Finance & Business, Education & Learning, Travel & Adventure, Comedy & Entertai...one of Beauty & Skincare · Fitness & Health · Food & Cooking · Fashion & Style · Tech & Gadgets · Finance & Business
regionstring
Optional 2-letter ISO country code (US, GB, BR, JP, IN, PH, etc.). Threads to Google Trends geo + YouTube regionCode. Defaults to US when omitted. Reddit signals are global and ignore this param.
find_viral_templateFind proven viral templates in a niche with example videos. Returns templates ranked by performance, including hook patterns, format structures, average views, and example URLs. Use when the user asks what's working in a niche or wants concrete copyable structures. Supports th...6 params

Find proven viral templates in a niche with example videos. Returns templates ranked by performance, including hook patterns, format structures, average views, and example URLs. Use when the user asks what's working in a niche or wants concrete copyable structures. Supports th...

Parameters* required
min_viewsinteger
Optional filter — only return examples above this view count
niche*string
One of the 18 supported niches (Beauty & Skincare, Fitness & Health, Food & Cooking, Fashion & Style, Tech & Gadgets, Finance & Business, Education & Learning, Travel & Adventure, Comedy & Entertai...one of Beauty & Skincare · Fitness & Health · Food & Cooking · Fashion & Style · Tech & Gadgets · Finance & Business
platformstring
Platform to source templates from. "tiktok" (default) uses the full niche-aggregator (YouTube + Reddit + TikTok hashtags). "instagram" (2026-07-06) is keyword-search-only — the Instagram niche-aggr...one of tiktok · instagram
querystring
Optional angle narrowing within the niche. E.g. niche="Fitness & Health" + query="postpartum strength" returns only postpartum-strength templates, not generic gym. Templates are scored by query-tok...
regionstring
Optional 2-letter ISO country code (US, GB, BR, JP, IN, PH, etc.). Threads to YouTube Search regionCode + TikTok niche query. Reddit niche signals are global and ignore this param. Pass when the us...
windowstring
Recency filter. Drops example videos older than the window. Note: TikTok hashtag-corpus rows often lack timestamps and are excluded when window is set — surfaces as a quality warning so callers can...one of 24h · 7d · 30d · 90d · this-month
search_videosSearch for short-form videos by keyword across TikTok or Instagram. Returns up to 20 videos ranked by engagement, with view counts, likes, shares, comments, hashtags, author info, and URLs. Use when the user asks to find videos about a topic or keyword. Supports optional filte...8 params

Search for short-form videos by keyword across TikTok or Instagram. Returns up to 20 videos ranked by engagement, with view counts, likes, shares, comments, hashtags, author info, and URLs. Use when the user asks to find videos about a topic or keyword. Supports optional filte...

Parameters* required
limitinteger
Max videos to return after filtering. Default 12, max 20.
min_viewsinteger
Optional view-count floor. Default 0.
nichestring
Optional — only return videos whose description contains niche-related tokens. Loose niche strings work ("fitness", "Beauty & Skincare").
platformstring
Which platform to search. "tiktok" (default) hits ScrapeCreators TikTok keyword search. "instagram" (2026-07-06) hits Instagram Reels search — note IG upstream ignores region/date_posted params, so...one of tiktok · instagram
product_idstring
Optional TikTok Shop product id. Videos that link this exact product are labelled exact_product_link and listed first; all others stay keyword_match (not verified for this product).
query*string
Free-text search term. Examples: "morning routine", "iphone case", "passive income".
regionstring
ISO country code (US, GB, BR, PH, JP, etc.). Note: corpus coverage varies by region — small regions may return zero results and a degraded quality flag.
windowstring
Recency filter. Maps to the closest ScrapeCreators date bucket AND applies a client-side cutoff for defense-in-depth.one of 24h · 7d · 30d · this-month
match_voiceExtract a creator's voice DNA from reference samples and rewrite a draft in their style. Requires at least 3 reference samples (video URLs or text). Returns voice profile (energy, humor, vocabulary, signature phrases), reusable prompt instructions, and the rewritten draft. Use...2 params

Extract a creator's voice DNA from reference samples and rewrite a draft in their style. Requires at least 3 reference samples (video URLs or text). Returns voice profile (energy, humor, vocabulary, signature phrases), reusable prompt instructions, and the rewritten draft. Use...

Parameters* required
draft*string
The text to rewrite
reference_samples*array
At least 3 reference samples — TikTok/YouTube/Instagram URLs or raw text
predict_viralityScore a draft script for viral potential with adversarial verification. Returns a virality score, recommendation (ship/rework/no-go), viral DNA breakdown with evidence, attack vectors analysis, and calibration metrics. Use when the user has a finished draft and wants pre-publi...2 params

Score a draft script for viral potential with adversarial verification. Returns a virality score, recommendation (ship/rework/no-go), viral DNA breakdown with evidence, attack vectors analysis, and calibration metrics. Use when the user has a finished draft and wants pre-publi...

Parameters* required
nichestring
Niche context
script*string
The draft script to predict on (or a video URL — auto-extracts transcript)
brief_to_blueprintTurn a brand brief that just landed into a one-page creative blueprint the manager can forward to the creator and to the brand contact — hook + template + hashtag combo + trend-velocity check + shoot instructions, in one call. Use when a brand sends a product and needs content...7 params

Turn a brand brief that just landed into a one-page creative blueprint the manager can forward to the creator and to the brand contact — hook + template + hashtag combo + trend-velocity check + shoot instructions, in one call. Use when a brand sends a product and needs content...

Parameters* required
creator_handlestring
Optional creator handle (with or without @). If provided, the blueprint hook and script match THEIR voice patterns from recent videos. Highly recommended — a blueprint without creator context is ge...
deadline_hoursinteger
How many hours until the video must be posted. Default 48. Affects trend-still-alive scoring — a 24-hour deadline needs a trend on the up-slope, not one that just plateaued.
niche*string
One of the 18 supported niches (Beauty & Skincare, Fitness & Health, Food & Cooking, Fashion & Style, Tech & Gadgets, Finance & Business, Education & Learning, Travel & Adventure, Comedy & Entertai...one of Beauty & Skincare · Fitness & Health · Food & Cooking · Fashion & Style · Tech & Gadgets · Finance & Business
platformstring
Target platform. Both TikTok and Instagram Reels supported (shipped 2026-07-06). When set to "instagram", the product-corpus lookup runs against Instagram Reels via ScrapeCreators, and the creator...one of tiktok · instagram
product*string
What the brand sent (name + one line, e.g. "Athletic Greens AG1 travel packs — 30-count individual sachets for travel")
product_category*string
Umbrella category (e.g. "greens powder", "sunscreen", "protein bar")
regionstring
Optional 2-letter ISO country code (US, GB, CA, etc.). Threads to niche + trend upstreams.
product_scoutFind and rank current TikTok Shop / social-commerce product opportunities using evidence rather than opinion. Use it to answer questions like 'what skincare products are breaking out in the US under $40', 'show me products with strong reviews but low competition', or 'what is...21 params

Find and rank current TikTok Shop / social-commerce product opportunities using evidence rather than opinion. Use it to answer questions like 'what skincare products are breaking out in the US under $40', 'show me products with strong reviews but low competition', or 'what is...

Parameters* required
categorystring
Strict category-breadcrumb filter applied to returned rows (case-insensitive substring). Rows whose category is unknown are dropped when this is set. Distinct from niche, which is a search hint rat...
limitinteger
Max products to return. Default 20, hard cap 20. This is a ceiling, not a target — fewer rows means the provider had fewer matching products, never that results were withheld.
marketstring
2-letter ISO region code (US, GB, BR, ...) or 'GLOBAL'. Defaults to US. Only regions ScrapeCreators covers for TikTok Shop return usable data.
max_competitionnumber
Maximum competition tolerated, 0-100, expressed intuitively (lower = less competition accepted).
max_discountnumber
Maximum discount percentage 0-100. Strict: unknown is dropped.
max_ratingnumber
Maximum average rating 0-5. Pair with min_rating to isolate a mid-tier band rather than only top-rated listings. Strict: unknown rating is dropped.
max_reviewsinteger
Maximum provider-reported review count - the usual way to find products before they are saturated with social proof. Strict: rows whose review count could not be retrieved are dropped rather than a...
max_saturationnumber
Maximum saturation component 0-100. Saturation needs video-to-product linkage that the current pipeline does not extract, so this is accepted for forward compatibility and reported as unsupported r...
max_soldinteger
Maximum provider-reported cumulative sold count. Strict: unknown is dropped.
min_creator_adoptionnumber
Minimum creator-adoption component 0-100 (distinct creators per day with confirmed showcase links). Needs stored history; cold-start products report insufficient_data for this component.
min_discountnumber
Minimum discount percentage 0-100 off the listed original price. Strict: unknown is dropped.
min_momentumnumber
Minimum momentum component 0-100. Momentum needs stored history; when the history layer has not seen these products yet the request is refused up front with executed:false rather than charged and r...
min_ratingnumber
Minimum average rating 0-5. Strict: rows with unknown rating are dropped.
min_reviewsinteger
Minimum provider-reported review count. Review counts are fetched per candidate, so this filter reflects real provider data. Strict: rows whose review count could not be retrieved are dropped rathe...
min_soldinteger
Minimum provider-reported cumulative sold count. This is a lifetime total, not a sales rate. Strict: unknown is dropped.
nichestring
Niche or category to search (e.g. 'Beauty & Skincare', 'Fitness & Wellness'). At least one of niche or query is required.
opportunity_stagestring
Comma-separated stages to keep: emerging, promising, crowded, mature, cooling, insufficient_data. Use 'emerging,promising' for the usual 'find breakout products' request. An empty result reports ve...
price_maxnumber
Maximum price in the market currency.
price_minnumber
Minimum price in the market currency.
querystring
Free-text product keywords (e.g. 'wireless earbuds'). Widens the search corpus. May be combined with niche.

+1 more parameters. See the server's own documentation for the full schema.

analyze_productDeeply validate ONE TikTok Shop product before committing money or content to it. Give it a product_id from product_scout (or any TikTok Shop product URL) and it reads the listing, samples reviews across the full depth rather than only the most recent page, pulls comparable co...4 params

Deeply validate ONE TikTok Shop product before committing money or content to it. Give it a product_id from product_scout (or any TikTok Shop product URL) and it reads the listing, samples reviews across the full depth rather than only the most recent page, pulls comparable co...

Parameters* required
include_competitorsboolean
Default true. Competitor discovery and the cross-product buyer-pain map are the differentiated part of this report; set false only when the caller explicitly wants the single-product read and fewer...
marketstring
2-letter ISO region code or 'GLOBAL'. Defaults to US. Should match the market the product was found in.
product_idstring
TikTok Shop numeric product id, as returned by product_scout in opportunities[].product_id. Supply this or product_url.
product_urlstring
Any TikTok Shop product URL (tiktok.com/shop/pdp/..., shop.tiktok.com/.../pdp/..., /view/product/...). Used when the user pastes a link instead of an id.
save_researchSave a HookLayer result the user already received in this conversation so it appears under Saved Research in their HookMafia dashboard. 0 credits: this stores the result you already hold, it never re-runs the research tool. After a research result, offer once in one line to sa...9 params

Save a HookLayer result the user already received in this conversation so it appears under Saved Research in their HookMafia dashboard. 0 credits: this stores the result you already hold, it never re-runs the research tool. After a research result, offer once in one line to sa...

Parameters* required
input_summaryobject
What was asked: handle, platform, topic, product URL. Up to 4 KB. Never include credentials.
kind*string
creator_analysis (analyze_account), hook_score (score_hook), virality_prediction (predict_virality), product_scout (product_scout), product_analysis (analyze_product), script (viral_remix, match_vo...one of creator_analysis · hook_score · virality_prediction · product_scout · product_analysis · script
product_idstring
Canonical product id for product_analysis / product_scout results
product_urlstring
http(s) product page URL
request_idstring
Idempotency key. Reuse the same value when retrying the same save; a different result under the same key is refused.
result*object
The structured result of the earlier tool call, exactly as received. Up to 64 KB after server-side allowlisting.
source_timestampstring
ISO 8601 time the research ran (the result's as_of / fetched_at when present)
title*string
Short plain-text title, e.g. "@handle TikTok analysis" or the product name
tool_name*string
The HookLayer tool that produced the result, e.g. analyze_product
list_saved_researchList the authenticated user's saved HookLayer research (newest first by default). Read-only, 0 credits. Filter by kind, search titles, choose sort newest|oldest|title, include archived, and page with the returned cursor. Returns summaries (id, kind, title, timestamps, dashboar...6 params

List the authenticated user's saved HookLayer research (newest first by default). Read-only, 0 credits. Filter by kind, search titles, choose sort newest|oldest|title, include archived, and page with the returned cursor. Returns summaries (id, kind, title, timestamps, dashboar...

Parameters* required
archivedstring
Default activeone of active · archived · all
cursorstring
next_cursor from the previous page
kindstring
one of creator_analysis · hook_score · virality_prediction · product_scout · product_analysis · script
limitnumber
querystring
Case-insensitive title search
sortstring
one of newest · oldest · title
get_saved_researchRetrieve one saved result in full (the stored research payload, what was asked, timestamps) by its saved_id. Read-only, 0 credits. Only the authenticated user's own results resolve; any other id is not found. Use when the user wants to reuse, re-read or build on something they...1 params

Retrieve one saved result in full (the stored research payload, what was asked, timestamps) by its saved_id. Read-only, 0 credits. Only the authenticated user's own results resolve; any other id is not found. Use when the user wants to reuse, re-read or build on something they...

Parameters* required
saved_id*string
compare_saved_productsCompare 2 to 4 saved analyze_product results side by side using only the stored evidence (identity, market proof, economics, competition, creator content, verdict). Read-only, 0 credits, no new analysis. Fields the source never reported are returned as not present, never estim...1 params

Compare 2 to 4 saved analyze_product results side by side using only the stored evidence (identity, market proof, economics, competition, creator content, verdict). Read-only, 0 credits, no new analysis. Fields the source never reported are returned as not present, never estim...

Parameters* required
saved_ids*array
saved_id values of product_analysis results

Sponsors

Readme

Details

Repository
github.com/khan-ashifur/hooklayer
Website
hooklayer.dev
Transport
HTTP
Auth
Required
Registry
MCP registry, active
Resources
1
Tools verified
Nov 6, 2026