SocialDataX 小红书 Xiaohongshu XHS RedNote MCP
This server provides read-only Xiaohongshu / RedNote social media content intelligence through MCP tools.
Search notes by keyword with optional sort, note type, publish-time filters, and pagination
Search products by keyword and fetch product details, reviews, and review replies by sku_id
Fetch note details from a note URL, short link, share text, or note_id
Fetch PGY / 蒲公英 enhanced commercial note details with exposure, engagement, and pricing data
Get the Xiaohongshu search hot list and keyword search suggestions
Fetch paginated first-level comments and replies under comments, with sorting options
Get creator profile information and paginated posted-note lists from user_id or profile URL
Fetch topic/tag page note lists by topic URL or page_id
Submit video note speech-to-text transcription jobs and poll their status
Check the current API key account's SocialDataX points balance
It supports research workflows only, not posting, editing, liking, commenting, or other account actions
Provides tools for searching Xiaohongshu notes by keyword, resolving shared note URLs into structured details, fetching note details by ID, retrieving paginated first-level comments, accessing creator profile data, and listing a creator's published notes. All operations are read-only for social media intelligence workflows.
小红书 MCP | Xiaohongshu MCP | XHS MCP | RedNote MCP
This public repository provides public connection docs and MCP metadata for a hosted 小红书 MCP / Xiaohongshu MCP / XHS MCP / RedNote MCP service.
If you are looking for a 小红书 MCP, Xiaohongshu MCP, XHS MCP, or RedNote MCP for social media research workflows, this repository includes:
public MCP metadata and client configuration examples
the hosted
streamable-httpendpoint for clients that support remote MCPan
mcp-remotefallback example for command/stdio-only MCP clients
The business implementation is privately hosted. This repository exposes only the public connection surface for social media content intelligence workflows.
Search Aliases
Common search phrases for this MCP service:
小红书 MCP小红书 数据 MCP小红书 搜索 MCP小红书 XHS MCPXiaohongshu MCPXiaohongshu data MCPXHS MCPXHS data MCPRedNote MCPRedNote data MCPXiaohongshu note search MCP
Related MCP server: RedNote MCP Server
Service
Hosted MCP endpoint:
https://mcp.socialdatax.com/xhs/mcpHosted transport:
streamable-httpAuthentication:
Authorization: Bearer <SOCIALDATAX_API_KEY>Product:
SocialDataX/社媒数据助手Website and API Key access: https://socialdatax.com/ai?from=github
Registry name:
com.52choujiang/xhs-insightsFuture registry name:
com.socialdatax/xhs-insightsCurrent public capability version:
0.1.11. The hosted productiontools/list, server card, and public GitHub repository are synchronized at0.1.11with all 24 tracked tools. The npm stdio bridge is published asxiaohongshu-xhs-rednote-mcp@0.1.11and connects to the same hosted surface. The official Registry latest remains0.1.10pending publication of0.1.11. Version0.1.11renames the public XHS product search/detail shop fields fromseller_*toshop_*.
Platform MCP
Use the hosted streamable-http endpoint directly from clients that support authenticated remote MCP. For clients that only support command/stdio MCP servers, use mcp-remote as a local compatibility proxy.
npm stdio bridge
Requires Node.js 20.18.1 or later.
Command/stdio-only MCP clients can install and start the bridge directly from npm:
{
"mcpServers": {
"socialdatax-xhs": {
"command": "npx",
"args": ["-y", "xiaohongshu-xhs-rednote-mcp"],
"env": {
"SOCIALDATAX_API_KEY": "<SOCIALDATAX_API_KEY>"
}
}
}
}The package only forwards local stdio MCP messages to the hosted SocialDataX XHS endpoint. It does not contain the private service implementation or store the API Key.
Workflow Scope
This MCP service is designed for social media content intelligence workflows. It does not provide account login, posting, editing, liking, commenting, or other account actions.
Supported workflows include:
Query the current API Key account's SocialDataX points balance / 积分余额、剩余积分或点数.
Search related Xiaohongshu notes by keyword, with optional sort, note type, and publish-time filters.
Search Xiaohongshu products by keyword with page_token continuation.
Fetch product details by a complete sku_id supplied by the user or copied from product search results.
Fetch one PGY / 蒲公英 enhanced note detail from either a complete note_id or a note link, short link, or share text; successful calls cost 20 points and failures are not charged.
Fetch product reviews by a complete sku_id supplied by the user or copied from product search results.
Read the Xiaohongshu search hot list with title and heat value.
Read Xiaohongshu search suggestions for a keyword or partial phrase.
Resolve a shared note link, short link, or share text into structured note details.
Read note details when the caller already has a note ID.
Fetch paginated first-level comments for comment analysis.
Fetch paginated replies under a first-level comment.
Read creator profile data from a profile link, short link, share text, or user ID.
Fetch paginated creator note lists from a user ID, profile link, short link, or share text for content style and account research.
Fetch paginated tag page note lists from a topic URL, short link, share text, or page ID.
Submit a video note speech-to-text transcript task; the submit call may wait up to 240 seconds, and unfinished jobs should continue polling the same
job_iduntil terminal.
Tools
Tool | Public purpose |
| Query the current API Key account's SocialDataX points balance / 积分余额、剩余积分或点数. |
| Search Xiaohongshu / 小红书 notes by keyword with optional sort, note type, publish-time filters, and |
| Search Xiaohongshu products by product name, brand, category, or product-related query, with |
| Fetch Xiaohongshu product details by a complete |
| Fetch one Xiaohongshu PGY / 蒲公英 enhanced note detail when the caller already has a complete |
| Fetch one Xiaohongshu PGY / 蒲公英 enhanced note detail from a complete note link, short link, or share text, with the same PGY commercial output. Successful calls cost 20 points and failures are not charged. |
| Fetch Xiaohongshu product reviews by a complete |
| Fetch replies under a first-level Xiaohongshu product review. Use a user-provided |
| Get the Xiaohongshu / 小红书 search hot list with each item's title and heat value. |
| Get Xiaohongshu / 小红书 search suggestions for a keyword or partial phrase, including suggestion text, search target, and an optional description. |
| Resolve a shared XHS link, short link, or share text into structured note details. In every use of a returned |
| Fetch structured note details when the caller already has a note ID. If |
| Fetch paginated first-level comments when the caller already has a note ID; accepts optional comment |
| Fetch paginated first-level comments directly from a shared note URL, short link, or share text; accepts optional comment |
| Fetch paginated replies under a first-level comment by note ID and comment ID. To continue pagination, pass the full returned |
| Fetch creator profile data when the caller already has a user ID. |
| Resolve a profile link, short link, or share text into creator profile data. |
| Fetch a paginated list of notes published by a creator when the caller already has a user ID. To continue pagination, pass the full returned |
| Fetch a paginated list of notes published by a creator from a profile link, short link, or share text. To continue pagination, pass the full returned |
| Fetch a paginated tag page note list from a topic URL, short link, or share text; accepts |
| Fetch a paginated tag page note list when the caller already has the tag page |
| Submit a video note speech-to-text transcript task from a note link, short link, or share text. The submit call may wait up to 240 seconds; if unfinished, continue polling the same |
| Submit a video note speech-to-text transcript task from a |
| Check a video note speech-to-text transcript job using a valid |
Quick Start
For clients that support authenticated streamable-http, use the hosted endpoint directly:
{
"mcpServers": {
"socialdatax-xhs": {
"type": "streamable_http",
"url": "https://mcp.socialdatax.com/xhs/mcp",
"headers": {
"Authorization": "Bearer <SOCIALDATAX_API_KEY>"
}
}
}
}A ready-to-copy example is available in examples/streamable_http_config.json.
For command/stdio-only MCP clients, use mcp-remote:
{
"mcpServers": {
"socialdatax-xhs": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.socialdatax.com/xhs/mcp",
"--header",
"Authorization: Bearer ${SOCIALDATAX_API_KEY}"
],
"env": {
"SOCIALDATAX_API_KEY": "<SOCIALDATAX_API_KEY>"
}
}
}
}Claude Code can use remote HTTP directly:
claude mcp add --transport http socialdatax-xhs https://mcp.socialdatax.com/xhs/mcp --header 'Authorization: Bearer ${SOCIALDATAX_API_KEY}'Persist SOCIALDATAX_API_KEY in the runtime environment or client Secret before restarting Claude Code.
Claude Desktop should use its remote MCP / Connectors UI when available. If a local configuration file in your version only supports command/stdio servers, use the mcp-remote fallback.
Client Examples
Configuration examples are available in examples:
API Key
Request or manage API access from the product website:
https://socialdatax.com/ai?from=github
Use the key as a Bearer token in the Authorization request header. Do not commit real API Key values to code, docs, issues, or screenshots.
Directory Metadata
Public metadata files in this repository:
server-card.json: directory-oriented metadata for the hosted service. Official MCP Registry publishing uses the private source repo's
registry/xhs/server.jsonfor the currentcom.52choujiang/xhs-insightsentry.mcp.json: generic command/stdio fallback config using
mcp-remote.glama.json: Glama repository ownership metadata.
SUBMISSION_CHECKLIST.md: checklist for MCP directory submissions.
License
The files in this public repository are released under the MIT License. The license covers the public documentation and configuration examples in this repository only. It does not cover the managed service implementation, hosted infrastructure, or any private backend code outside this repository.
Available Tools
14 toolsxhs_get_note_comments_by_note_idARead-only
根据 note_id 获取单篇小红书笔记的一级评论,支持 sort_type 评论排序和 page_token 翻页。 返回的 next_page_token 是不透明分页令牌;继续翻页时必须将完整 next_page_token 原样作为 page_token 传回。next_page_token 只绑定当前用户、笔记、排序或评论链路,不能跨用户、笔记或评论链路复用;一级评论还不能跨排序复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。
| Name | Required | Description | Default |
|---|---|---|---|
| note_id | Yes | note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。 | |
| sort_type | No | 评论排序方式,可选:default(默认/综合排序)、time_descending(最新评论优先)、like_count_descending(点赞最多优先) | default |
| page_token | No | 分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌,只绑定当前用户、笔记、排序或评论链路,不能跨用户、笔记或评论链路复用;一级评论还不能跨排序复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页一级评论列表 |
| comment_count | Yes | 整篇笔记的总评论数,含一级评论与回复;不是当前页 items 数量 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
| top_level_comment_count | Yes | 整篇笔记的一级评论总数,不含回复;不是当前页 items 数量;无法获取时为 null |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral detail beyond annotations, especially regarding the opaque pagination token's binding to user, note, sort, and link, and the prohibition on modifying or reusing it. This is valuable for correct invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then explains pagination. Every sentence is useful, though slightly verbose. It could be more concise but remains clear and structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description adequately covers the tool's purpose and parameters. It does not explain error handling or rate limits, but for a fetch tool with readOnlyHint and openWorldHint, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions already. The description repeats some info but adds context for pagination usage. It does not add substantial new semantic meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '根据 note_id 获取单篇小红书笔记的一级评论', specifying the verb '获取' and resource '一级评论' for a single note. It distinguishes from siblings like xhs_get_note_sub_comments_by_comment_id which handles sub-comments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly guides usage by focusing on top-level comments and explaining pagination with page_token. It does not explicitly list when to avoid this tool, but the context and sibling tools make differentiation clear. The pagination usage is well-explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_note_comments_by_note_urlARead-only
根据笔记链接、短链接或分享文案获取单篇小红书笔记的一级评论,支持 sort_type 评论排序和 page_token 翻页。 返回的 next_page_token 是不透明分页令牌;继续翻页时必须将完整 next_page_token 原样作为 page_token 传回。next_page_token 只绑定当前用户、笔记、排序或评论链路,不能跨用户、笔记或评论链路复用;一级评论还不能跨排序复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。
| Name | Required | Description | Default |
|---|---|---|---|
| note_url | Yes | 小红书笔记链接、短链接或分享文案。支持以下形式:1) 小红书笔记长链接;2) xhslink.com / xhslink.cn / xhsurl.com / xhsurl.cn 短链接;3) 包含上述任一链接的完整分享文案。 | |
| sort_type | No | 评论排序方式,可选:default(默认/综合排序)、time_descending(最新评论优先)、like_count_descending(点赞最多优先) | default |
| page_token | No | 分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌,只绑定当前用户、笔记、排序或评论链路,不能跨用户、笔记或评论链路复用;一级评论还不能跨排序复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页一级评论列表 |
| comment_count | Yes | 整篇笔记的总评论数,含一级评论与回复;不是当前页 items 数量 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
| top_level_comment_count | Yes | 整篇笔记的一级评论总数,不含回复;不是当前页 items 数量;无法获取时为 null |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint=true and openWorldHint=true, indicating a safe read operation. The description adds context about page_token binding rules and the fact that first-level comments cannot be reused across sorts, which goes beyond the annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single paragraph but covers core purpose, sorting, pagination, and token rules efficiently. It front-loads the main function. Every sentence adds value; no fluff. Could be slightly more structured with bullet points, but still good.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of annotations, full schema coverage, and an output schema (implied), the description covers essential behavioral aspects. It explains pagination mechanics thoroughly. The only minor gap is explicit mention of the output format, but the output schema likely covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds value by explaining supported URL formats for note_url, enum options for sort_type, and detailed constraints for page_token (e.g., not modifying, not using across sorts). This enriches the parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves first-level comments of a Xiaohongshu note using the note URL, short link, or share text. It distinguishes from sibling tools like `xhs_get_note_comments_by_note_id` (which uses note ID) and `xhs_get_note_sub_comments_by_comment_id` (sub-comments). The verb '获取' and resource '一级评论' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit instructions for pagination (page_token handling, not modifiable, bound to user/note/sort) and sorting options. Does not explicitly state when to prefer this tool over the note_id variant, but the sibling list provides context. The guidelines are thorough for the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_note_detail_by_note_idARead-only
根据 note_id 获取单篇小红书笔记详情。 返回的 note_url 非 null 时,在任何使用场景都必须原样保留完整 URL,包括 xsec_token 等 query 参数;例如最终回答、展示、引用、存储、输出或传递;不得用 note_id 重新拼接链接;note_url 为 null 时不要用 note_id 合成公开链接。
| Name | Required | Description | Default |
|---|---|---|---|
| note_id | Yes | note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | Yes | 笔记标题 |
| video | Yes | 视频摘要信息;无可用视频摘要时为 null |
| author | Yes | 作者信息;详情页不返回小红书号 |
| content | Yes | 笔记正文 |
| note_id | Yes | note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。 |
| note_url | Yes | note_url 是可打开笔记内容所需的完整 URL。任何使用该返回链接的场景都必须原样保留完整 URL,包括 xsec_token 等 query 参数;例如最终回答、展示、引用、存储、输出或传递;不得修改、截断、脱敏、规范化、重组,也不得用 note_id 重新拼接链接。无法提供可用链接时为 null;note_url 为 null 时不要用 note_id 合成公开链接。 |
| note_type | Yes | 笔记类型;当前公开值固定为 image 或 video |
| like_count | Yes | 点赞数 |
| topic_tags | Yes | 笔记详情中的话题标签;无话题时为空数组 |
| image_items | Yes | 图片结构化明细;每项都表示一张图片,Live 图会在对应项携带 live_photo 摘要 |
| ip_location | Yes | 笔记发布时的 IP 属地;没有 IP 属地时为空字符串 |
| share_count | Yes | 分享数 |
| update_time | Yes | 更新时间,秒级 Unix 时间戳;没有有效更新时间时为 null |
| publish_time | Yes | 发布时间,秒级 Unix 时间戳 |
| collect_count | Yes | 收藏数 |
| comment_count | Yes | 评论数 |
| cover_image_url | Yes | 统一封面图 |
| mentioned_users | Yes | 笔记正文中 @ 到的用户列表;无 @ 时为空数组 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and openWorldHint. The description adds actionable behavioral detail about note_url handling, which is beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two focused sentences: one for purpose, one for critical usage rule. No redundancy or unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with output schema present, the description is complete. It covers purpose, input constraint, post-usage rule, and is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description already fully covers the note_id parameter (100% coverage). The tool description does not add new semantic meaning about the parameter beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: fetching single note details by note_id. It distinguishes from sibling tools like xhs_get_note_detail_by_note_url by specifying the input identifier type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on handling the returned note_url, including preservation and when not to synthesize. While it doesn't explicitly compare with all siblings, the context implies appropriate use cases based on note_id vs URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_note_detail_by_note_urlARead-only
根据笔记链接、短链接或分享文案获取单篇小红书笔记详情。 返回的 note_url 在任何使用场景都必须原样保留完整 URL,包括 xsec_token 等 query 参数;例如最终回答、展示、引用、存储、输出或传递;不得用 note_id 重新拼接链接;note_url 为 null 时不要用 note_id 合成公开链接。
| Name | Required | Description | Default |
|---|---|---|---|
| note_url | Yes | 小红书笔记链接、短链接或分享文案。支持以下形式:1) 小红书笔记长链接;2) xhslink.com / xhslink.cn / xhsurl.com / xhsurl.cn 短链接;3) 包含上述任一链接的完整分享文案。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | Yes | 笔记标题 |
| video | Yes | 视频摘要信息;无可用视频摘要时为 null |
| author | Yes | 作者信息;详情页不返回小红书号 |
| content | Yes | 笔记正文 |
| note_id | Yes | note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。 |
| note_url | Yes | note_url 是可打开笔记内容所需的完整 URL。任何使用该返回链接的场景都必须原样保留完整 URL,包括 xsec_token 等 query 参数;例如最终回答、展示、引用、存储、输出或传递;不得修改、截断、脱敏、规范化、重组,也不得用 note_id 重新拼接链接。无法提供可用链接时为 null;note_url 为 null 时不要用 note_id 合成公开链接。 |
| note_type | Yes | 笔记类型;当前公开值固定为 image 或 video |
| like_count | Yes | 点赞数 |
| topic_tags | Yes | 笔记详情中的话题标签;无话题时为空数组 |
| image_items | Yes | 图片结构化明细;每项都表示一张图片,Live 图会在对应项携带 live_photo 摘要 |
| ip_location | Yes | 笔记发布时的 IP 属地;没有 IP 属地时为空字符串 |
| share_count | Yes | 分享数 |
| update_time | Yes | 更新时间,秒级 Unix 时间戳;没有有效更新时间时为 null |
| publish_time | Yes | 发布时间,秒级 Unix 时间戳 |
| collect_count | Yes | 收藏数 |
| comment_count | Yes | 评论数 |
| cover_image_url | Yes | 统一封面图 |
| mentioned_users | Yes | 笔记正文中 @ 到的用户列表;无 @ 时为空数组 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint and openWorldHint. The description adds crucial behavioral context: preserving the full URL with xsec_token and not constructing URLs from note_id. This goes beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no wasted words. Front-loaded purpose in first sentence, followed by specific instructions. Could be slightly more concise but effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with an output schema, the description covers usage constraints (URL preservation). No missing elements for the complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a detailed parameter description. The main description adds value by instructing to preserve the URL as-is, which is not in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb '获取' (get) and resource '笔记详情' (note detail), specifying input types (note link, short link, or sharing text). It distinguishes from the sibling tool 'xhs_get_note_detail_by_note_id' which uses note_id instead of URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. It implies usage when a URL is available, but lacks when-not or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_note_sub_comments_by_comment_idARead-only
根据 note_id 和一级评论 comment_id 获取二级评论。 返回的 next_page_token 是不透明分页令牌;继续翻页时必须将完整 next_page_token 原样作为 page_token 传回。next_page_token 只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。
| Name | Required | Description | Default |
|---|---|---|---|
| note_id | Yes | note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。 | |
| comment_id | Yes | 一级评论 ID。可直接传一级评论结果中的 comment_id | |
| page_token | No | 分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌,只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页二级评论列表 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds important behavioral context about the opaque pagination token (binding, non-modifiable), which is beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences. First sentence states purpose, second explains pagination. Every sentence adds value; no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and full parameter descriptions, the description covers the core purpose and token behavior. It does not mention pagination limits or error cases, but these are not critical for a list tool with output schema. Overall complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameter descriptions are already detailed in the schema. The description does not add new meaning beyond what is in the schema; it only repeats token rules. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('获取二级评论' i.e., get sub-comments) and resource ('note_id 和一级评论 comment_id'). It unambiguously distinguishes from sibling tools that retrieve top-level comments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains pagination token usage in detail, but does not explicitly state when to use this tool versus the top-level comment tools (e.g., 'first get top-level comments, then use this for replies'). The context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_search_hot_listARead-only
获取小红书搜索热榜。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 搜索热榜条目列表 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and openWorldHint=true, indicating a safe read operation with potentially changing results. The description adds no behavioral context beyond these annotations, but does not contradict them. With annotations present, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence in Chinese, conveying the purpose with zero waste. It is appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, presence of an output schema (not shown), and annotations, the description is sufficient for a straightforward fetch tool. It could mention that the output is a list, but the output schema likely covers this. Completeness is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the schema covers 100%. The description is not required to explain parameters. A baseline of 4 is justified as no information is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb '获取' (get) and the resource '小红书搜索热榜' (Xiaohongshu search hot list). It is specific and distinguishes from sibling tools, which focus on notes, users, or comments. However, it lacks any additional context about the tool's scope or output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention use cases, prerequisites, or exclusions, leaving the agent to infer its role among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_user_info_by_profile_urlARead-only
根据主页链接、短链接或分享文案获取单个小红书用户信息。
| Name | Required | Description | Default |
|---|---|---|---|
| profile_url | Yes | 小红书主页链接、短链接或分享文案。支持以下形式:1) xiaohongshu.com/user/profile/... 主页长链;2) xhslink.com / xhslink.cn / xhsurl.com / xhsurl.cn 短链接;3) 包含上述任一链接的完整分享文案。请传主页链接,不要传笔记链接。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| bio | Yes | 用户个人简介(biography);没有简介时为空字符串 |
| name | Yes | 用户名称 |
| red_id | Yes | 用户公开小红书号;没有小红书号时为空字符串 |
| user_id | Yes | 用户 user_id |
| verified | Yes | 是否已认证 |
| avatar_url | Yes | 用户头像链接;没有头像链接时为 null |
| ip_location | Yes | 用户 IP 属地;没有 IP 属地时为空字符串 |
| profile_url | Yes | 用户主页链接;没有主页链接时为 null |
| profile_tags | Yes | 主页头部标签名称列表;没有标签时为空数组 |
| follower_count | Yes | 粉丝数 |
| following_count | Yes | 关注数 |
| posted_note_count | Yes | 已发布笔记数 |
| verification_name | Yes | 认证主体名称;没有认证主体时为空字符串 |
| received_like_count | Yes | 用户内容累计收到的点赞数 |
| is_enterprise_account | Yes | 是否为企业账号 |
| verification_category | Yes | 认证补充信息;可能是行业类目或认证主体名称;未认证或没有认证信息时为空字符串 |
| received_collect_count | Yes | 用户内容累计被收藏数 |
| is_professional_account | Yes | 是否为专业号 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the description adds no further behavioral context. It does not mention any additional traits beyond what annotations provide, and there is no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately conveys the tool's purpose with no extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and an existing output schema, the description is adequate. It does not cover edge cases, but the annotations and schema provide sufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter description thoroughly listing supported input formats. The tool description does not add meaningful information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('获取'), resource ('用户信息'), and the input methods (profile link, short link, share text). It effectively distinguishes this tool from its sibling 'xhs_get_user_info_by_user_id' by specifying the input type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a profile URL is available, but it does not explicitly state when to use this tool versus alternatives like 'xhs_get_user_info_by_user_id'. No exclusions or alternative suggestions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_user_info_by_user_idARead-only
根据 user_id 获取单个小红书用户信息。
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | 小红书用户 user_id。请直接复制搜索结果、笔记详情、用户信息或用户发帖列表返回的 user_id/author.user_id;如果只有主页链接,请使用 profile_url 入口;不要传小红书号、昵称或主页名称 |
Output Schema
| Name | Required | Description |
|---|---|---|
| bio | Yes | 用户个人简介(biography);没有简介时为空字符串 |
| name | Yes | 用户名称 |
| red_id | Yes | 用户公开小红书号;没有小红书号时为空字符串 |
| user_id | Yes | 用户 user_id |
| verified | Yes | 是否已认证 |
| avatar_url | Yes | 用户头像链接;没有头像链接时为 null |
| ip_location | Yes | 用户 IP 属地;没有 IP 属地时为空字符串 |
| profile_url | Yes | 用户主页链接;没有主页链接时为 null |
| profile_tags | Yes | 主页头部标签名称列表;没有标签时为空数组 |
| follower_count | Yes | 粉丝数 |
| following_count | Yes | 关注数 |
| posted_note_count | Yes | 已发布笔记数 |
| verification_name | Yes | 认证主体名称;没有认证主体时为空字符串 |
| received_like_count | Yes | 用户内容累计收到的点赞数 |
| is_enterprise_account | Yes | 是否为企业账号 |
| verification_category | Yes | 认证补充信息;可能是行业类目或认证主体名称;未认证或没有认证信息时为空字符串 |
| received_collect_count | Yes | 用户内容累计被收藏数 |
| is_professional_account | Yes | 是否为专业号 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
注释已提供 readOnlyHint 和 openWorldHint,描述未额外披露行为特性。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
一句话简洁明了,动词在前。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
结合注释和参数描述,基本完整,但未说明返回信息的具体范围。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
参数描述覆盖100%,且参数描述详细,但工具描述本身未增加语义。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
明确指定动作'获取'和资源'用户信息',且通过输入指定 user_id,与通过 profile_url 获取的兄弟工具区分开。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
描述明确指出使用场景为提供 user_id,虽然没有明确说不适合其他场景,但输入参数描述补充了使用建议。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_user_posted_notes_by_profile_urlARead-only
根据主页链接、短链接或分享文案获取用户已发布笔记列表。 返回的 next_page_token 是不透明分页令牌;继续翻页时必须将完整 next_page_token 原样作为 page_token 传回。next_page_token 只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。
| Name | Required | Description | Default |
|---|---|---|---|
| page_token | No | 分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌,只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 | |
| profile_url | Yes | 小红书主页链接、短链接或分享文案。支持以下形式:1) xiaohongshu.com/user/profile/... 主页长链;2) xhslink.com / xhslink.cn / xhsurl.com / xhsurl.cn 短链接;3) 包含上述任一链接的完整分享文案。请传主页链接,不要传笔记链接。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页用户发帖摘要列表 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, openWorldHint), the description details critical behavior: the next_page_token is opaque and bound to the current user/note/comment chain, cannot be reused across chains, and must be passed verbatim. This greatly helps the agent avoid misuse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first for purpose, second for token rules. No fluff, front-loaded, and every sentence is essential. Excellent structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers input, output (implied list), and token handling. Output schema exists, so return values need no explanation. Sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining token behavior (page_token) and gives a caution for profile_url (not note link). This extra context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a user's posted notes list using a profile URL, short link, or share text. It specifies the exact input types, distinguishing it from sibling tools like xhs_get_user_posted_notes_by_user_id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly tells when to use by specifying input (profile URL vs. user ID for siblings). However, it does not explicitly state when not to use or mention alternatives, leaving some room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_user_posted_notes_by_user_idARead-only
根据 user_id 获取用户已发布笔记列表。 返回的 next_page_token 是不透明分页令牌;继续翻页时必须将完整 next_page_token 原样作为 page_token 传回。next_page_token 只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | 小红书用户 user_id。请直接复制搜索结果、笔记详情、用户信息或用户发帖列表返回的 user_id/author.user_id;如果只有主页链接,请使用 profile_url 入口;不要传小红书号、昵称或主页名称 | |
| page_token | No | 分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌,只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页用户发帖摘要列表 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds essential behavioral details on token binding and modification restrictions beyond annotations' readOnlyHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise yet comprehensive; every sentence adds value, especially detailed token rules.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Fully covers pagination behavior and parameter usage; output schema exists, so return info not needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have extensive descriptions adding context: user_id source, token handling rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states '获取用户已发布笔记列表' (get user's posted notes list) by user_id, distinguishing from sibling using profile_url.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides detailed instructions on pagination token usage, but does not explicitly state when to use this vs sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_video_speech_text_jobARead-only
查询小红书视频口播转文字任务状态;可选长轮询当前 job,不触发重处理。
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | 口播转文字任务 ID。 | |
| wait_seconds | No | 可选长轮询等待秒数;0 表示只查询一次,最大 240 秒。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | Yes | 失败或过期时的稳定错误结构;非终态或成功时为 null。 |
| job_id | Yes | 任务 ID。 |
| status | Yes | 任务状态。 |
| message | Yes | 面向用户/AI 的状态说明。 |
| platform | Yes | 任务所属平台。 |
| source_id | Yes | 任务来源 ID。 |
| content_id | Yes | 平台内容 ID。 |
| transcript | Yes | 成功时的口播转文字结果;非终态或失败时为 null。 |
| is_terminal | Yes | 是否已终态。 |
| next_action | Yes | 非终态时建议的下一步查询动作。 |
| content_meta | Yes | 作品上下文信息,便于结合转写内容做口播分析。 |
| content_type | Yes | 内容类型。 |
| next_poll_after_seconds | Yes | 建议下次查询前等待的秒数;非终态时可用。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds that the operation does not trigger reprocessing and explains the wait_seconds parameter's behavior (long polling vs one-shot), enhancing behavioral understanding beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese covering purpose and key behavioral note. It is concise and front-loaded, but lacks structured formatting (e.g., bullet points) that could improve readability for complex scenarios.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 parameters with 100% schema coverage and an output schema present, the description adequately covers the tool's purpose, parameters, and core behavior. However, it omits details like expected status values or response format, though the output schema likely covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters fully described in the input schema. The description restates that wait_seconds enables long polling but does not add novel meaning beyond what the schema already provides, hence a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries the status of a video speech-to-text job, specifying the resource ('小红书视频口播转文字任务状态') and action ('查询'). It distinguishes itself from submission siblings like 'xhs_submit_video_speech_text_by_note_url' by focusing on status retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context by mentioning optional long polling ('可选长轮询当前 job') and noting that it does not trigger reprocessing ('不触发重处理'). This guides usage, though it does not explicitly state when to use this tool over siblings; however, the sibling list contrasts submission tools effectively.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_search_notesARead-only
按关键词搜索相关小红书笔记。 返回的 note_url 在任何使用场景都必须原样保留完整 URL,包括 xsec_token 等 query 参数;例如最终回答、展示、引用、存储、输出或传递;不得用 note_id 重新拼接链接。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | 小红书搜索关键词 | |
| note_type | No | 笔记类型筛选,可选:all(不限,默认)、image(图文)、video(视频) | all |
| sort_type | No | 搜索结果排序方式,可选:general(综合,默认)、time_descending(最新发布优先)、like_count_descending(最多点赞优先)、comment_count_descending(最多评论优先)、collect_count_descending(最多收藏优先) | general |
| page_token | No | 搜索分页令牌。首次请求留空;继续翻页时传入上一页返回的 完整 next_page_token 原样作为 page_token 传回。page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的搜索链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成。 | |
| publish_time_range | No | 发布时间范围筛选,可选:all(不限,默认)、day(一天内)、week(一周内)、half_year(半年内) | all |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 搜索结果中的笔记列表,已过滤非笔记卡片与不可公开笔记;当前页过滤后可能为空数组 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多结果或无法继续 token 翻页。继续搜索时必须将完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的搜索链路。items 为空时不要单独据此判断结束。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds an important behavioral rule: the returned note_url must be preserved exactly with all query parameters, and not reconstructed from note_id. This goes beyond annotation defaults and prevents misuse. However, it does not mention pagination behavior or result count limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two sentences: the first states the purpose concisely, the second provides a critical usage instruction. It is efficient with no redundancy. However, the second sentence is somewhat lengthy and could be broken into bullet points for better readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema (5 params with full descriptions) and output schema existence, the description compensates by adding the URL preservation rule. It lacks a high-level summary of the return structure (list of notes with fields), but the output schema likely covers that. Pagination is handled in schema via page_token parameter description. Overall, it is fairly complete for a read-only search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all 5 parameters. The description adds no additional parameter information beyond what is already in the schema, so it meets the baseline without adding extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '按关键词搜索相关小红书笔记' (search related Xiaohongshu notes by keyword), which is a specific verb+resource. It distinguishes from sibling tools like xhs_get_note_detail or xhs_get_search_hot_list. However, the description overshadows the purpose with a detailed instruction about URL handling, which slightly reduces clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., xhs_get_search_hot_list for trending, xhs_get_user_posted_notes for user-specific notes). There is no mention of when not to use it or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_submit_video_speech_text_by_note_idA
根据小红书 note_id 提交视频笔记口播转文字任务;提交完成后最多短等 210 秒,未完成时返回 job_id 和下一步查询动作。
| Name | Required | Description | Default |
|---|---|---|---|
| note_id | Yes | note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | Yes | 失败或过期时的稳定错误结构;非终态或成功时为 null。 |
| job_id | Yes | 任务 ID。 |
| status | Yes | 任务状态。 |
| message | Yes | 面向用户/AI 的状态说明。 |
| platform | Yes | 任务所属平台。 |
| source_id | Yes | 任务来源 ID。 |
| content_id | Yes | 平台内容 ID。 |
| transcript | Yes | 成功时的口播转文字结果;非终态或失败时为 null。 |
| is_terminal | Yes | 是否已终态。 |
| next_action | Yes | 非终态时建议的下一步查询动作。 |
| content_meta | Yes | 作品上下文信息,便于结合转写内容做口播分析。 |
| content_type | Yes | 内容类型。 |
| next_poll_after_seconds | Yes | 建议下次查询前等待的秒数;非终态时可用。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the async nature (submission, waiting, polling hint) and the return of job_id and next action. However, it does not mention required permissions, idempotency, or side effects (e.g., whether repeated submissions create duplicate tasks).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence with no wasted words. It front-loads the key action and includes essential post-submission behavior. Could be slightly improved by separating input and output details, but still effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and sibling tools for retrieval, the description provides sufficient context for a submission tool: it explains the input, the waiting period, and what to do next. It does not need to detail return values as the output schema handles that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the only parameter note_id, and the schema already provides extensive detail (24-char hex, must be exact). The tool description adds no further semantic meaning beyond what the schema offers, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: submit a video note speech-to-text task using note_id. It distinguishes from sibling tool xhs_submit_video_speech_text_by_note_url by specifying the input is note_id, not URL. The description also explains the behavior after submission (wait up to 210s, return job_id and next action).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: it is for submitting a new transcription task, and after waiting briefly, the agent should use the returned job_id and next query action. However, it does not explicitly state when not to use this tool (e.g., for checking status) or mention alternatives like xhs_get_video_speech_text_job.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_submit_video_speech_text_by_note_urlA
提交小红书视频笔记口播转文字任务;提交完成后最多短等 210 秒,未完成时返回 job_id 和下一步查询动作。
| Name | Required | Description | Default |
|---|---|---|---|
| note_url | Yes | 小红书视频笔记链接、短链接或分享文案。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | Yes | 失败或过期时的稳定错误结构;非终态或成功时为 null。 |
| job_id | Yes | 任务 ID。 |
| status | Yes | 任务状态。 |
| message | Yes | 面向用户/AI 的状态说明。 |
| platform | Yes | 任务所属平台。 |
| source_id | Yes | 任务来源 ID。 |
| content_id | Yes | 平台内容 ID。 |
| transcript | Yes | 成功时的口播转文字结果;非终态或失败时为 null。 |
| is_terminal | Yes | 是否已终态。 |
| next_action | Yes | 非终态时建议的下一步查询动作。 |
| content_meta | Yes | 作品上下文信息,便于结合转写内容做口播分析。 |
| content_type | Yes | 内容类型。 |
| next_poll_after_seconds | Yes | 建议下次查询前等待的秒数;非终态时可用。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the asynchronous nature ('最多短等 210 秒'), the return of a job_id upon timeout, and a subsequent query action. This goes beyond the name to explain the tool's non-immediate behavior, though it doesn't cover error conditions or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with two clauses, no wasted words. It front-loads the main purpose and efficiently adds the timeout behavior. Every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter, an output schema, and a straightforward async pattern, the description provides sufficient context: what the tool does, input needed, and the asynchronous result handling. It does not cover error scenarios, but the output schema likely handles that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with a clear description for 'note_url'. The tool description does not add additional parameter-specific meaning beyond what the schema already provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: '提交小红书视频笔记口播转文字任务' (submit a Xiaohongshu video note speech-to-text task). It also specifies the input via the tool name (note_url) and the asynchronous behavior (wait up to 210 seconds, return job_id). This distinguishes it from sibling tools like xhs_get_video_speech_text_job or xhs_submit_video_speech_text_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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a usage flow (submit, wait, then query if incomplete) but does not explicitly state when to use this tool over alternatives, such as xhs_submit_video_speech_text_by_note_id. It hints at the next step ('返回 job_id 和下一步查询动作') but lacks explicit guidance on prerequisites or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
14 tool updates
v0.1.5- First observed
xhs_get_note_comments_by_note_id - First observed
xhs_get_note_comments_by_note_url - First observed
xhs_get_note_detail_by_note_id - First observed
xhs_get_note_detail_by_note_url - First observed
xhs_get_note_sub_comments_by_comment_id - First observed
xhs_get_search_hot_list - First observed
xhs_get_user_info_by_profile_url - First observed
xhs_get_user_info_by_user_id - First observed
xhs_get_user_posted_notes_by_profile_url - First observed
xhs_get_user_posted_notes_by_user_id - First observed
xhs_get_video_speech_text_job - First observed
xhs_search_notes - First observed
xhs_submit_video_speech_text_by_note_id - First observed
xhs_submit_video_speech_text_by_note_url
TDQS
Scored across 14 tools
Each tool targets a distinct resource or action (note detail, comments, user info, search, etc.), and variants for URL vs ID are clearly differentiated. No two tools have overlapping purposes.
All tools follow the 'xhs_verb_noun' pattern in snake_case consistently. Verbs like 'submit', 'get', 'search' are used uniformly, and nouns clearly describe the resource.
14 tools cover a broad but focused set of operations for interacting with Xiaohongshu data. The count is well-scoped without being excessive or insufficient.
The server covers all major read operations: note detail, search, hot list, comments (main and sub), user info, user posts, and video speech text. There are no obvious gaps for its intended analysis purpose.
Maintenance
Related MCP Connectors
搜索笔记、浏览首页推荐、查看笔记内容与评论,并发表你的评论。直接在工作流中与小红书内容互动,高效跟进话题。
XHS note/product search/detail, suggestions, comments/replies; PGY 20pts success, failures uncharged
MCP server: AI-agent access to Chinese social & trend signals — Douyin, Weibo, Xiaohongshu/RedNote,
Remote MCP server for China brand visibility, destination demand, and KOL discovery workflows.
Related MCP Servers
- AlicenseBqualityFmaintenanceEnables users to search and retrieve content from Xiaohongshu (Red Book) platform with smart search capabilities and rich data extraction including note content, author information, and images.15428MIT
- FlicenseCqualityNot gradedmaintenanceA Model Context Protocol (MCP) server that enables AI assistants to search, retrieve, and analyze content from Xiaohongshu (Little Red Book), providing access to notes, user information, and trending topics.61-
- AlicenseNot gradedqualityCmaintenanceMCP server for automating Xiaohongshu (RED Note). Publish posts, search content, comment, like, and analyze creator data on China's largest lifestyle social platform.24MIT
- AlicenseAqualityFmaintenanceEnables AI assistants to search, browse, and publish notes on Xiaohongshu (Little Red Book) via MCP tools.8AGPL 3.0