Skip to main content
Glama

SocialDataX 小红书 Xiaohongshu XHS RedNote MCP

xhs_search_notes

Read-only

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

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "keyword": "<keyword>"
    },
    "name": "xhs_search_notes"
  }
}

Input 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

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. 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. Changed25 schema fields changed
    • addedOutput schema / properties / items / items / properties / author / properties / avatar_url / title
      Added value: +"Avatar Url"
    • 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 / red_id / title
      Added value: +"Red Id"
    • addedOutput schema / properties / items / items / properties / author / properties / user_id / title
      Added value: +"User Id"
    • addedOutput schema / properties / items / items / properties / author / title
      Added value: +"AuthorSummary"
    • addedOutput schema / properties / items / items / properties / collect_count / title
      Added value: +"Collect Count"
    • addedOutput schema / properties / items / items / properties / comment_count / title
      Added value: +"Comment Count"
    • addedOutput schema / properties / items / items / properties / cover_image_url / title
      Added value: +"Cover Image Url"
    • addedOutput schema / properties / items / items / properties / is_ad / title
      Added value: +"Is Ad"
    • addedOutput schema / properties / items / items / properties / is_cooperation_note / title
      Added value: +"Is Cooperation Note"
    • addedOutput schema / properties / items / items / properties / like_count / title
      Added value: +"Like Count"
    • addedOutput schema / properties / items / items / properties / note_id / title
      Added value: +"Note Id"
    • addedOutput schema / properties / items / items / properties / note_type / title
      Added value: +"Note Type"
    • addedOutput schema / properties / items / items / properties / note_url / title
      Added value: +"Note Url"
    • addedOutput schema / properties / items / items / properties / publish_time / title
      Added value: +"Publish Time"
    • addedOutput schema / properties / items / items / properties / share_count / title
      Added value: +"Share Count"
    • addedOutput schema / properties / items / items / properties / summary / title
      Added value: +"Summary"
    • addedOutput schema / properties / items / items / properties / title / title
      Added value: +"Title"
    • addedOutput schema / properties / items / items / properties / update_time / title
      Added value: +"Update Time"
    • changedOutput schema / properties / items / items / properties / video / anyOf
      Previous 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"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "duration_ms": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "视频原始时长,单位毫秒;没有时长时为 null",
      +        "title": "Duration Ms"
      +      },
      +      "height": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "视频高度,像素;没有时为 null",
      +        "title": "Height"
      +      },
      +      "video_url": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "视频链接;没有视频链接时为 null",
      +        "title": "Video Url"
      +      },
      +      "width": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "视频宽度,像素;没有时为 null",
      +        "title": "Width"
      +      }
      +    },
      +    "required": [
      +      "video_url",
      +      "duration_ms",
      +      "width",
      +      "height"
      +    ],
      +    "title": "SearchNoteVideo",
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / items / items / title
      Added value: +"SearchNoteItem"
    • 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: +"SearchNotesResult"
  4. Changed4 schema fields changed
    • removedOutput schema / properties / items / items / properties / is_cooperation_note / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • changedOutput schema / properties / items / items / properties / is_cooperation_note / default
      Previous value: -nullNew value: +false
    • changedOutput schema / properties / items / items / properties / is_cooperation_note / description
      Previous value: -"是否观察到商业合作标记;true 表示有标记,null 表示未知,不能据此判定非商业合作;不代表当前正在投放广告"New value: +"是否带有商业合作笔记标记"
    • addedOutput schema / properties / items / items / properties / is_cooperation_note / type
      Added value: +"boolean"
  5. Changed3 schema fields changed
    • changedOutput schema / properties / items / description
      Previous value: -"笔记搜索结果中的笔记列表,已过滤非笔记卡片与不可公开笔记;当前页过滤后可能为空数组"New value: +"笔记搜索结果中的笔记列表,包含可识别的广告笔记,已过滤非笔记卡片与不可公开笔记;当前页过滤后可能为空数组"
    • addedOutput schema / properties / items / items / properties / is_ad
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "是否为广告"
      +}
    • addedOutput schema / properties / items / items / properties / is_cooperation_note
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "是否观察到商业合作标记;true 表示有标记,null 表示未知,不能据此判定非商业合作;不代表当前正在投放广告"
      +}
  6. 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 为空时不要单独据此判断结束。"
  7. 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"
      +  }
      +]
  8. 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 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"
  9. 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 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的笔记搜索链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成。"
  10. 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"
      +]
  11. Changed1 schema field changed
    • changedInput schema / properties / keyword / description
      Previous value: -"小红书搜索关键词"New value: +"小红书 / Xiaohongshu / XHS / RedNote 笔记搜索自然语言关键词;keyword 只传品牌名、话题、产品、内容需求或研究主题;不要传笔记链接、主页链接、note_id、user_id 或 page_token 作为 keyword。"
  12. 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 为空时不要单独据此判断结束。"
  13. 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;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"
  14. 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"
      +  }
      +]
  15. 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"
      +]
  16. 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"
      +]
  17. 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 重新拼接链接。"
  18. 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 重新拼接链接。"
  19. Changed1 schema field changed
    • changedOutput schema / properties / items / items / properties / note_id / description
      Previous value: -"笔记 ID"New value: +"稳定笔记 ID"
  20. 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"
      +]
  21. 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"
      +}
  22. 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"
      +  }
      +]
  23. 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"
      +]
  24. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare readOnly and openWorld; the description adds real behavioral constraints: pagination must echo the complete next_page_token verbatim, returned note_url must be preserved with xsec_token query params, and the tool deliberately rejects max_items. These are the kind of latent failure modes an agent would otherwise get wrong.

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 purpose, then alternatives, then pitfalls; every sentence is actionable. The pagination/URL-preservation warnings are stated at length and partially duplicate the page_token schema description, which costs some tightness.

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?

An output schema exists, so return values need not be explained, and the description still covers the highest-risk output handling (note_url preservation). For a 5-parameter read-only search with full schema coverage, nothing an agent needs in order to call it correctly is missing.

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 coverage is 100%, so baseline would be 3, but the description adds value the schema cannot: it corrects the parameter name (publish_time_range, not publish_time), warns that max_items is not accepted, and reinforces the token-passing contract. It does not cover sort_type beyond what the enum already documents.

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 ('search Xiaohongshu notes') plus the covered scope (regular, image, video notes), and explicitly names siblings it is not (xhs_search_images, detail tools, comment tools). An agent can distinguish it from every other search tool in the sibling list without opening a schema.

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?

Gives explicit routing rules: use xhs_search_images for a single image, detail tools when a note_url/note_id is already known, URL/ID tools for comments/replies/speech-to-text. It also states concrete when-to-use conditions for note_type values (image for 图文, video for 视频).

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