Skip to main content
Glama

SocialDataX 抖音 Douyin MCP

douyin_get_video_comments_by_url

Read-only

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

Input Schema

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

Output 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 / points / description
      Previous value: -"本次成功调用的积分消耗与调用完成时的账户积分余额。"New value: +"本次成功调用的积分消耗与账户积分余额。"
    • changedOutput schema / properties / points / properties / balance / description
      Previous value: -"本次接口完成时看到的当前积分余额,可为负数。"New value: +"优先返回调用完成时查询到的账户积分余额。查询失败时,回退到本次预扣后的余额快照。余额可为负数。"
  2. Changed2 schema fields changed
    • changedOutput schema / properties / points / properties / balance / description
      Previous value: -"本次接口完成时看到的当前积分余额。"New value: +"本次接口完成时看到的当前积分余额,可为负数。"
    • removedOutput schema / properties / points / properties / balance / minimum
      Removed value: -0
  3. Changed33 schema fields changed
    • addedOutput schema / properties / comment_count / title
      Added value: +"Comment Count"
    • addedOutput schema / properties / items / items / properties / author / properties / avatar_url / title
      Added value: +"Avatar Url"
    • addedOutput schema / properties / items / items / properties / author / properties / douyin_id / title
      Added value: +"Douyin Id"
    • addedOutput schema / properties / items / items / properties / author / properties / name / title
      Added value: +"Name"
    • addedOutput schema / properties / items / items / properties / author / properties / profile_url / title
      Added value: +"Profile Url"
    • addedOutput schema / properties / items / items / properties / author / properties / sec_user_id / title
      Added value: +"Sec User Id"
    • addedOutput schema / properties / items / items / properties / author / properties / user_id / title
      Added value: +"User Id"
    • addedOutput schema / properties / items / items / properties / author / properties / verification_label / title
      Added value: +"Verification Label"
    • addedOutput schema / properties / items / items / properties / author / properties / verified / title
      Added value: +"Verified"
    • addedOutput schema / properties / items / items / properties / author / title
      Added value: +"DouyinCommentAuthorData"
    • addedOutput schema / properties / items / items / properties / aweme_id / title
      Added value: +"Aweme Id"
    • addedOutput schema / properties / items / items / properties / comment_id / title
      Added value: +"Comment Id"
    • addedOutput schema / properties / items / items / properties / content / title
      Added value: +"Content"
    • addedOutput schema / properties / items / items / properties / content_type / title
      Added value: +"Content Type"
    • addedOutput schema / properties / items / items / properties / create_time / title
      Added value: +"Create Time"
    • addedOutput schema / properties / items / items / properties / image_urls / title
      Added value: +"Image Urls"
    • addedOutput schema / properties / items / items / properties / ip_location / title
      Added value: +"Ip Location"
    • addedOutput schema / properties / items / items / properties / is_folded / title
      Added value: +"Is Folded"
    • addedOutput schema / properties / items / items / properties / is_hot / title
      Added value: +"Is Hot"
    • addedOutput schema / properties / items / items / properties / like_count / title
      Added value: +"Like Count"
    • addedOutput schema / properties / items / items / properties / mentioned_users / items / properties / end / title
      Added value: +"End"
    • addedOutput schema / properties / items / items / properties / mentioned_users / items / properties / name / title
      Added value: +"Name"
    • addedOutput schema / properties / items / items / properties / mentioned_users / items / properties / sec_user_id / title
      Added value: +"Sec User Id"
    • addedOutput schema / properties / items / items / properties / mentioned_users / items / properties / start / title
      Added value: +"Start"
    • addedOutput schema / properties / items / items / properties / mentioned_users / items / properties / user_id / title
      Added value: +"User Id"
    • addedOutput schema / properties / items / items / properties / mentioned_users / items / title
      Added value: +"DouyinMentionedUserData"
    • addedOutput schema / properties / items / items / properties / mentioned_users / title
      Added value: +"Mentioned Users"
    • addedOutput schema / properties / items / items / properties / reply_count / title
      Added value: +"Reply Count"
    • changedOutput schema / properties / items / items / properties / sticker / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "animated_url": {
      -        "description": "表情或动图的动态资源链接;不可用时为空字符串",
      -        "type": "string"
      -      },
      -      "static_url": {
      -        "description": "表情或动图的静态预览图链接;不可用时为空字符串",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "static_url",
      -      "animated_url"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "animated_url": {
      +        "description": "表情或动图的动态资源链接;不可用时为空字符串",
      +        "title": "Animated Url",
      +        "type": "string"
      +      },
      +      "static_url": {
      +        "description": "表情或动图的静态预览图链接;不可用时为空字符串",
      +        "title": "Static Url",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "static_url",
      +      "animated_url"
      +    ],
      +    "title": "DouyinCommentStickerData",
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / items / items / title
      Added value: +"DouyinCommentItem"
    • addedOutput schema / properties / items / title
      Added value: +"Items"
    • addedOutput schema / properties / next_page_token / title
      Added value: +"Next Page Token"
    • addedOutput schema / title
      Added value: +"DouyinVideoCommentsResult"
  4. 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;当前不可用时为空字符串"
  5. Changed1 schema field changed
    • changedOutput schema / properties / items / items / properties / comment_id / description
      Previous value: -"评论 ID"New value: +"当前一级评论 ID"
  6. 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"
      +]
  7. 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 只能用于同一能力和同一分页链路,不能跨能力、作品、用户、评论、关键词或筛选条件复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"
  8. 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"
      +]
  9. 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"
      +]
  10. 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"
      +]
  11. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds genuinely useful behavior beyond that: results are restricted to first-level comments only (not replies) and paging is driven by page_token. It stops short of saying what a terminal/empty page looks like, but the schema's page_token text fills much of that.

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?

A single tight sentence that front-loads the action and resource, then lists input forms and pagination support. No filler and nothing redundant.

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?

An output schema exists, so return values need no explanation, and the two parameters are fully documented. What is missing is only the sibling routing (URL vs aweme_id entry) and pagination termination behavior, both minor for a simple read tool.

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 parameter descriptions are extremely detailed (opaque token semantics, no modification/truncation, no cross-video reuse). The description only restates the accepted URL forms and that pagination exists, adding little 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?

States a specific verb+resource: fetch the top-level comment list ('一级评论列表') of a Douyin video, and enumerates the accepted input forms (page URL, short link, share text). The scope word '一级' distinguishes it from the sibling replies tool, but the description never names or contrasts douyin_get_video_comments_by_aweme_id, leaving the URL-vs-ID choice implicit.

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

Usage Guidelines3/5

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

Usage context is implied by the accepted input forms, but there is no explicit when-to-use / when-not-to-use statement and no routing to the aweme_id sibling. The valuable guidance ('已知 aweme_id 时优先使用 ID 入口', don't pass play URLs or profile links) lives in the schema parameter description, not the tool description.

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