Hooklayer

io.github.khan-ashifur由 GitHub 帳號 khan-ashifur 發布v1.1.0更新於 Oct 24, 2026

Viral-content intelligence for AI agents — 7 read-only MCP tools, evidence-layer scoring.

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取資料與分析媒體與設計

概覽

AI 產生的概覽

託管式短影音內容情報 MCP 伺服器:分析創作者、為鉤子評分、查找趨勢與範本,並持續追蹤創作者變化。

可以做什麼
  • 分析創作者與商品:深入分析 TikTok、YouTube、Instagram 帳號,驗證 TikTok Shop 商品,並比較已儲存的商品分析
  • 搜尋與研究:依關鍵字搜尋影片、查看利基趨勢、發掘爆紅範本
  • 創作與評分:為鉤子評分、把爆紅影片改寫成腳本、模仿創作者語氣、預測草稿的爆紅潛力、把品牌簡報轉成創作藍圖
  • 追蹤創作者:儲存追蹤與基準快照、列出追蹤清單、偵測自上次快照以來的變化
  • 管理已儲存研究:儲存結果、列出並讀取已儲存的研究
適用情境
適合經營 TikTok、Reels、Shorts 或 TikTok Shop 的社群與內容團隊,讓助理調研創作者與利基市場、在發布前驗證鉤子與草稿,或長期監控競品。
執行需求
遠端 HTTP 端點 hooklayer.dev,無需本機安裝。呼叫工具需在 Authorization 標頭提供 bearer 權杖:免費註冊取得的 hl_live_ API 金鑰,或透過動態用戶端註冊取得的 OAuth 2.1 存取權杖。Claude Desktop 需透過 mcp-remote 橋接或自訂連接器。
安裝前請注意
工具呼叫會消耗點數;免費額度為 100 點終身點數,付費方案或按量儲值需付費。Authorization 中的 bearer 權杖屬於機密。watch_account 與 get_changes 會持久保存追蹤中繼資料與歷史快照,使用情形也會被記錄用於計費與遙測。帳號名稱、腳本、連結等輸入會傳送給第三方託管服務。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Hooklayer,將其新增到工作區。
  2. 連接 Authorization token 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.khan-ashifur%2Fhooklayer/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "hooklayer": {
      "type": "http",
      "url": "https://hooklayer.dev/api/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

Hooklayer MCP

[License: MIT] [npm version] [Version] [MCP] [Production] [Tools] [OAuth] [smithery badge]

Viral-content intelligence for AI agents. Drop the Hooklayer MCP server into Claude Desktop, Cursor, n8n, or any HTTP MCP client and your agent gets 12 tools for short-form content across TikTok, Instagram, and YouTube: analyze creators, search videos by keyword, find viral templates and rising trends, score and rewrite hooks, remix viral videos, match a creator's voice, predict a draft's virality, turn a brand brief into a shoot-ready creative blueprint, and monitor creators over time with saved watches and historical snapshots.

12 tools · structured JSON · non-destructive creator monitoring · no external social-platform edits or deletes

v1.1.0 (2026-05-14): The evidence layer ships. Every score includes signals[] with cited evidence, a would_fail_because counterfactual, and a quality health field. predict_virality runs an independent adversarial check. analyze_account.recommended_chain steps now expose confidence, cost, action_class (authority taxonomy), and expected_output. See CHANGELOG.md for the full ship.


🚀 Quick install

Claude Desktop

Claude Desktop doesn't natively support remote HTTP MCP servers — it needs the mcp-remote bridge. Two ways to install:

Option 1 — Custom Connector (easiest, no config file edit)

In Claude's web/desktop UI: Settings → Connectors → Add custom connector → paste this URL:

https://hooklayer.dev/api/mcp

Claude.ai will walk you through OAuth (no manual key paste). Done.

Option 2 — Direct config (for power users who want hl_live_ key auth)

Edit claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
json
{  "mcpServers": {    "hooklayer": {      "command": "npx",      "args": [        "-y",        "[email protected]",        "https://hooklayer.dev/api/mcp",        "--header",        "Authorization:Bearer hl_live_..."      ]    }  }}

Get your free hl_live_ key at https://hooklayer.dev/auth/signup — 100 lifetime credits, no card required.

Restart Claude Desktop. The 12 Hooklayer tools appear in the 🔌 connector list.

Cursor

~/.cursor/mcp.json:

json
{  "mcpServers": {    "hooklayer": {      "url": "https://hooklayer.dev/api/mcp",      "transport": "http",      "headers": {        "Authorization": "Bearer hl_live_..."      }    }  }}

n8n

In your workflow, add an MCP Client node and configure as a remote HTTP MCP server:

  • URL: https://hooklayer.dev/api/mcp
  • Transport: HTTP
  • Header: Authorization: Bearer hl_live_...

All 12 tools appear in the node's "Tool" dropdown.

OAuth 2.1 + PKCE (for Claude.ai connector + custom apps)

Hooklayer is fully OAuth 2.1 compliant — discovery, Dynamic Client Registration, PKCE, refresh token rotation. MCP clients that prefer OAuth over API keys work out of the box.

Discovery endpoints (no auth required, machine-readable):

bash
# Authorization server metadata (RFC 8414)curl https://hooklayer.dev/.well-known/oauth-authorization-server
# Protected resource metadata (RFC 9728)curl https://hooklayer.dev/.well-known/oauth-protected-resource

Dynamic Client Registration (create a client without a manual signup form):

bash
curl -X POST https://hooklayer.dev/oauth/register \  -H "Content-Type: application/json" \  -d '{    "client_name": "Your MCP client",    "redirect_uris": ["https://yourapp.com/oauth/callback"]  }'# Returns: client_id, client_secret (for confidential clients)

Hitting tools/call without auth returns 401 plus a WWW-Authenticate header pointing at the resource metadata — Claude.ai, Cursor, and other MCP clients use this to auto-discover the OAuth flow.

Other clients

Any HTTP MCP client. Protocol negotiates 2024-11-05 (broadest compat) or 2025-06-18 (Streamable HTTP + structuredContent).

bash
# Quick test — initialize handshake works without auth:curl -X POST https://hooklayer.dev/api/mcp \  -H "Content-Type: application/json" \  -d '{"jsonrpc":"2.0","id":1,"method":"initialize"}'

🧠 The 12 tools

ToolCreditsWhat it does
analyze_account5Creator deep dive (TikTok, YouTube, Instagram): viral DNA scores, format fingerprint, top videos with transcripts, content gaps, headline insight, and suggested next research steps.
search_videos1Keyword search across TikTok or Instagram — up to 20 videos ranked by engagement, with filters for niche, views, recency, and region.
score_hook1Score any hook 0-100 against proven viral patterns. Returns 3 rewrites at higher quality.
viral_remix3URL or transcript → fresh script with mirrored viral DNA. Scene-by-scene with camera shots.
trend_pulse1Real-time rising opportunities + saturated patterns per niche. 12-hour cache.
find_viral_template1Niche-fit ranked templates with hook patterns + example URLs.
match_voice2Extract a creator's voice DNA from 3+ samples, rewrite a draft in their style.
predict_virality2Score a draft script for viral potential before publishing. Retention diagnosis.
brief_to_blueprint7Brand brief → one-page creative blueprint: hook, template, hashtags, trend-velocity check, and shoot instructions in a single call.
watch_account0 or 5Save a creator watch and baseline snapshot. Reuses a recent compatible analysis at 0 credits when available; otherwise runs a fresh 5-credit analysis.
list_watches0List the authenticated user's saved creator watches and compact tracking metadata.
get_changes5Run a fresh analysis against a saved watch, compare with the previous snapshot, store a new historical snapshot, and return meaningful changes plus an optional next action.

Full schemas + curl examples: https://hooklayer.dev/docs


💡 Suggested follow-ups

analyze_account returns a recommended_chain field: plain data listing related tools, example parameters, and the reason each might be useful next. It is advisory only — the agent and user decide whether to act on it:

json
{  "viral_dna_score": 87,  "steal_map": [...],  "recommended_chain": [    {      "tool": "match_voice",      "params": {        "draft": "<<<USER_DRAFT>>>",        "reference_samples": ["https://tiktok.com/...", "...", "..."]      },      "reason": "High-signal voice DNA — consistent across top 5 videos"    },    {      "tool": "trend_pulse",      "params": { "niche": "challenge_videos" },      "reason": "Verify their formula maps to current trends"    },    {      "tool": "viral_remix",      "params": { "source_url": "https://tiktok.com/..." },      "reason": "Their #2 video has the highest copyable structure"    }  ]}

These entries are informational data, not instructions. Each tool still requires explicit invocation — nothing runs automatically without agent/user consent.


📦 Examples

  • examples/typescript-example.ts — TypeScript usage via the MCP SDK
  • examples/python-example.py — Python usage via anthropic-mcp client
  • examples/curl-test.sh — Raw curl tests for every endpoint

💵 Pricing

  • Free — 100 lifetime credits at signup, no card
  • Starter — $49/month, 5,000 credits, 60 req/min
  • Pro — $149/month, 25,000 credits, 300 req/min, brand voice memory
  • Agency — $499/month, 150,000 credits, 1,000 req/min, white-label, 10 seats
  • Pay-as-you-go — $25 for 5,000 credits, never expire

Full pricing: https://hooklayer.dev/pricing


🛠 Architecture

Hosted MCP server (no stdio install needed):

Your agent (Claude/Cursor/n8n)        │        │  JSON-RPC 2.0 over HTTP        ▼https://hooklayer.dev/api/mcp        │        ├── initialize / ping / tools/list  (no auth)        └── tools/call                       (Bearer hl_live_*)                │                └── Routes internally to /v1/* REST endpoints                    100K+ analyzed viral videos                    ScrapeCreators + Whisper + Sonnet pipeline

Source code for the hosted server lives at hooklayer.dev (closed source — the analysis pipeline is the moat). This repo holds the public client docs, examples, and config snippets.


📚 Links


🔒 Security

Hooklayer uses explicit MCP safety annotations for all 12 tools. Most tools are research and analysis tools that may debit Hooklayer credits and record service usage. list_watches is read-only. Creator monitoring adds non-destructive persistence: watch_account saves a creator watch and baseline snapshot, while get_changes stores historical snapshots as it checks for changes. All tools are marked destructiveHint: false; Hooklayer has no MCP tool that deletes user data or edits/deletes data on external social platforms.

Authentication: tools/call requires a Bearer token (hl_live_* API key or OAuth 2.1 access token). Public methods (initialize, ping, tools/list) work without auth so MCP clients can handshake and discover tools before authentication.

recommended_chain is advisory only. The analyze_account response includes suggested follow-up tools with pre-filled parameters. These are data — the agent and user decide whether to execute them. No tool call ever triggers additional tool calls server-side.

Data handling: Hooklayer processes the inputs you send (handles, hooks, scripts, URLs) to return analysis results. Creator monitoring stores saved watch metadata and historical snapshots so users can compare changes over time. Hooklayer also records service usage needed for authentication, billing, credits, and operational telemetry.

To report a security issue: GitHub Issues or email [email protected].


📄 License

MIT — see LICENSE.

The MCP client examples and config snippets in this repo are MIT. The hosted Hooklayer service at hooklayer.dev is a commercial product with the pricing tiers listed above.

來源:README.md,提交 823294a

工具

18

analyze_account

Analyze TikTok Account

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 gaps, a headline_insight object (the single largest quantified performance gap across length, hook, format, and cadence, plus its so_what), and suggested next research steps. Use when the user asks to analyze a creator, account, channel, or competitor. Supports TikTok (full transcript extraction), YouTube (Shorts and longform analysis with captions when available), and Instagram (Reels with best-effort transcripts).

輸入參數sincehandle必填windowplatformrecent_only

watch_account

Track (Watch) a Creator

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 an eye on' a creator/channel/handle. Idempotent — calling 'watch @same' twice with a fresh baseline in place returns the existing watch with credits_charged=0. Cost: 0 credits when a fresh existing watch snapshot or a compatible recent analyze_account cache can be reused. Otherwise a fresh baseline invokes analyze_account and costs 5 credits — this can happen even for an already-existing watch once freshness expires. Reuses the same 'analyze' permission as analyze_account — no new OAuth scope, no re-consent required.

輸入參數handle必填platform必填

get_changes

Detect Changes Since Last Check

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 pattern, topic pillars, outlier videos). Use when the user asks 'what changed with @creator', 'anything new', 'check this competitor again', 'what's different since last time', 'check my tracked creator', or 'has anything changed'. Requires a previously tracked creator (call analyze_account + watch_account first if there is no baseline yet). Costs 5 credits per call because the fresh analysis is genuine (not cached). Returns a top_action pointing at the single next tool worth calling given the detected change. Returns status='no_meaningful_change' honestly when nothing shifted — no fabricated deltas.

