All posts
n8n pipelinesMay 15, 20269 min read

n8n + TikTok MCP: the 3-step viral pipeline

n8n + an MCP server + a viral-content intelligence layer is the most underrated automation stack of 2026. This walks through wiring Hooklayer as an MCP Client node in n8n, then chaining analyze_account → viral_remix → score_hook into a daily pipeline that surfaces creator-driven content ideas to your inbox without you touching the IDE.

The short answer

n8n + Hooklayer's MCP Client node = a 3-step viral pipeline that runs on a cron schedule. Step 1: analyze_account on creators you track. Step 2: viral_remix on their highest-replicability video, using the params Hooklayer pre-fills via recommended_chain. Step 3: score_hook on the generated hook for independent verification. Total cost per pipeline run: ~10 credits. Setup time: 15 minutes.

Why this stack is worth the setup

n8n is the most-deployed self-hosted automation platform in 2026 — 400+ integration nodes, native MCP support since v1.55.0, hosted-or-self-hosted, free for personal use. Hooklayer is the MCP server that turns AI agents into viral-content strategists. Wire them together and you get a pipeline that runs every morning, picks the most promising creator-driven content angle in your niche, generates a ready-to-film script, scores it for quality, and saves the result to Notion (or Slack, or wherever you read).

You stop opening your laptop to "do TikTok research." The research does itself.

What you need

  • n8n instance. Self-hosted (docker pull n8nio/n8n:latest) or n8n Cloud. Minimum version 1.55.0 for the MCP Client node.
  • Hooklayer API key. Free tier: 100 lifetime credits at hooklayer.dev/auth/signup. No card required.
  • A destination. Notion database, Slack channel, Google Sheet, or email — wherever you want the pipeline output to land.

Step 1: Wire Hooklayer as an MCP Client in n8n

In n8n, create a new credential of type Header Auth:

Name:     Authorization
Value:    Bearer hl_live_...

Then in your workflow, add the MCP Client node:

URL:             https://hooklayer.dev/api/mcp
Transport:       HTTP (Streamable / JSON-RPC 2.0)
Authentication:  Hooklayer Bearer (the credential you just made)

n8n discovers Hooklayer's 7 tools and populates the Tool dropdown. Pick analyze_account for step 1.

Step 2: Build the 3-node pipeline

The pipeline structure:

[Cron trigger]
       │
       ▼
[MCP Client: analyze_account]   <- input: handle (e.g. "@humphreytalks")
       │
       ▼
[MCP Client: viral_remix]       <- params from recommended_chain[2]
       │
       ▼
[MCP Client: score_hook]        <- input: verify_hook.hook_text from viral_remix
       │
       ▼
[IF: score >= 75]
   YES → [Notion: append to "Content Ideas" database]
   NO  → [Loop back to viral_remix with retry counter]

The key wiring trick: n8n expression syntax lets you reference any field from upstream nodes. So when viral_remix runs after analyze_account, its parameters are populated like:

{
  "source_url": "{{ $node[\"analyze_account\"].json.recommended_chain[2].params.source_url }}",
  "my_topic": "personal finance for Gen Z"
}

That recommended_chain[2] reference is the magic. analyze_account already picked the highest-replicability video for you — you just pipe its source_url into the next step.

Step 3: Add quality gating

The third MCP Client node calls score_hook on the hook viral_remix generates. This is the critical step — without it, you're trusting viral_remix's self-rated hook (which it deliberately doesn't emit, by design — cardinal coupling protection).

After score_hook returns, an IF node checks the score:

Condition: {{ $json.score >= 75 }}

If true, the workflow proceeds to your destination (Notion, Slack, email). If false, the workflow either loops back to viral_remix for a different remix attempt OR flags the script as low-quality for human review. Set a retry limit on the loop (3 attempts) so you don't burn credits indefinitely.

Step 4: Add the schedule

Replace the Manual trigger with a Cron node:

Mode: Every day at 7:00 AM
Timezone: America/New_York

Pick a creator list (could be a Google Sheet with 5-10 handles you track). Use a Split In Batches node to run the pipeline once per handle, sequentially. Each run burns ~10 credits. 5 handles × 30 days = 1,500 credits/month — comfortably inside the Starter tier (5,000 credits / $49/mo) or pay-as-you-go ($25 for 5,000 credits, never expire).

What you get when you wake up

Every morning by 7:30 AM, your Notion database has:

  • 5 fresh content ideas (one per tracked creator)
  • Each idea: a scored hook (75+), a full scene-by-scene script with camera + overlays, the source URL of the inspiration video, the predicted virality score
  • Provenance: which creator inspired each idea, how recent their data is, which signals drove the analysis

You stop browsing TikTok for "what should I post about today" — that data is sitting in your inbox.

Pricing reality check

TierMonthly costCreditsPipeline runs/month (10 cr each)
Free$0100 lifetime10 (one-time)
Starter$495,000500
Pro$14925,0002,500
Agency$499150,00015,000

For a 5-creator-list pipeline run daily: 5 × 10 cr × 30 days = 1,500 credits/month. Starter tier covers it 3× over. Most content teams fit comfortably in Starter or Pro.

What can go wrong + how to handle it

  • TikTok handle is private or removed. analyze_account returns a 404 with no credits charged. Add an n8n error-handler node that logs the bad handle and continues with the next batch item.
  • Hooklayer returns quality.level: partial. This happens when find_viral_template (if you use it) degrades. n8n IF node can branch on {{ $json.quality.level !== "full" }} and route to a fallback (e.g., re-run analyze_account on a backup creator).
  • Score never crosses 75. Cap the retry loop at 3 attempts. If still failing, save the draft to a "needs human review" Notion view instead of dropping it.

Why this beats Zapier for this use case

Zapier doesn't have native MCP. To call Hooklayer from Zapier you'd need a custom webhook bridge. n8n's native MCP Client node skips that — it speaks the protocol directly. Plus n8n is self-hostable, which matters for content teams operating under data-sovereignty rules (GDPR + creator content stay on your infrastructure).

The other reason: n8n is engineer-friendly. Real conditional logic, real loops, real version control on workflows. Zapier abstracts those away. For a pipeline that needs quality gates and retry logic, n8n wins.


Hooklayer's MCP Client integration with n8n takes ~15 minutes to wire up the first time. Full per-step install guide here. Free tier covers your first 10 pipeline runs.

Frequently asked

Do I need n8n Cloud or can I self-host?

Either works. Self-hosted n8n (docker pull n8nio/n8n:latest) is free and supports the MCP Client node from v1.55.0. n8n Cloud has the node available by default in its standard pricing tiers. Hooklayer doesn't care which one you use — same endpoint, same Bearer key.

Can I extend the pipeline to multiple creators in parallel?

Yes. Use n8n's "Split In Batches" node to fan out a list of creator handles into the pipeline. Hooklayer's rate limits are per-API-key: Starter 60 req/min, Pro 300, Agency 1000. Most content teams stay well below those caps.

How fresh is the creator data?

Hooklayer's analyze_account caches creator data for 1 hour per handle. If multiple n8n pipelines hit the same creator within an hour, only the first call hits TikTok; subsequent calls return cached data instantly. Cost is still charged per call (5 credits) — we sell determinism, not cost relief.

What if I want to post the output to TikTok directly, not Notion?

Hooklayer is read-only — no posting capability. For posting, chain n8n's Composio node or an HTTP node to the TikTok Content Posting API after the score_hook gate. The pattern is: Hooklayer scores, Composio posts.

Try Hooklayer in your agent.

100 free credits at signup, no card. Works in Claude Desktop, Cursor, n8n, and any MCP client.