Skip to main content
Glama

SocialDataX 小红书 Xiaohongshu XHS RedNote MCP

xhs_search_notes

Read-only

搜索小红书 / Xiaohongshu / XHS / RedNote 相关笔记。用户需要按搜索词查找笔记时使用;查找图文笔记可设 note_type="image",查找单张图片用 xhs_search_images;视频默认搜索用 xhs_search_videos,需要排序或发布时间筛选时用本工具并设 note_type="video";已有笔记链接或 note_id 且需要单篇笔记详情时使用对应的详情工具;需要评论、回复或口播转文字时使用相应的 URL/ID 工具;支持 page_token 翻页。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回,不得截断、缩写、掩码或用省略号替换中间内容。 返回的 note_url 在任何使用场景都必须原样保留完整 URL,包括 xsec_token 等 query 参数;例如最终回答、展示、引用、存储、输出或传递;不得用 note_id 重新拼接链接。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keywordYes搜索词,可传关键词或短语,例如品牌名、话题、人物名、产品名或内容需求;不要传笔记链接、主页链接、note_id、user_id 或 page_token。
note_typeNo笔记类型筛选,可选:all(不限,默认)、image(图文)、video(视频)all
sort_typeNo笔记搜索结果排序方式,可选:general(综合,默认)、time_descending(最新发布优先)、like_count_descending(最多点赞优先)、comment_count_descending(最多评论优先)、collect_count_descending(最多收藏优先)general
page_tokenNo笔记搜索分页令牌。首次请求留空;继续翻页时传入上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的笔记搜索链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成。
publish_time_rangeNo发布时间范围筛选,可选:all(不限,默认)、day(一天内)、week(一周内)、half_year(半年内)all

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYes笔记搜索结果中的笔记列表,已过滤非笔记卡片与不可公开笔记;当前页过滤后可能为空数组
pointsYes本次成功调用的积分消耗与调用完成时的账户积分余额。
next_page_tokenYes下一页不透明分页令牌;为空表示没有更多结果或无法继续 token 翻页。继续笔记搜索时必须将完整 next_page_token 原样作为 page_token 传回。next_page_token 仅限同一工具、关键词和调用方;保持该工具支持的筛选条件不变,不得跨搜索工具复用。items 为空时不要单独据此判断结束。

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedOutput schema / properties / items / items / properties / publish_time / description
      Previous value: -"发布时间,秒级 Unix 时间戳"New value: +"发布时间,秒级 Unix 时间戳;0 表示未知,不应解释为实际发布日期"
    • changedOutput schema / properties / items / items / properties / video / description
      Previous value: -"视频摘要信息;仅视频笔记返回对象,图文为 null"New value: +"视频摘要信息;视频笔记也可能为 null,表示未提供视频信息,不代表不是视频;图文为 null"
    • changedOutput schema / properties / next_page_token / description
      Previous value: -"下一页不透明分页令牌;为空表示没有更多结果或无法继续 token 翻页。继续笔记搜索时必须将完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的笔记搜索链路。items 为空时不要单独据此判断结束。"New value: +"下一页不透明分页令牌;为空表示没有更多结果或无法继续 token 翻页。继续笔记搜索时必须将完整 next_page_token 原样作为 page_token 传回。next_page_token 仅限同一工具、关键词和调用方;保持该工具支持的筛选条件不变,不得跨搜索工具复用。items 为空时不要单独据此判断结束。"
  2. Changed1 schema field changed
    • changedOutput schema / properties / items / items / 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"
      +  }
      +]
  3. Changed1 schema field changed
    • changedOutput schema / properties / items / items / properties / note_id / description
      Previous value: -"note_id 是小红书笔记 ID。必须原样复制笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"New value: +"note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"
  4. Changed2 schema fields changed
    • changedInput schema / properties / keyword / description
      Previous value: -"小红书 / Xiaohongshu / XHS / RedNote 笔记搜索自然语言关键词;keyword 只传品牌名、话题、产品、内容需求或研究主题;不要传笔记链接、主页链接、note_id、user_id 或 page_token 作为 keyword。"New value: +"搜索词,可传关键词或短语,例如品牌名、话题、人物名、产品名或内容需求;不要传笔记链接、主页链接、note_id、user_id 或 page_token。"
    • changedInput schema / properties / page_token / description
      Previous value: -"笔记搜索分页令牌。首次请求留空;继续翻页时传入上一页返回的 完整 next_page_token 原样作为 page_token 传回。page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的笔记搜索链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成。"New value: +"笔记搜索分页令牌。首次请求留空;继续翻页时传入上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的笔记搜索链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成。"
  5. 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"
      -]New value: +[
      +  "items",
      +  "next_page_token",
      +  "points"
      +]
  6. Changed1 schema field changed
    • changedInput schema / properties / keyword / description
      Previous value: -"小红书搜索关键词"New value: +"小红书 / Xiaohongshu / XHS / RedNote 笔记搜索自然语言关键词;keyword 只传品牌名、话题、产品、内容需求或研究主题;不要传笔记链接、主页链接、note_id、user_id 或 page_token 作为 keyword。"
  7. Changed5 schema fields changed
    • changedInput schema / properties / page_token / description
      Previous value: -"搜索分页令牌。首次请求留空;继续翻页时传入上一页返回的 完整 next_page_token 原样作为 page_token 传回。page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的搜索链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成。"New value: +"笔记搜索分页令牌。首次请求留空;继续翻页时传入上一页返回的 完整 next_page_token 原样作为 page_token 传回。page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的笔记搜索链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成。"
    • changedInput schema / properties / sort_type / description
      Previous value: -"搜索结果排序方式,可选:general(综合,默认)、time_descending(最新发布优先)、like_count_descending(最多点赞优先)、comment_count_descending(最多评论优先)、collect_count_descending(最多收藏优先)"New value: +"笔记搜索结果排序方式,可选:general(综合,默认)、time_descending(最新发布优先)、like_count_descending(最多点赞优先)、comment_count_descending(最多评论优先)、collect_count_descending(最多收藏优先)"
    • changedOutput schema / properties / items / description
      Previous value: -"搜索结果中的笔记列表,已过滤非笔记卡片与不可公开笔记;当前页过滤后可能为空数组"New value: +"笔记搜索结果中的笔记列表,已过滤非笔记卡片与不可公开笔记;当前页过滤后可能为空数组"
    • changedOutput schema / properties / items / items / properties / note_id / description
      Previous value: -"note_id 是小红书笔记 ID。必须原样复制搜索、详情、评论、标签页笔记列表或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"New value: +"note_id 是小红书笔记 ID。必须原样复制笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"
    • changedOutput schema / properties / next_page_token / description
      Previous value: -"下一页不透明分页令牌;为空表示没有更多结果或无法继续 token 翻页。继续搜索时必须将完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的搜索链路。items 为空时不要单独据此判断结束。"New value: +"下一页不透明分页令牌;为空表示没有更多结果或无法继续 token 翻页。继续笔记搜索时必须将完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的笔记搜索链路。items 为空时不要单独据此判断结束。"
  8. Changed1 schema field changed
    • changedOutput schema / properties / items / items / properties / note_id / description
      Previous value: -"note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论、标签页笔记或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"New value: +"note_id 是小红书笔记 ID。必须原样复制搜索、详情、评论、标签页笔记列表或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"
  9. Changed2 schema fields changed
    • changedOutput schema / properties / items / items / properties / note_id / description
      Previous value: -"note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"New value: +"note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论、标签页笔记或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"
    • changedOutput schema / properties / items / items / properties / video / anyOf
      Previous value: -[
      -  {
      -    "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"
      +      },
      +      "video_url": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "视频链接;没有视频链接时为 null"
      +      }
      +    },
      +    "required": [
      +      "video_url",
      +      "duration_ms"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  10. Changed5 schema fields changed
    • removedInput schema / properties / page
      Removed value: -{
      -  "default": 1,
      -  "description": "兼容旧客户端保留的分页参数;新调用请使用 page_token。",
      -  "minimum": 1,
      -  "type": "integer"
      -}
    • changedInput schema / properties / page_token / description
      Previous value: -"搜索分页令牌。首次请求留空;继续翻页时传入上一页返回的 next_page_token。传入 page_token 时会忽略 page;page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的搜索链路。"New value: +"搜索分页令牌。首次请求留空;继续翻页时传入上一页返回的 完整 next_page_token 原样作为 page_token 传回。page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的搜索链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成。"
    • removedOutput schema / properties / next_page
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "integer"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "兼容返回字段;新调用请优先使用 next_page_token 判断是否继续。items 为空时不要单独据此判断结束"
      -}
    • changedOutput schema / properties / next_page_token / description
      Previous value: -"下一页不透明分页令牌;为空表示没有更多结果或无法继续 token 翻页。新调用优先使用 next_page_token。继续搜索时必须将完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的搜索链路。"New value: +"下一页不透明分页令牌;为空表示没有更多结果或无法继续 token 翻页。继续搜索时必须将完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的搜索链路。items 为空时不要单独据此判断结束。"
    • changedOutput schema / required
      Previous value: -[
      -  "items",
      -  "next_page",
      -  "next_page_token"
      -]New value: +[
      +  "items",
      +  "next_page_token"
      +]
  11. Changed5 schema fields changed
    • changedInput schema / properties / page / description
      Previous value: -"搜索结果页码,从 1 开始;继续获取更多结果时使用相同 keyword、sort_type、note_type 和 publish_time_range,并将 page 设为上一次返回的 next_page;items 为空且 next_page 为 null 表示没有下一页"New value: +"兼容旧客户端保留的分页参数;新调用请使用 page_token。"
    • addedInput schema / properties / page_token
      Added value: +{
      +  "default": "",
      +  "description": "搜索分页令牌。首次请求留空;继续翻页时传入上一页返回的 next_page_token。传入 page_token 时会忽略 page;page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的搜索链路。",
      +  "type": "string"
      +}
    • changedOutput schema / properties / next_page / description
      Previous value: -"下一次可尝试请求的搜索页码;仅当 next_page 为 null 时表示没有下一页;非空时表示继续搜索应传入的 page,items 为空时不要单独据此判断结束"New value: +"兼容返回字段;新调用请优先使用 next_page_token 判断是否继续。items 为空时不要单独据此判断结束"
    • addedOutput schema / properties / next_page_token
      Added value: +{
      +  "description": "下一页不透明分页令牌;为空表示没有更多结果或无法继续 token 翻页。新调用优先使用 next_page_token。继续搜索时必须将完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的搜索链路。",
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "items",
      -  "next_page"
      -]New value: +[
      +  "items",
      +  "next_page",
      +  "next_page_token"
      +]
  12. Changed1 schema field changed
    • changedOutput schema / properties / items / items / properties / note_url / description
      Previous value: -"note_url 是可打开笔记内容所需的完整 URL。任何场景下都必须原样保留返回的完整 URL 字符串,包括 xsec_token 等 query 参数;不得修改、截断、脱敏、规范化、重组,也不得用 note_id 重新拼接链接。"New value: +"note_url 是可打开笔记内容所需的完整 URL。任何使用该返回链接的场景都必须原样保留完整 URL,包括 xsec_token 等 query 参数;例如最终回答、展示、引用、存储、输出或传递;不得修改、截断、脱敏、规范化、重组,也不得用 note_id 重新拼接链接。"
  13. Changed2 schema fields changed
    • changedOutput schema / properties / items / items / properties / note_id / description
      Previous value: -"稳定笔记 ID"New value: +"note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"
    • changedOutput schema / properties / items / items / properties / note_url / description
      Previous value: -"笔记链接"New value: +"note_url 是可打开笔记内容所需的完整 URL。任何场景下都必须原样保留返回的完整 URL 字符串,包括 xsec_token 等 query 参数;不得修改、截断、脱敏、规范化、重组,也不得用 note_id 重新拼接链接。"
  14. Changed1 schema field changed
    • changedOutput schema / properties / items / items / properties / note_id / description
      Previous value: -"笔记 ID"New value: +"稳定笔记 ID"
  15. Changed2 schema fields changed
    • changedInput schema / properties / sort_type / description
      Previous value: -"搜索结果排序方式,可选:general(综合,默认)、time_descending(最新)、popularity_descending(最多点赞)、comment_descending(最多评论)、collect_descending(最多收藏)"New value: +"搜索结果排序方式,可选:general(综合,默认)、time_descending(最新发布优先)、like_count_descending(最多点赞优先)、comment_count_descending(最多评论优先)、collect_count_descending(最多收藏优先)"
    • changedInput schema / properties / sort_type / enum
      Previous value: -[
      -  "general",
      -  "time_descending",
      -  "popularity_descending",
      -  "comment_descending",
      -  "collect_descending"
      -]New value: +[
      +  "general",
      +  "time_descending",
      +  "like_count_descending",
      +  "comment_count_descending",
      +  "collect_count_descending"
      +]
  16. Changed3 schema fields changed
    • addedInput schema / properties / note_type
      Added value: +{
      +  "default": "all",
      +  "description": "笔记类型筛选,可选:all(不限,默认)、image(图文)、video(视频)",
      +  "enum": [
      +    "all",
      +    "image",
      +    "video"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / page / description
      Previous value: -"搜索结果页码,从 1 开始;继续获取更多结果时使用相同 keyword 和 sort_type,并将 page 设为上一次返回的 next_page;items 为空且 next_page 为 null 表示没有下一页"New value: +"搜索结果页码,从 1 开始;继续获取更多结果时使用相同 keyword、sort_type、note_type 和 publish_time_range,并将 page 设为上一次返回的 next_page;items 为空且 next_page 为 null 表示没有下一页"
    • addedInput schema / properties / publish_time_range
      Added value: +{
      +  "default": "all",
      +  "description": "发布时间范围筛选,可选:all(不限,默认)、day(一天内)、week(一周内)、half_year(半年内)",
      +  "enum": [
      +    "all",
      +    "day",
      +    "week",
      +    "half_year"
      +  ],
      +  "type": "string"
      +}
  17. Changed8 schema fields changed
    • changedInput schema / properties / sort_type / description
      Previous value: -"搜索结果排序方式,可选:general(综合,默认)、time_descending(最新)、popularity_descending(热度)"New value: +"搜索结果排序方式,可选:general(综合,默认)、time_descending(最新)、popularity_descending(最多点赞)、comment_descending(最多评论)、collect_descending(最多收藏)"
    • changedInput schema / properties / sort_type / enum
      Previous value: -[
      -  "general",
      -  "time_descending",
      -  "popularity_descending"
      -]New value: +[
      +  "general",
      +  "time_descending",
      +  "popularity_descending",
      +  "comment_descending",
      +  "collect_descending"
      +]
    • changedOutput schema / properties / items / items / properties / author / properties / avatar_url / description
      Previous value: -"作者头像链接;当前不可用时为 null"New value: +"作者头像链接;没有头像链接时为 null"
    • changedOutput schema / properties / items / items / properties / author / properties / profile_url / description
      Previous value: -"作者主页链接;当前不可用时为 null"New value: +"作者主页链接;没有主页链接时为 null"
    • changedOutput schema / properties / items / items / properties / author / properties / red_id / description
      Previous value: -"作者公开小红书号;当前不可用时为空字符串"New value: +"作者公开小红书号;没有小红书号时为空字符串"
    • changedOutput schema / properties / items / items / properties / summary / description
      Previous value: -"笔记摘要;来源于上游 desc,不是全文"New value: +"笔记摘要;不是全文"
    • changedOutput schema / properties / items / items / properties / update_time / description
      Previous value: -"更新时间,秒级 Unix 时间戳;上游未提供时为 null"New value: +"更新时间,秒级 Unix 时间戳;没有有效更新时间时为 null"
    • changedOutput schema / properties / items / items / properties / video / anyOf
      Previous value: -[
      -  {
      -    "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: +[
      +  {
      +    "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"
      +  }
      +]
  18. Changed23 schema fields changed
    • changedInput schema / properties / page / description
      Previous value: -"搜索结果页码,从 1 开始"New value: +"搜索结果页码,从 1 开始;继续获取更多结果时使用相同 keyword 和 sort_type,并将 page 设为上一次返回的 next_page;items 为空且 next_page 为 null 表示没有下一页"
    • changedOutput schema / properties / items / description
      Previous value: -"搜索结果中的笔记列表,已过滤非笔记卡片"New value: +"搜索结果中的笔记列表,已过滤非笔记卡片与不可公开笔记;当前页过滤后可能为空数组"
    • removedOutput schema / properties / items / items / properties / author / properties / avatar
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "作者头像;当前不可用时为 null"
      -}
    • addedOutput schema / properties / items / items / properties / author / properties / avatar_url
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "作者头像链接;当前不可用时为 null"
      +}
    • removedOutput schema / properties / items / items / properties / author / properties / id
      Removed value: -{
      -  "description": "作者 ID",
      -  "type": "string"
      -}
    • addedOutput schema / properties / items / items / properties / author / properties / profile_url
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "作者主页链接;当前不可用时为 null"
      +}
    • addedOutput schema / properties / items / items / properties / author / properties / red_id
      Added value: +{
      +  "description": "作者公开小红书号;当前不可用时为空字符串",
      +  "type": "string"
      +}
    • addedOutput schema / properties / items / items / properties / author / properties / user_id
      Added value: +{
      +  "description": "作者 user_id",
      +  "type": "string"
      +}
    • changedOutput schema / properties / items / items / properties / author / required
      Previous value: -[
      -  "id",
      -  "name"
      -]New value: +[
      +  "user_id",
      +  "name",
      +  "avatar_url",
      +  "profile_url",
      +  "red_id"
      +]
    • removedOutput schema / properties / items / items / properties / content
      Removed value: -{
      -  "description": "笔记摘要",
      -  "type": "string"
      -}
    • addedOutput schema / properties / items / items / properties / cover_image_url
      Added value: +{
      +  "description": "统一封面图",
      +  "type": "string"
      +}
    • removedOutput schema / properties / items / items / properties / create_time
      Removed value: -{
      -  "description": "发布时间,秒级 Unix 时间戳",
      -  "type": "integer"
      -}
    • removedOutput schema / properties / items / items / properties / image
      Removed value: -{
      -  "description": "封面图",
      -  "type": "string"
      -}
    • removedOutput schema / properties / items / items / properties / images
      Removed value: -{
      -  "description": "图片列表",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedOutput schema / properties / items / items / properties / note_type
      Added value: +{
      +  "description": "笔记类型;当前公开值固定为 image 或 video",
      +  "enum": [
      +    "image",
      +    "video"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / items / items / properties / publish_time
      Added value: +{
      +  "description": "发布时间,秒级 Unix 时间戳",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / items / items / properties / summary
      Added value: +{
      +  "description": "笔记摘要;来源于上游 desc,不是全文",
      +  "type": "string"
      +}
    • addedOutput schema / properties / items / items / properties / update_time
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "更新时间,秒级 Unix 时间戳;上游未提供时为 null"
      +}
    • addedOutput schema / properties / items / items / properties / video
      Added value: +{
      +  "anyOf": [
      +    {
      +      "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"
      +    }
      +  ],
      +  "description": "视频摘要信息;仅视频笔记返回对象,图文为 null"
      +}
    • removedOutput schema / properties / items / items / properties / xsec_token
      Removed value: -{
      -  "description": "该笔记对应的 xsec_token",
      -  "type": "string"
      -}
    • changedOutput schema / properties / items / items / required
      Previous value: -[
      -  "note_url",
      -  "note_id",
      -  "title",
      -  "content",
      -  "image",
      -  "images",
      -  "like_count",
      -  "collect_count",
      -  "comment_count",
      -  "share_count",
      -  "create_time",
      -  "xsec_token",
      -  "author"
      -]New value: +[
      +  "note_url",
      +  "note_id",
      +  "note_type",
      +  "title",
      +  "summary",
      +  "cover_image_url",
      +  "like_count",
      +  "collect_count",
      +  "comment_count",
      +  "share_count",
      +  "publish_time",
      +  "update_time",
      +  "video",
      +  "author"
      +]
    • addedOutput schema / properties / next_page
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "下一次可尝试请求的搜索页码;仅当 next_page 为 null 时表示没有下一页;非空时表示继续搜索应传入的 page,items 为空时不要单独据此判断结束"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "items"
      -]New value: +[
      +  "items",
      +  "next_page"
      +]
  19. First observed

TDQS

A4.6/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 important operational behavior: pagination tokens must be passed back verbatim and note_url must be preserved with xsec_token, but it does not mention auth needs or rate limits.

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 description is front-loaded with purpose and routing, and its constraints earn their place. It is somewhat long and semicolon-heavy, with token-preservation rules repeated from the schema, but it remains information-dense rather than padded.

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?

Given the output schema exists and annotations cover read-only/open-world safety, the description is complete: it explains routing, pagination continuation rules, and URL preservation requirements needed to call the tool correctly.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description still adds semantic routing value for note_type and reinforces strict page_token/URL handling, though it does not go much beyond the schema’s own parameter descriptions.

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?

State a specific verb and resource: search Xiaohongshu/XHS/RedNote notes. It clearly distinguishes itself from sibling tools by naming xhs_search_images, xhs_search_videos, detail tools, and comment/speech tools.

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?

Explicitly routes the agent: use note_type=image for image-text notes, xhs_search_images for a single image, xhs_search_videos by default for videos, and this tool with note_type=video when sorting or publish-time filtering is needed. It also states when to use detail or URL/ID tools instead.

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