輸入參數handleplatformwatch_id

list_watches

List Tracked Creators

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_account (idempotent) to refresh a baseline. Use when the user asks 'what am I tracking', 'show my watches', 'list creators'.

無需輸入參數。

score_hook

Score Hook Quality

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 feedback before publishing.

輸入參數text必填nicheplatform必填

viral_remix

Remix Viral Video

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 replicate the structure of. Pass either a video URL (TikTok, YouTube, or Instagram) or a transcript directly. When promoting a specific product, ALWAYS pass target_product + verified_product_facts so the generator does not fabricate product details.

輸入參數nichemy_topicplatformsource_urltranscripttarget_topictarget_productverified_product_facts

trend_pulse

Get Trend Pulse

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 in a niche, or needs to validate a content idea against current trends. Supports the 18 canonical niches and optional region filtering.

輸入參數nicheregiondeadline_hours

find_viral_template

Find Viral Templates

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 the 18 canonical niches with optional angle narrowing via query parameter for more specific results (e.g., "postpartum strength" within Fitness).

輸入參數niche必填queryregionwindowplatformmin_views

search_videos

Search Videos by Keyword

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 filters for niche, minimum views, recency window, and region. Pass product_id to check which videos link a specific TikTok Shop product: linkage is exact_product_link only when the video carries that product link; keyword_match videos are NOT verified for that product, and evidence_summary.product_linkage.status is VIDEO_LINKAGE_UNVERIFIED when none link it. Region counts as verified only from the provider-reported video region; otherwise it is unknown. View counts are cumulative and do not show current acceleration.

