Skip to main content
Glama
DevinChen2014

SocialDataX 小红书 Xiaohongshu XHS RedNote MCP

xhs_get_note_detail_by_note_url

Read-only

Retrieve full details for a single Xiaohongshu note from its URL, short link, or share text, preserving the complete note_url and query parameters.

Instructions

根据笔记链接、短链接或分享文案获取单篇小红书笔记详情。 返回的 note_url 在任何使用场景都必须原样保留完整 URL,包括 xsec_token 等 query 参数;例如最终回答、展示、引用、存储、输出或传递;不得用 note_id 重新拼接链接;note_url 为 null 时不要用 note_id 合成公开链接。

Input Schema

NameRequiredDescriptionDefault
note_urlYes小红书笔记链接、短链接或分享文案。支持以下形式:1) 小红书笔记长链接;2) xhslink.com / xhslink.cn / xhsurl.com / xhsurl.cn 短链接;3) 包含上述任一链接的完整分享文案。

Output Schema

NameRequiredDescriptionDefault
titleYes笔记标题
videoYes视频摘要信息;无可用视频摘要时为 null
authorYes作者信息;详情页不返回小红书号
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
contentYes笔记正文
note_idYesnote_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。
note_urlYesnote_url 是可打开笔记内容所需的完整 URL。任何使用该返回链接的场景都必须原样保留完整 URL,包括 xsec_token 等 query 参数;例如最终回答、展示、引用、存储、输出或传递;不得修改、截断、脱敏、规范化、重组,也不得用 note_id 重新拼接链接。无法提供可用链接时为 null;note_url 为 null 时不要用 note_id 合成公开链接。
note_typeYes笔记类型;当前公开值固定为 image 或 video
like_countYes点赞数
topic_tagsYes笔记详情中的话题标签;无话题时为空数组
image_itemsYes图片结构化明细;每项都表示一张图片,Live 图会在对应项携带 live_photo 摘要
ip_locationYes笔记发布时的 IP 属地;没有 IP 属地时为空字符串
share_countYes分享数
update_timeYes更新时间,秒级 Unix 时间戳;没有有效更新时间时为 null
publish_timeYes发布时间,秒级 Unix 时间戳
collect_countYes收藏数
comment_countYes评论数
cover_image_urlYes统一封面图
mentioned_usersYes笔记正文中 @ 到的用户列表;无 @ 时为空数组

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv0.1.6
    • addedOutput schema / properties / image_items / items / properties / height
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "图片高度,像素;没有时为 null"
      +}
    • changedOutput schema / properties / image_items / items / properties / live_photo / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "duration_ms": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Live 图时长,单位毫秒;没有时长时为 null"
      -      },
      -      "video_url": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Live 图视频链接;没有视频链接时为 null"
      -      }
      -    },
      -    "required": [
      -      "video_url",
      -      "duration_ms"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "duration_ms": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Live 图时长,单位毫秒;没有时长时为 null"
      +      },
      +      "height": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Live 图视频高度,像素;没有时为 null"
      +      },
      +      "video_url": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Live 图视频链接;没有视频链接时为 null"
      +      },
      +      "width": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Live 图视频宽度,像素;没有时为 null"
      +      }
      +    },
      +    "required": [
      +      "video_url",
      +      "duration_ms",
      +      "width",
      +      "height"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / image_items / items / properties / width
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "图片宽度,像素;没有时为 null"
      +}
    • changedOutput schema / properties / image_items / items / required
      Previous value: -[
      -  "image_url",
      -  "live_photo"
      -]New value: +[
      +  "image_url",
      +  "width",
      +  "height",
      +  "live_photo"
      +]
    • changedOutput schema / properties / note_id / description
      Previous value: -"note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"New value: +"note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"
    • 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 / properties / video / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "duration_ms": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "视频时长,单位毫秒;没有时长时为 null"
      -      },
      -      "video_url": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "视频链接;没有视频链接时为 null"
      -      }
      -    },
      -    "required": [
      -      "video_url",
      -      "duration_ms"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "duration_ms": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "视频时长,单位毫秒;没有时长时为 null"
      +      },
      +      "height": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "视频高度,像素;没有时为 null"
      +      },
      +      "video_url": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "视频链接;没有视频链接时为 null"
      +      },
      +      "width": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "视频宽度,像素;没有时为 null"
      +      }
      +    },
      +    "required": [
      +      "video_url",
      +      "duration_ms",
      +      "width",
      +      "height"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / required
      Previous value: -[
      -  "note_id",
      -  "note_url",
      -  "note_type",
      -  "title",
      -  "content",
      -  "cover_image_url",
      -  "image_items",
      -  "video",
      -  "like_count",
      -  "collect_count",
      -  "comment_count",
      -  "share_count",
      -  "publish_time",
      -  "update_time",
      -  "ip_location",
      -  "topic_tags",
      -  "mentioned_users",
      -  "author"
      -]New value: +[
      +  "note_id",
      +  "note_url",
      +  "note_type",
      +  "title",
      +  "content",
      +  "cover_image_url",
      +  "image_items",
      +  "video",
      +  "like_count",
      +  "collect_count",
      +  "comment_count",
      +  "share_count",
      +  "publish_time",
      +  "update_time",
      +  "ip_location",
      +  "topic_tags",
      +  "mentioned_users",
      +  "author",
      +  "points"
      +]
  2. First observedv0.1.5

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnlyHint/openWorldHint annotations, the description adds an important behavioral constraint: the returned note_url must be preserved exactly, including xsec_token, and must not be reconstructed from note_id. It also warns against synthesizing a public link when note_url is null, which is valuable execution-relevant information.

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?

Two sentences: the first states the purpose and accepted inputs, the second front-loads the critical URL-preservation constraint. No filler or repetition.

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?

With a single required parameter, full schema coverage, readOnly/openWorld annotations, and an output schema present, the description supplies the remaining necessary operational rule (preserve note_url as-is). No critical selection or invocation information is missing.

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?

The schema already provides 100% coverage of note_url's accepted forms. The description mostly restates those forms and adds a downstream URL-preservation rule rather than new input semantics, so it does not exceed the schema-documented baseline.

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 uses a specific verb ('获取') and resource ('单篇小红书笔记详情') with the input carrier (note_url) defined as link/short link/share text. This clearly distinguishes the URL-based detail retrieval from the sibling xhs_get_note_detail_by_note_id.

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 clearly states the intended input forms (long link, short links, share text), so an agent knows what to pass. It does not explicitly name the note_id-based alternative or state when not to use it, but the context is clear enough that only URL/ID routing remains implicit.

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