TopTik — TikTok data is a remote MCP server that gives an AI agent 25 tools, among them tiktok_comment_replies, tiktok_creator_followers, tiktok_creator_following. It answers at https://mcp.toptik.app/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 4 of 4 times since 23 September 2026; the last check, on 6 November 2026, succeeded.
TikTok data for agents: videos, creators, comments, search, transcripts. 25 tools, pay per call.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
tiktok_comment_replies | Replies under one comment. Worth calling only when tiktok_video_comments reported reply_count above 0. Inputs: id, comment_id, count, cursor, expand |
tiktok_creator_followers | A sample of a creator's followers (most recent), plus the total. One page only: TikTok does not page this list reliably, so this is a sample and not an export. Inputs: id, count, expand |
tiktok_creator_following | A sample of the accounts a creator follows, plus the total. One page only, for the same reason as followers. Inputs: id, count, expand |
tiktok_creator_liked_videos | Videos a creator has liked. Only works when the account keeps its likes public; most do not, and a private list returns no videos. Inputs: id, count, cursor, expand |
tiktok_creator_playlists | A creator's playlists (TikTok calls them mixes or series). Most creators have none, which returns total 0. Inputs: id, cursor, expand |
tiktok_creator_profile | A creator's profile: handle, nickname, bio, follower, following and video counts, privacy and verification flags, and avatar. Inputs: id, expand |
tiktok_creator_videos | A creator's posts, newest first, with stats. Page by passing the previous response's max_cursor as cursor until has_more is 0. Pinned posts appear on page one only. Inputs: id, count, cursor, expand |
tiktok_explore_feed | TikTok's Explore / Discover feed: what is trending now. Not personalised and not cached, so each call returns a fresh set; call again for more. Inputs: count, expand |
tiktok_hashtag_resolve | Hashtag name to its id, with total video and view counts. Feed the id to tiktok_hashtag_videos. Inputs: name, expand |
tiktok_hashtag_videos | Videos under a hashtag. Pages hold about 12 videos whatever count asks for; page with cursor. Inputs: id, count, cursor, expand |
tiktok_live_streams | Live rooms matching a keyword, each with playable stream URLs per quality (FLV always, HLS when TikTok provides it), title and viewer count. URLs are signed (see expires_at), but a room usually ends long before its signature does; if one qu Inputs: q, count, expand |
tiktok_places_search | Search TikTok places (points of interest) by name: address, coordinates, rating, review count and video count. Inputs: q, count, expand |
tiktok_resolve_username | Resolve a TikTok @handle to the account's numeric uid and sec_uid. Start here: every tiktok_creator_* tool takes the sec_uid this returns. An empty user_list means no exact match was found. Inputs: handle, expand |
tiktok_search_creators | Keyword search over accounts, with follower counts. Pages by offset, not cursor. For one exact @handle use tiktok_resolve_username instead: it is cheaper and more reliable. Inputs: q, count, offset, expand |
tiktok_search_hashtags | Keyword search over hashtags, with post and view counts. One page only. Inputs: q, count, expand |
tiktok_search_lives | Live rooms on air right now that match a keyword, with the host's account. One page only. For playable stream URLs use tiktok_live_streams. Inputs: q, count, expand |
tiktok_search_photos | Keyword search over photo-mode (carousel) posts, with image URLs and stats. One page only. Inputs: q, count, expand |
tiktok_search_sounds | Keyword search over sounds, with usage counts. cursor is an offset: pass the previous response's cursor. Inputs: q, count, cursor, expand |
tiktok_search_videos | Keyword search over videos. TikTok search is a bounded, re-ranked pool, not an endless list: ask for count 30, page with cursor, dedupe on video_id, and stop when two pages add nothing new. Inputs: q, count, cursor, sort_type, expand |
tiktok_sound_resolve | Sound title to music id, with the closest candidates. Feed the id to tiktok_sound_videos. Inputs: title, expand |
tiktok_sound_videos | Videos TikTok associates with a sound. Treat it as a feed seeded by the sound, not a strict filter: some results use a different sound, so check music_id on each row. Inputs: id, cursor, expand |
tiktok_video_comments | Top-level comments on a video, with like and reply counts. cursor is an offset: pass the previous response's cursor to continue. TikTok re-ranks between pages, so dedupe on comment_id. Inputs: id, count, cursor, expand |
tiktok_video_download_url | Direct media URLs for one post: no-watermark video, watermarked video, audio, covers, and the images of a photo post. Links only, no bytes; they are signed and expire (see expires), so fetch promptly. Inputs: id, expand |
tiktok_video_stats | One video or photo post by id: caption, plays, likes, comments, shares, saves, duration, hashtags, sound and author. Inputs: id, expand |
tiktok_video_transcript | A video's spoken text from TikTok's own caption track: one joined string plus timed cues. has_transcript false means the video has no caption track, which is common and is not an error. Inputs: id, lang, expand |
Every block below points at https://mcp.toptik.app/mcp. Pick your client and copy.
claude mcp add --transport http toptik-tiktok-data https://mcp.toptik.app/mcp
{
"mcpServers": {
"toptik-tiktok-data": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.toptik.app/mcp"]
}
}
}{
"mcpServers": {
"toptik-tiktok-data": {
"url": "https://mcp.toptik.app/mcp"
}
}
}{
"servers": {
"toptik-tiktok-data": {
"type": "http",
"url": "https://mcp.toptik.app/mcp"
}
}
}{
"context_servers": {
"toptik-tiktok-data": {
"url": "https://mcp.toptik.app/mcp"
}
}
}{
"mcpServers": {
"toptik-tiktok-data": {
"serverUrl": "https://mcp.toptik.app/mcp"
}
}
}{
"mcpServers": {
"toptik-tiktok-data": {
"url": "https://mcp.toptik.app/mcp"
}
}
}name: TopTik — TikTok data
version: 0.0.1
schema: v1
mcpServers:
- name: TopTik — TikTok data
type: streamable-http
url: https://mcp.toptik.app/mcp{
"mcpServers": {
"toptik-tiktok-data": {
"httpUrl": "https://mcp.toptik.app/mcp"
}
}
}{
"mcpServers": {
"toptik-tiktok-data": {
"type": "http",
"url": "https://mcp.toptik.app/mcp"
}
}
}{
"mcpServers": {
"toptik-tiktok-data": {
"url": "https://mcp.toptik.app/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fmcp.toptik.app%2Fmcp&type=streamable_http&id=toptik-tiktok-data&name=TopTik%20%E2%80%94%20TikTok%20data
It answered our last check on 6 November 2026 in 483 ms. Over 4 checks since 23 September 2026 it answered 4. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by toptik.app and served from mcp.toptik.app, the vendor's own domain: https://mcp.toptik.app/mcp.
25, as returned by the server's own tools/list on 9 November 2026: tiktok_comment_replies, tiktok_creator_followers, tiktok_creator_following, tiktok_creator_liked_videos, tiktok_creator_playlists, tiktok_creator_profile, tiktok_creator_videos, tiktok_explore_feed, and 17 more.
It answered our last check on 6 November 2026 in 483 ms. Over 4 checks since 23 September 2026 it answered 4.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.toptik.app/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: app.toptik. Endpoint host: mcp.toptik.app. ARD identifier: urn:air:app.toptik:mcp:tiktok.
First indexed 18 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.