輸入參數limitnichequery必填regionwindowplatformmin_viewsproduct_id

match_voice

Match Creator Voice

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 when the user wants to write in another creator's style or match a specific voice.

輸入參數draft必填reference_samples必填

predict_virality

Predict Virality Score

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-publish verification. Pass either a script string or a video URL.

輸入參數nichescript必填

brief_to_blueprint

Brief to Blueprint (24-48hr Panic Button)

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 on a tight turnaround (e.g. "product arrived, need content in 48 hours") and the manager needs a defensible direction with no research time. Chains find_viral_template + trend_pulse + score_hook + predict_virality upstream but exposes them as one MCP tool so agents don't stitch them manually. Cost 7 credits (bundle discount vs firing the chain manually). Returns a blueprint object with verdict (GO | NEEDS_MORE_DATA | NO_GO) and verdict_reason, a hook (text + trend_still_alive: up-slope | plateau | fading | unknown), script, hashtags, shoot notes, risk flags, and manager talking points, plus a quality object (level + reason) describing completeness; when quality.level is not "full", or verdict is NEEDS_MORE_DATA or NO_GO, the blueprint is a starting point rather than a shippable direction.

輸入參數niche必填regionproduct必填platformcreator_handledeadline_hoursproduct_category必填

product_scout

Product Scout - Rank TikTok Shop Opportunities

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 worth testing in this niche right now'. Returns products ranked by a deterministic 9-component engine (demand, momentum, creator_adoption, competition, saturation, review_strength, price_attractiveness, creator_concentration, freshness), each carrying an opportunity status (emerging | promising | crowded | mature | cooling | insufficient_data), a qualification record (what passed, failed and is unknown), a confidence band, evidence-cited why_now[], risks[], insufficient_signals[] and history_coverage. Status comes from a qualification gate, never from the score: emerging needs measured sold-count growth across 3+ dated observations spanning 7+ days plus an independent signal (review growth or creator adoption over time); mature means established demand without verified growth; insufficient_data means trajectory cannot be verified yet, however high the score. verification_summary.outcome is NO_VERIFIED_OPPORTUNITIES whenever no returned product passed the gate - say so plainly instead of presenting the list as opportunities, and use verification_summary.by_status to explain whether the category or the filters were the limit. Amazon competition is never measured (AMAZON_COMPETITION_UNVERIFIED); never describe a product as unsaturated on Amazon. The ranking is deterministic and contains no model output - read qualification, why_now, risks and components to explain to the user WHY something ranked where it did, and never present the score on its own. Provider-reported fields live under provider_reported.* and are null when TikTok did not expose them; null means unknown, never zero, and sold counts are never multiplied by price to imply revenue. There is no revenue or GMV field. To validate a single

