Skip to main content
Glama

TikTok Remote MCP Server

Server Details

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

Ownership verified
Status
Healthy
Uptime
86.0% over 54 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
HasData/tiktok-mcp
GitHub Stars
10
Server Listing
TikTok MCP Server

TDQS

A4.1/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a clearly distinct resource and action: comments, posts, profile, and keyword search. Although getTikTokComments also returns video metadata, its primary purpose (comment retrieval) is unmistakable and does not overlap enough to cause misselection.

Naming Consistency5/5

All four names follow the same pattern: hasdata_tiktok_<resource>_getTikTok<Resource>, combining a consistent provider/domain prefix with a verb_noun suffix. There is no mixing of conventions or casing styles.

Tool Count4/5

Four tools is a focused, well-scoped set for a read-only TikTok data API, and each earns its place. It is slightly thin, as a couple more endpoints (e.g. hashtag/trending) could reasonably be added.

Completeness4/5

The surface covers the core read paths: profile, account posts, video comments, and keyword search, with pagination and cross-links to profiles/posts. Minor gaps exist (no dedicated video-detail, followers/following, or trending endpoints) but core discovery and analytics workflows are supported.

Available Tools

4 tools
hasdata_tiktok_comments_getTikTokCommentstiktok_comments: GET /A
Read-only
Inspect

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.

NameRequiredDescriptionDefault
videoIdYesThe numeric id of the video (the number after `/video/` in a TikTok URL).
commentIdNoWhen provided, returns the replies to this comment instead of the video's top-level comments.
nextPageTokenNoDefines the next page token. Use the `nextPageToken` value returned by the previous response. Omit it to fetch the first page.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and destructiveHint=false, so safety is covered. The description adds genuinely useful behavioral detail beyond that: token-based pagination via nextPageToken and the fact that only the first page of top-level comments returns the `post` object. It does not mention rate limits or auth requirements, keeping it at a 4 rather than 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded paragraph that opens with the core purpose and then layers in return fields and pagination. It is efficient and wastes little, though the dense enumeration of returned fields is longer than strictly necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must carry the return-value burden, and it does: it enumerates comment fields (text, likes, timestamp, reply count, author details, links) plus the post metadata on the first page. Combined with pagination guidance, an agent has everything needed to call and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents videoId, commentId, and nextPageToken. The prose restates their behavior (numeric video id, replies switch, next-page token) but adds no syntax or format detail the schema lacks, matching the baseline 3 when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Fetches the comments on a public TikTok video') and explicitly distinguishes two operating modes: top-level comments by videoId vs. replies to a comment when commentId is given. This cleanly separates it from siblings like tiktok_posts and tiktok_search without requiring schema inspection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear usage contexts ('sentiment analysis, engagement research, building comment datasets') and points to the posts/search APIs as the upstream way to discover a video. It lacks an explicit when-not or alternative-selection rule (there is no tiktok-comments sibling to route against), so it falls short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_tiktok_posts_getTikTokPoststiktok_posts: GET /A
Read-only
Inspect

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.

NameRequiredDescriptionDefault
handleYesThe TikTok username of the account whose videos you want to scrape, with or without the `@` symbol.
nextPageTokenNoDefines the next page token. It is used for retrieving the next page of results. Use the `nextPageToken` value returned by the previous response. Omit it to fetch the first page.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, openWorld, non-destructive), but the description adds substantive behavior: results come in pages of ~30, a nextPageToken is returned and must be looped to walk history, and the account must be public. It omits rate limits, auth requirements, and failure modes, keeping it below 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core verb and scope are front-loaded, and the pagination mechanic follows logically. The enumeration of returned fields (likes/comments/shares/plays/collects, cover and playable URLs, music, duration, timestamp) is slightly list-heavy but earns its place given there is no output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly carries the burden of describing return values and the pagination contract, which it does thoroughly. It lacks edge-case context (empty/private accounts, rate limits), so it is strong but not exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (handle, nextPageToken) are already fully documented in the schema, including the @ optionality and the first-page omit behavior. The description restates handle and the token but adds no syntax or format detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource (fetch a page of videos for a public TikTok account by handle) and enumerates the returned fields, so the agent knows exactly what the tool produces. It does not explicitly name or contrast the nearby siblings (tiktok_profile, tiktok_search, tiktok_comments), so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete use cases (monitor competitor content, track creator engagement, build vetting/analytics datasets) and explains the pagination walk via nextPageToken, which is real guidance. It stops short of stating when NOT to use it or pointing to the profile/search alternative for other intents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_tiktok_profile_getTikTokProfiletiktok_profile: GET /A
Read-only
Inspect

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.

