n8n ships an MCP Client node that calls one tool on a remote MCP server and hands the result to the next node, like any HTTP Request step. That is the whole integration for a TikTok MCP: point the node at TokConnect, attach a Bearer Auth credential, choose a tool, pass parameters. No AI Agent, no model, no community package. We ran it on n8n 2.39.8 and the two workflows on this page executed as written.

Get your key from app.tokconnect.com with Google sign-in. New accounts get 100 free credits, and one tool call spends one credit.

The node settings

Add an MCP Client node (search the node panel for "MCP Client"; the one without "Tool" in the name). Fill it in like this:

FieldValue
Server TransportHTTP Streamable
MCP Endpoint URLhttps://mcp.tokconnect.com/mcp
AuthenticationBearer Auth, then create a credential with your TokConnect key as the token
ToolFrom List: n8n fetches the 27 tools from the server once the endpoint and credential are set. Or By ID: type the tool name, for example search_suggestions
Input ModeManual (one field per parameter) or JSON (one object). JSON is easier to copy from this site and to build with expressions
OptionsTimeout, in milliseconds, default 60,000. Leave it unless a long comment pull times out

Server Sent Events is still offered under Server Transport and marked deprecated. TokConnect speaks Streamable HTTP, so leave the default.

Where the key goes

In a credential, never in the node. Under Authentication choose Bearer Auth, click Create New Credential, paste the key. n8n stores credentials encrypted and strips them from workflow exports, so a workflow JSON you share or commit carries a credential reference, not the key. If you put the key inside the JSON input instead, it ships with every export.

Rotate by editing the credential; every node that references it picks up the new value on its next run.

Your first TikTok MCP call in n8n

Manual Trigger, then an MCP Client node with Tool search_suggestions, Input Mode JSON:

{
  "keyword": "protein",
  "count": 5
}

Execute the workflow. Pulled on 20 September 2026, the node returned in 736 ms:

{
  "content": [
    {
      "type": "text",
      "text": {
        "count": 5,
        "suggestions": [
          { "text": "protein" },
          { "text": "protein powder" },
          { "text": "protein for gym" },
          { "text": "protein food" },
          { "text": "protein meals idea" }
        ]
      }
    }
  ]
}

Data: TikTok autocomplete via TokConnect, executed in n8n 2.39.8 on 20 September 2026. Open the snapshot. Autocomplete is live, so your lines may differ.

One detail saves a Code node: MCP tools return their result as a JSON string inside content[0].text, and n8n parses it for you. The next node reads {{ $json.content[0].text.suggestions[1].text }} and gets protein powder, an object path, not a string to decode.

Two steps: suggestion in, search volume out

Chain a second MCP Client node, Tool search_topics, Input Mode JSON, with an expression as the whole input:

={{ JSON.stringify({ keyword: $json.content[0].text.suggestions[1].text, limit: 3 }) }}

The expression takes the second autocomplete suggestion from the first node and asks TikTok's search index for topics matching it. Executed the same day, the second node returned three topics in 1,956 ms:

Topic TikTok returnedSearch popularity (last 7 days)Videos matchedPopularity score
types of protein powders2,151,91560385
adding protein powder to foods4,337,700086
protein powders and protein snacks4,421,34143586

Search popularity is TikTok's count of searches over the last seven days, global. Videos matched is how many videos TikTok tied to the topic; zero is a content gap. Open the snapshot.

Both workflows are in the snapshot with their node parameters. To import: File, Import from URL or paste the JSON, then attach your Bearer Auth credential to each MCP Client node, because credentials do not travel with the JSON.

One call per item, one credit per call

The MCP Client node runs once for each item it receives. Feed it a Google Sheets node with 50 keyword rows and it makes 50 calls and spends 50 credits, which is exactly what you want for a keyword list and exactly what you do not want by accident. When the upstream node returns many items and you need one call, put an Aggregate node in front, or a Limit node set to 1, or use Loop Over Items with a batch size and a Wait between batches.

For a weekly pull: Schedule Trigger, MCP Client with trending_topics ({"category": "all", "limit": 20}), then a Google Sheets or Slack node. The trend research guide lists which tools to schedule and why.

Inside an AI Agent

If a model should decide which TikTok tool to call, use the MCP Client Tool sub-node attached to an AI Agent node. It takes the same endpoint and the same Bearer Auth credential, plus a Tools to Include setting (All, Selected or All Except). Selected is the sensible choice: expose search_topics, search_suggestions and browse_topics for a research agent, and keep video_comments out until you want the agent spending credits on comment pages.

Tested and not tested

The two workflows above ran through the n8n command line on n8n 2.39.8 with the MCP Client node at version 1.1, against the TokConnect MCP server. We did not run the AI Agent path; that section follows the MCP Client Tool documentation as it read on 20 September 2026.

Errors, and what they mean

What you seeCauseFix
401 when loading the tool listThe credential is missing, or the token was pasted with a space or newline.Open the credential, paste a fresh key from the dashboard, save, then reopen the Tool dropdown.
Tool list is empty in From List modeThe node fetches tools only after the endpoint and credential are both set.Set both, close and reopen the node. By ID mode works without the list.
Unknown argument, or a validation errorA parameter name that the tool does not have.Check the schema: search_topics takes keyword, limit, language, offset; search_videos takes keyword, count, sort, date, offset, search_id.
The node succeeds and returns an empty listThat is TikTok's answer for the query, not a connection fault.Treat it as a finding. The troubleshooting guide separates the two.
Timeout on a comments pullLarge comment pages can exceed the default 60 s.Raise Timeout under Options, or lower count.

Remove it, or rotate the key

Delete the MCP Client nodes, or deactivate the workflow, then delete the Bearer Auth credential from Credentials in the left sidebar. Deleting the credential is what revokes access from n8n's side; a node without a credential fails with 401. To rotate, make a new key in the dashboard and edit the existing credential in place.

Same endpoint elsewhere: Claude Code, OpenClaw, Hermes. For scraping-style automations that n8n users often ask about, the TikTok automation guide covers what an MCP replaces.

Frequently asked questions

Do I need an AI Agent node to use TikTok data in n8n?

No. The MCP Client node is a regular action node: pick a tool, give it parameters, and it returns the result as an item. The MCP Client Tool sub-node is the one that hangs off an AI Agent and lets the model choose tools itself. Use the plain node for scheduled pulls and pipelines, the tool sub-node when a model is deciding what to look up.

Where does the TokConnect key go?

In an n8n credential of type Bearer Auth, selected on the node under Authentication. n8n encrypts credentials at rest and keeps them out of exported workflow JSON, which is why the key must not be typed into the JSON input or an expression.

Why did my workflow spend more credits than I expected?

The node executes once for every item it receives. A Google Sheets node that hands it 50 rows triggers 50 tool calls. Put an Aggregate or Limit node in front, or use a Loop Over Items node with a batch size, when you only want one call.

Can I use the older community MCP node instead?

You can, but there is no need on a current n8n. The built-in MCP Client node ships with n8n and speaks Streamable HTTP, which is the transport TokConnect uses. The community package predates it and adds an install step.

Sources and data