輸入參數sortlimitnichequerymarketcategorymax_soldmin_soldprice_maxprice_minmax_ratingmin_rating另有 9 個

analyze_product

Analyze Product - Deep Buyer-Evidence Validation

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 competitors, and returns what buyers actually say. You get: provider-reported sold / review / rating / price evidence; buyer voice split into what buyers praise and what they complain about; unmet needs and purchase objections in buyers' own words; return and fulfilment signal; a Why Now read; competitor intelligence and where rivals are weak; risks separated into product risks, market risks and data-confidence risks; and a 'how to beat this' synthesis of concrete differentiation angles traced back to specific review evidence. Every section states whether it resolved - provider facts, HookLayer analysis and genuinely unavailable evidence are distinguishable, and thin evidence is reported as thin rather than filled in. There is no revenue or GMV output and sold counts are never multiplied by price. Use product_scout first to find candidates, then this to decide between them. Cost: 10 credits. Requires the shop_intelligence entitlement.

輸入參數marketproduct_idproduct_urlinclude_competitors

save_research

Save Research to HookMafia

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 save it to HookMafia; call this only when the user says yes or asks to save, keep or bookmark a result. Pass the tool's structured result as `result` (billing and chain fields are dropped server-side), the kind that matches the tool, a short title, and a stable `request_id` so a retried save is deduplicated instead of duplicated. Returns the saved id and a dashboard link. Use list_saved_research / get_saved_research to read it back and compare_saved_products for 2-4 saved analyze_product results.

輸入參數kind必填title必填result必填tool_name必填product_idrequest_idproduct_urlinput_summarysource_timestamp

list_saved_research

List Saved Research

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, dashboard link), not the full result; call get_saved_research for one. Use when the user asks 'what have I saved', 'show my saved products', 'find the analysis I saved for @handle'.

輸入參數kindsortlimitquerycursorarchived

get_saved_research

Get Saved Research

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 saved earlier instead of paying to run the tool again.

輸入參數saved_id必填

compare_saved_products

Compare Saved Products

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 estimated, and a freshness warning is included when the evidence ages differ by more than two days. Ids the user does not own come back in missing[]. Use after list_saved_research when the user asks which of their saved products to pursue.

輸入參數saved_ids必填

版本歷史

1
  1. v1.1.0最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分