Skip to content

HasData TikTok

by hasdata.com · remote · local (npm, pypi) · no sign-in to list tools · v1.0.7 · published by com.hasdata

Public TikTok profiles, videos, comments and keyword search as JSON. No developer account.

Changes · 2

4 tools: 2 change things and 2 only read.

Scanned Oct 21, 2026

2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http tiktok https://mcp.hasdata.com/mcp?apis=tiktok --header 'x-api-key: <your-x-api-key>'

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "hasdata_tiktok_comments_getTikTokComments" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "hasdata_tiktok_comments_getTikTokComments" says "comment": a word for a change.

    What this check looks for
  • The server marks "hasdata_tiktok_posts_getTikTokPosts" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "hasdata_tiktok_posts_getTikTokPosts" says "post": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

4 tools

Changes things 2Claude Code: ask
  • hasdata_tiktok_comments_getTikTokCommentsGet TikTok Comments Fetches the comments on a public TikTok video by its numeric video id, or the replies to a specific comment when commentId is given.1 finding

    Why it is in this group

    • The name "hasdata_tiktok_comments_getTikTokComments" says "comment": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "hasdata_tiktok_comments_getTikTokComments" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "hasdata_tiktok_comments_getTikTokComments" says "comment": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Get TikTok Comments Fetches the comments on a public TikTok video by its numeric video id, or the replies to a specific comment when commentId is given. Each comment returns text, like count, timestamp, reply count, and author (username, nickname, avatar, plus hasdataLink to the profile endpoint and hasdataPostsLink to the posts endpoint). The first page of top-level comments also returns `post` with the video's description, author, music, cover and video URLs, duration, hashtags, and its like, comment, share, play, and save counts. Supports token-based pagination via nextPageToken. Use for sentiment analysis, engagement research, or building comment datasets from a video discovered via the posts or search APIs.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
  • hasdata_tiktok_posts_getTikTokPostsGet TikTok Posts Fetches a page of videos for a public TikTok account by username (handle) and returns each video with description, hashtags, mentions, like/comment/share/play/coll…1 finding

    Why it is in this group

    • The name "hasdata_tiktok_posts_getTikTokPosts" says "post": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "hasdata_tiktok_posts_getTikTokPosts" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "hasdata_tiktok_posts_getTikTokPosts" says "post": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Get TikTok Posts Fetches a page of videos for a public TikTok account by username (handle) and returns each video with description, hashtags, mentions, like/comment/share/play/collect counts, cover and playable video URLs, music, duration, and timestamp. Returns a page of ~30 videos plus a `nextPageToken`; pass that token back to walk the account history one page at a time. Use to monitor competitor content, track engagement of creator videos, or build datasets of account content for vetting and analytics.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
Only reads 2Claude Code: allow
  • hasdata_tiktok_profile_getTikTokProfileGet TikTok Profile Fetches a public TikTok profile by username (handle) and returns nickname, biography, bio link, avatar URLs, verified/private flags, account creation time, and f…No findings

    Why it is in this group

    • The name "hasdata_tiktok_profile_getTikTokProfile" says "get": a word for reading.
    Description, as the server wrote it
    Get TikTok Profile Fetches a public TikTok profile by username (handle) and returns nickname, biography, bio link, avatar URLs, verified/private flags, account creation time, and followers, follows, likes, videos, and friends counts. Use to enrich CRM/lead records, verify influencer reach before outreach, monitor competitor accounts, or build datasets of creator metadata for vetting and analytics.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
  • hasdata_tiktok_search_getTikTokSearchSearch TikTok Searches TikTok by keyword and returns either videos (with description, hashtags, mentions, like/comment/share/play counts, cover and playable video URLs, music, and …No findings

    Why it is in this group

    • The name "hasdata_tiktok_search_getTikTokSearch" says "search": a word for reading.
    Description, as the server wrote it
    Search TikTok Searches TikTok by keyword and returns either videos (with description, hashtags, mentions, like/comment/share/play counts, cover and playable video URLs, music, and author) or users (nickname, bio, avatar, verified flag, follower count). Each author and each user carries a hasdataLink to their profile endpoint and a hasdataPostsLink to their posts endpoint. Supports token-based pagination via nextPageToken. Use for content discovery, trend research, influencer discovery, or building datasets from a keyword.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.7. Values in angle brackets are yours to fill in.

claude mcp add --transport http tiktok https://mcp.hasdata.com/mcp?apis=tiktok --header 'x-api-key: <your-x-api-key>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__tiktok__hasdata_tiktok_profile_getTikTokProfile",
      "mcp__tiktok__hasdata_tiktok_search_getTikTokSearch"
    ],
    "ask": [
      "mcp__tiktok__hasdata_tiktok_comments_getTikTokComments",
      "mcp__tiktok__hasdata_tiktok_posts_getTikTokPosts"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as tiktok. Review it before you use it.