NameRequiredDescriptionDefault
handleYesThe TikTok username of the profile you want to scrape, with or without the `@` symbol.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds the meaningful constraint that only public profiles are fetched and discloses the returned data surface, though it says nothing about auth needs, rate limits, or behavior on missing/private handles.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action before the return list and use cases. Minor redundancy between the title restatement "Get TikTok Profile" and the opening sentence, and the four-item use-case list is slightly long but each item is substantive.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with no output schema, the description compensates by enumerating the returned fields and the intended use cases. It is nearly complete; only error/empty-profile behavior and rate-limit context are absent, which is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single handle parameter is fully documented there, including the optional `@` prefix. The description only restates "by username (handle)" and adds no format or normalization detail beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource ("Fetches a public TikTok profile by username") and enumerates the exact return set (nickname, bio, avatar URLs, flags, counts). An agent can distinguish this from hasdata_instagram_profile_getInstagramProfile or hasdata_facebook_profile_getFacebookProfile on platform and data shape alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete usage contexts — CRM/lead enrichment, influencer vetting before outreach, competitor monitoring, dataset building — which orients the agent well. It stops short of naming sibling tools or stating when NOT to use it (e.g. vs tiktok_posts or tiktok_search), so it is clear context without exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hasdata_tiktok_search_getTikTokSearchtiktok_search: GET /A
Read-only
Inspect

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.

NameRequiredDescriptionDefault
typeNoWhat to search for — videos or users. Defaults to video.
keywordYesThe phrase to search for on TikTok.
nextPageTokenNoDefines the next page token. Use the `nextPageToken` value returned by the previous response. Omit it to fetch the first page.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/openWorldHint/destructive=false, so the safety profile is covered. The description adds genuinely useful context: the token-based pagination model via nextPageToken, the fields returned per result type, and the embedded hasdataLink/hasdataPostsLink pointers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the one-line purpose, then output shape, pagination, and use cases in sequence. It is on the longer side but each sentence carries distinct information, so little is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does so by describing video vs user fields and the cross-links. Combined with full schema coverage and safety annotations, an agent has enough to call it correctly, though the sibling boundary remains implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the enum, keyword, and nextPageToken semantics are already fully documented in the schema. The description only restates pagination at a high level, adding no syntax or format detail beyond what the schema provides; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource ('Searches TikTok by keyword') and enumerates the two result shapes (videos vs users) with their fields. It stops short of explicitly contrasting with the closely related siblings like hasdata_tiktok_profile or hasdata_tiktok_posts, though the hasdataLink/hasdataPostsLink mentions hint at the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides concrete use cases: 'content discovery, trend research, influencer discovery, or building datasets from a keyword.' This gives clear positive context for when to reach for it, but names no alternatives or exclusions (e.g., when to prefer the profile or posts endpoints).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedhasdata_tiktok_comments_getTikTokComments
    • First observedhasdata_tiktok_posts_getTikTokPosts
    • First observedhasdata_tiktok_profile_getTikTokProfile
    • First observedhasdata_tiktok_search_getTikTokSearch

Publisher details

Operator
HasData · Publisher source
Vendor relationship
Independent · Publisher source
Trust center
Not available
Restrictions
A free HasData account covers 1,000 credits a month with no card. Heavier use needs a paid plan. No admin approval, no regional limits and no custom OAuth app. · Publisher source

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables reading TikTok trends, profiles, comments, and own-account metrics via an unofficial facade with fallback providers and risk-tiered tools, plus queued posting capabilities.
    5 npm
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP clients and skill-aware agents to retrieve structured TikTok videos, profiles, hashtags, comments, followers, and related feeds without login. It supports natural-language requests for filtering, transcripts, downloads, and AI labels such as brand safety and sentiment.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables downloading TikTok videos and photos without watermarks, extracting metadata and analytics, and performing bulk downloads of user profiles via CLI or as an MCP server for AI assistants.
    5
    3 npm
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.