Skip to main content
Glama

SocialDataX 抖音 Douyin MCP

douyin_get_video_comments_by_url

Read-only

根据抖音作品页面链接、作品短链接或包含作品链接的分享文案获取一级评论列表,支持 page_token 翻页。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes抖音作品页面链接、作品短链接或包含作品链接的完整分享文案;不要传 video.play_url 这类播放资源链接,也不要传用户主页链接;已知 aweme_id 时优先使用 ID 入口
page_tokenNopage_token 是不透明分页令牌。首次请求留空;继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一作品评论分页链路的下一页,不能跨能力或作品复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYes当前页一级评论列表
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
comment_countYes作品评论总量;当前不可用时为 null
next_page_tokenYes下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一能力和同一分页链路,不能跨能力、作品、用户、评论、关键词或筛选条件复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / properties / items / items / properties / author / properties / sec_user_id / description
      Previous value: -"评论作者 sec_user_id;用户主页工具可直接复用"New value: +"评论作者 sec_user_id;当前不可用时为空字符串"
    • changedOutput schema / properties / items / items / properties / mentioned_users / items / properties / sec_user_id / description
      Previous value: -"被 @ 用户的 sec_user_id"New value: +"被 @ 用户的 sec_user_id;当前不可用时为空字符串"
  2. Changed1 schema field changed
    • changedOutput schema / properties / items / items / properties / comment_id / description
      Previous value: -"评论 ID"New value: +"当前一级评论 ID"
  3. Changed2 schema fields changed
    • addedOutput schema / properties / points
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。",
      +  "properties": {
      +    "balance": {
      +      "description": "本次接口完成时看到的当前积分余额。",
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "cost": {
      +      "description": "本次请求最终确认消耗的积分。",
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "cost",
      +    "balance"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "items",
      -  "next_page_token",
      -  "comment_count"
      -]New value: +[
      +  "items",
      +  "next_page_token",
      +  "comment_count",
      +  "points"
      +]
  4. Changed4 schema fields changed
    • changedInput schema / properties / page_token / description
      Previous value: -"分页令牌。首次请求留空;继续翻页时原样传入上一次返回的 next_page_token;只能用于同一作品评论分页链路的下一页,不能跨能力或作品复用"New value: +"page_token 是不透明分页令牌。首次请求留空;继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一作品评论分页链路的下一页,不能跨能力或作品复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"
    • addedOutput schema / properties / items / items / properties / mentioned_users
      Added value: +{
      +  "description": "当前一级评论正文中 @ 到的用户列表;无 @ 时为空数组",
      +  "items": {
      +    "properties": {
      +      "end": {
      +        "description": "@ 文本在原文中的结束位置",
      +        "type": "integer"
      +      },
      +      "name": {
      +        "description": "被 @ 用户昵称;当前不可用时为空字符串",
      +        "type": "string"
      +      },
      +      "sec_user_id": {
      +        "description": "被 @ 用户的 sec_user_id",
      +        "type": "string"
      +      },
      +      "start": {
      +        "description": "@ 文本在原文中的起始位置",
      +        "type": "integer"
      +      },
      +      "user_id": {
      +        "description": "被 @ 用户的 user_id",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "user_id",
      +      "sec_user_id",
      +      "name",
      +      "start",
      +      "end"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / items / items / required
      Previous value: -[
      -  "comment_id",
      -  "aweme_id",
      -  "content",
      -  "content_type",
      -  "create_time",
      -  "like_count",
      -  "reply_count",
      -  "ip_location",
      -  "image_urls",
      -  "sticker",
      -  "is_hot",
      -  "is_folded",
      -  "author"
      -]New value: +[
      +  "comment_id",
      +  "aweme_id",
      +  "content",
      +  "content_type",
      +  "create_time",
      +  "like_count",
      +  "reply_count",
      +  "ip_location",
      +  "image_urls",
      +  "sticker",
      +  "is_hot",
      +  "is_folded",
      +  "mentioned_users",
      +  "author"
      +]
    • changedOutput schema / properties / next_page_token / description
      Previous value: -"下一页分页令牌;为空表示没有更多结果"New value: +"下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一能力和同一分页链路,不能跨能力、作品、用户、评论、关键词或筛选条件复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"
  5. Changed5 schema fields changed
    • changedOutput schema / properties / items / items / properties / content_type / description
      Previous value: -"评论内容类型:text 表示文字,image 表示图片,video 表示视频,unknown 表示未知"New value: +"评论内容类型:text 表示文字,image 表示图片,sticker 表示表情或动图,unknown 表示未知"
    • changedOutput schema / properties / items / items / properties / content_type / enum
      Previous value: -[
      -  "text",
      -  "image",
      -  "video",
      -  "unknown"
      -]New value: +[
      +  "text",
      +  "image",
      +  "sticker",
      +  "unknown"
      +]
    • addedOutput schema / properties / items / items / properties / sticker
      Added value: +{
      +  "anyOf": [
      +    {
      +      "properties": {
      +        "animated_url": {
      +          "description": "表情或动图的动态资源链接;不可用时为空字符串",
      +          "type": "string"
      +        },
      +        "static_url": {
      +          "description": "表情或动图的静态预览图链接;不可用时为空字符串",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "static_url",
      +        "animated_url"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "评论表情或动图资源;无表情或动图时为 null"
      +}
    • removedOutput schema / properties / items / items / properties / video_urls
      Removed value: -{
      -  "description": "评论视频链接列表;无视频时为空数组",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • changedOutput schema / properties / items / items / required
      Previous value: -[
      -  "comment_id",
      -  "aweme_id",
      -  "content",
      -  "content_type",
      -  "create_time",
      -  "like_count",
      -  "reply_count",
      -  "ip_location",
      -  "image_urls",
      -  "video_urls",
      -  "is_hot",
      -  "is_folded",
      -  "author"
      -]New value: +[
      +  "comment_id",
      +  "aweme_id",
      +  "content",
      +  "content_type",
      +  "create_time",
      +  "like_count",
      +  "reply_count",
      +  "ip_location",
      +  "image_urls",
      +  "sticker",
      +  "is_hot",
      +  "is_folded",
      +  "author"
      +]
  6. Changed13 schema fields changed
    • changedOutput schema / properties / items / items / properties / author / properties / avatar_url / description
      Previous value: -"用户头像链接;当前不可用时为 null"New value: +"评论作者头像链接;当前不可用时为 null"
    • removedOutput schema / properties / items / items / properties / author / properties / bio
      Removed value: -{
      -  "description": "用户简介;当前不可用时为空字符串",
      -  "type": "string"
      -}
    • changedOutput schema / properties / items / items / properties / author / properties / douyin_id / description
      Previous value: -"用户主页展示的抖音号;当前不可用时为空字符串"New value: +"评论作者主页展示的抖音号;当前不可用时为空字符串"
    • removedOutput schema / properties / items / items / properties / author / properties / follower_count
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "integer"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "粉丝数;当前不可用时为 null"
      -}
    • removedOutput schema / properties / items / items / properties / author / properties / following_count
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "integer"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "关注数;当前不可用时为 null"
      -}
    • changedOutput schema / properties / items / items / properties / author / properties / name / description
      Previous value: -"用户昵称"New value: +"评论作者昵称"
    • changedOutput schema / properties / items / items / properties / author / properties / profile_url / description
      Previous value: -"用户主页链接;当前不可用时为 null"New value: +"评论作者主页链接;当前不可用时为 null"
    • removedOutput schema / properties / items / items / properties / author / properties / received_like_count
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "integer"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "用户内容累计收到的点赞数;当前不可用时为 null"
      -}
    • changedOutput schema / properties / items / items / properties / author / properties / sec_user_id / description
      Previous value: -"用户 sec_user_id;用户主页和作品工具可直接复用"New value: +"评论作者 sec_user_id;用户主页工具可直接复用"
    • changedOutput schema / properties / items / items / properties / author / properties / user_id / description
      Previous value: -"用户 user_id;当前不可用时为空字符串"New value: +"评论作者 user_id;当前不可用时为空字符串"
    • changedOutput schema / properties / items / items / properties / author / properties / verification_label / description
      Previous value: -"用户认证文案;当前不可用时为空字符串"New value: +"评论作者认证文案;当前不可用时为空字符串"
    • changedOutput schema / properties / items / items / properties / author / properties / verified / description
      Previous value: -"用户是否为认证账号"New value: +"评论作者是否为认证账号"
    • changedOutput schema / properties / items / items / properties / author / required
      Previous value: -[
      -  "user_id",
      -  "sec_user_id",
      -  "name",
      -  "avatar_url",
      -  "profile_url",
      -  "bio",
      -  "verification_label",
      -  "verified",
      -  "follower_count",
      -  "following_count",
      -  "received_like_count",
      -  "douyin_id"
      -]New value: +[
      +  "user_id",
      +  "sec_user_id",
      +  "douyin_id",
      +  "name",
      +  "avatar_url",
      +  "profile_url",
      +  "verification_label",
      +  "verified"
      +]
  7. Changed4 schema fields changed
    • changedInput schema / properties / page_token / description
      Previous value: -"分页令牌。首次请求留空;继续翻页时原样传入上一次返回的 next_page_token;只能用于同一作品评论分页链路的下一页,不能跨工具或作品复用"New value: +"分页令牌。首次请求留空;继续翻页时原样传入上一次返回的 next_page_token;只能用于同一作品评论分页链路的下一页,不能跨能力或作品复用"
    • removedOutput schema / properties / items / items / properties / ip_label
      Removed value: -{
      -  "description": "评论 IP 属地;当前不可用时为空字符串",
      -  "type": "string"
      -}
    • addedOutput schema / properties / items / items / properties / ip_location
      Added value: +{
      +  "description": "评论 IP 属地;当前不可用时为空字符串",
      +  "type": "string"
      +}
    • changedOutput schema / properties / items / items / required
      Previous value: -[
      -  "comment_id",
      -  "aweme_id",
      -  "content",
      -  "content_type",
      -  "create_time",
      -  "like_count",
      -  "reply_count",
      -  "ip_label",
      -  "image_urls",
      -  "video_urls",
      -  "is_hot",
      -  "is_folded",
      -  "author"
      -]New value: +[
      +  "comment_id",
      +  "aweme_id",
      +  "content",
      +  "content_type",
      +  "create_time",
      +  "like_count",
      +  "reply_count",
      +  "ip_location",
      +  "image_urls",
      +  "video_urls",
      +  "is_hot",
      +  "is_folded",
      +  "author"
      +]
  8. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint and openWorldHint, so no mutation risk needs explanation. The description adds value by clarifying that only first-level comments are returned and that page_token pagination is supported, which are behavioral traits not captured by the annotations.

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

Conciseness5/5

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

The description is a single front-loaded sentence that communicates the core purpose and pagination capability with no filler. Every word is informative, and detailed parameter nuances are appropriately left to the schema.

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?

For a two-parameter read-only tool with an output schema present, the description plus detailed schema fully covers what an agent needs: accepted URL forms, pagination semantics, and the top-level comment scope. Return-value details are already handled by the output schema.

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 fully documents both parameters. The description's reference to supported link formats and pagination aligns with the schema but does not add substantial meaning beyond it, matching the baseline of 3.

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?

The description states a specific verb ('获取'/'get'), resource ('一级评论列表'/'first-level comment list'), and input method (video URL/short link/share text). It distinguishes from sibling tools by making the top-level scope explicit and by noting the URL-based entry point, which contrasts with the aweme_id-based sibling.

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

Usage Guidelines5/5

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

The description and url schema condition together give explicit usage guidance: accept video page URLs, short links, or share text; explicitly exclude video.play_url playback URLs and user profile links; and recommend the aweme_id entry when the ID is known. This clearly routes the agent to the correct input mode and sibling tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources