accueil / serveurs / Médias / app.toptik/tiktok
app.toptik/tiktok
serveur MCP (Model Context Protocol) · toptik-tiktok 1.0.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que app.toptik/tiktok est sûr ?
Au dernier audit MCP Hub, le serveur MCP « app.toptik/tiktok » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 25 outils
- tiktok_comment_replies≈ 308 tokens
Replies under one comment. Worth calling only when tiktok_video_comments reported reply_count above 0.
Paramètres, retour & exemple (5)
Paramètresid· string · requis
The numeric video id.count· integer · optionnel
Replies per page. (1-50, default 20)cursor· integer · optionnel
Offset from the previous response. Omit for page one. (default 0)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.comment_id· string · requis
comment_id from tiktok_video_comments.
Exemple d'appel{"name": "tiktok_comment_replies", "arguments": {"id": "texte", "comment_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_creator_followers≈ 256 tokens
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.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
sec_uid (MS4w…) or numeric uid.count· integer · optionnel
Followers to return. (1-50, default 20)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_creator_followers", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_creator_following≈ 243 tokens
A sample of the accounts a creator follows, plus the total. One page only, for the same reason as followers.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
sec_uid (MS4w…) or numeric uid.count· integer · optionnel
Accounts to return. (1-50, default 20)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_creator_following", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_creator_liked_videos≈ 291 tokens
Videos a creator has liked. Only works when the account keeps its likes public; most do not, and a private list returns no videos.
Paramètres, retour & exemple (4)
Paramètresid· string · requis
sec_uid (MS4w…). A numeric uid is not accepted here.count· integer · optionnel
Videos per page. (1-35, default 20)cursor· integer · optionnel
max_cursor from the previous page. Omit for page one. (default 0)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_creator_liked_videos", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_creator_playlists≈ 252 tokens
A creator's playlists (TikTok calls them mixes or series). Most creators have none, which returns total 0.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
sec_uid (MS4w…) or numeric uid.cursor· integer · optionnel
cursor from the previous page. Omit for page one. (default 0)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_creator_playlists", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_creator_profile≈ 225 tokens
A creator's profile: handle, nickname, bio, follower, following and video counts, privacy and verification flags, and avatar.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
sec_uid (MS4w…) or numeric uid, from tiktok_resolve_username.expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_creator_profile", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_creator_videos≈ 294 tokens
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.
Paramètres, retour & exemple (4)
Paramètresid· string · requis
sec_uid (MS4w…) or numeric uid.count· integer · optionnel
Posts per page. (1-35, default 20)cursor· integer · optionnel
max_cursor from the previous page. Omit for page one. (default 0)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_creator_videos", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_explore_feed≈ 208 tokens
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.
Paramètres, retour & exemple (2)
Paramètrescount· integer · optionnel
Videos to return. (1-18, default 12)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_explore_feed", "arguments": {"count": 1, "expand": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_hashtag_resolve≈ 203 tokens
Hashtag name to its id, with total video and view counts. Feed the id to tiktok_hashtag_videos.
Paramètres, retour & exemple (2)
Paramètresname· string · requis
The hashtag, with or without #.expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_hashtag_resolve", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_hashtag_videos≈ 278 tokens
Videos under a hashtag. Pages hold about 12 videos whatever count asks for; page with cursor.
Paramètres, retour & exemple (4)
Paramètresid· string · requis
hashtag id from tiktok_hashtag_resolve.count· integer · optionnel
Videos per page; TikTok caps this near 12. (1-30, default 20)cursor· integer · optionnel
cursor from the previous page. Omit for page one. (default 0)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_hashtag_videos", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_live_streams≈ 266 tokens
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 quality fails, try another.
Paramètres, retour & exemple (3)
Paramètresq· string · requis
Search keywords.count· integer · optionnel
Rooms to return. (1-30, default 20)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_live_streams", "arguments": {"q": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_places_search≈ 230 tokens
Search TikTok places (points of interest) by name: address, coordinates, rating, review count and video count.
Paramètres, retour & exemple (3)
Paramètresq· string · requis
Place name or keywords.count· integer · optionnel
Places to return. (1-30, default 20)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_places_search", "arguments": {"q": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_resolve_username≈ 231 tokens
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.
Paramètres, retour & exemple (2)
Paramètresexpand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.handle· string · requis
The @handle, with or without the leading @.
Exemple d'appel{"name": "tiktok_resolve_username", "arguments": {"handle": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_search_creators≈ 286 tokens
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.
Paramètres, retour & exemple (4)
Paramètresq· string · requis
Search keywords.count· integer · optionnel
Results per page. (1-30, default 10)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.offset· integer · optionnel
Number of results to skip: 0, then count, then 2 x count. (default 0)
Exemple d'appel{"name": "tiktok_search_creators", "arguments": {"q": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_search_hashtags≈ 220 tokens
Keyword search over hashtags, with post and view counts. One page only.
Paramètres, retour & exemple (3)
Paramètresq· string · requis
Search keywords.count· integer · optionnel
Results to return. (1-30, default 20)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_search_hashtags", "arguments": {"q": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_search_lives≈ 236 tokens
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.
Paramètres, retour & exemple (3)
Paramètresq· string · requis
Search keywords.count· integer · optionnel
Rooms to return. (1-30, default 20)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_search_lives", "arguments": {"q": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_search_photos≈ 225 tokens
Keyword search over photo-mode (carousel) posts, with image URLs and stats. One page only.
Paramètres, retour & exemple (3)
Paramètresq· string · requis
Search keywords.count· integer · optionnel
Results to return. (1-30, default 20)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_search_photos", "arguments": {"q": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_search_sounds≈ 266 tokens
Keyword search over sounds, with usage counts. cursor is an offset: pass the previous response's cursor.
Paramètres, retour & exemple (4)
Paramètresq· string · requis
Search keywords.count· integer · optionnel
Results per page. (1-30, default 20)cursor· integer · optionnel
cursor from the previous page. Omit for page one. (default 0)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_search_sounds", "arguments": {"q": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_search_videos≈ 330 tokens
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.
Paramètres, retour & exemple (5)
Paramètresq· string · requis
Search keywords.count· integer · optionnel
Results per page. 30 yields the most distinct results per call. (1-30, default 20)cursor· integer · optionnel
cursor from the previous page. Omit for page one. (default 0)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.sort_type· integer · optionnel
0 = relevance (default), 1 = most liked. (0-3)
Exemple d'appel{"name": "tiktok_search_videos", "arguments": {"q": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_sound_resolve≈ 202 tokens
Sound title to music id, with the closest candidates. Feed the id to tiktok_sound_videos.
Paramètres, retour & exemple (2)
Paramètrestitle· string · requis
The sound's title as TikTok shows it.expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_sound_resolve", "arguments": {"title": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_sound_videos≈ 264 tokens
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.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
music id from tiktok_sound_resolve or any video row.cursor· integer · optionnel
cursor from the previous page. Omit for page one. (default 0)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_sound_videos", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_video_comments≈ 291 tokens
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.
Paramètres, retour & exemple (4)
Paramètresid· string · requis
The numeric video id.count· integer · optionnel
Comments per page. (1-50, default 20)cursor· integer · optionnel
Offset from the previous response. Omit for page one. (default 0)expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_video_comments", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_video_download_url≈ 229 tokens
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.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
The numeric video id.expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_video_download_url", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_video_stats≈ 216 tokens
One video or photo post by id: caption, plays, likes, comments, shares, saves, duration, hashtags, sound and author.
Paramètres, retour & exemple (2)
Paramètresid· string · requis
The numeric video id — the digits after /video/ in a TikTok link.expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_video_stats", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tiktok_video_transcript≈ 273 tokens
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.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
The numeric video id.lang· string · optionnel
Language tag such as en or es-MX. Omit to get the original track.expand· boolean · optionnel
false (default): a compact JSON summary sized for a model's context. true: the complete, unmodified response from the data API — can exceed 500 KB for list tools, so ask for it only when a field you need is missing from the compact form. Same price either way.
Exemple d'appel{"name": "tiktok_video_transcript", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».