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 分