SocialDataX 小红书 Xiaohongshu XHS RedNote MCP
You can research Xiaohongshu notes, comments, users, and video transcripts via this MCP server.
Search notes by keyword with sort, type, and time filters, with pagination.
Get note details from a note URL, short link, share text, or note ID.
Fetch first-level comments and nested comment replies for notes.
Get Xiaohongshu search hot list.
Retrieve user profiles by user ID or profile URL.
List a user's posted notes with pagination.
Submit and poll video speech-to-text jobs by note URL or note ID.
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 MCPcommand/stdio configurations for the npm bridge and direct
mcp-remoteuse
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: xiaohongshu-skill
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.15(35 tools)Hosted production:
0.1.15with 35 tools; deployment and authenticated tool discovery verified on2026-10-14. Video notes remain available throughxhs_search_notes(note_type="video").Official MCP Registry:
0.1.15(active,isLatest=true), published and verified on2026-10-14.Public GitHub server card:
0.1.15with 35 tools, synced and verified on2026-10-14.The public tool catalog is maintained in
server-card.json; npm bridge versions are independent of the hosted tool catalog.npm stdio bridge:
xiaohongshu-xhs-rednote-mcp@0.1.18; bridge package versions are independent of hosted capability versions.
The current capability includes encrypted user ID resolution, PGY creator profiles, note performance, fans profiles and fans summaries, product review reply-reply lookup, product detail lookup by URL, and the product detail field rename (images to main_images; detail_images remains unchanged).
Platform MCP
Use the hosted streamable-http endpoint directly from clients that support authenticated remote MCP. Command/stdio clients can use the npm bridge in mcp.json or configure mcp-remote directly.
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.
The public tool catalog can be discovered without an API Key. Set SOCIALDATAX_API_KEY for business tool calls; without it, the bridge can start for discovery, while the hosted service requires authentication for business data.
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.
PGY applies only to notes from enrolled creators. Use it for requested commercial data; keep ordinary note requests on ordinary detail tools. An explicit no-commercial-data result is treated as not enrolled (
pgy_commercial_data_unavailable); stop without retrying the other ID/URL route. Timeouts, authentication failures and insufficient balance keep their own errors.Fetch product reviews by a complete sku_id supplied by the user or copied from product search results.
Fetch nested replies under a product review reply by a
review_idsupplied by the user or copied fromxhs_get_product_review_replies; accepts opaquepage_tokencontinuation and does not acceptroot_review_id.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 / 小红书 users, accounts, or creators by keyword with |
| Search Xiaohongshu / 小红书 notes, including video notes with |
| Search Xiaohongshu images by keyword; each result is one image with its associated note, and one note may contribute multiple images. Pagination may return no further results. For image notes, use |
| Search Xiaohongshu products by product name, brand, category, or product-related query, with |
| Fetch Xiaohongshu product details by a complete |
| Fetch Xiaohongshu product details from a product URL, short link, or share text containing a product link, without searching first. Returns the same fields as |
| 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 and creator image/video collaboration quotes in Chinese yuan. The quotes are not the note's transaction price. Only notes from enrolled creators are eligible. Successful calls cost 20 points and failures are not charged. |
| Fetch a Xiaohongshu PGY / 蒲公英 creator profile by a complete |
| Fetch Xiaohongshu PGY / 蒲公英 creator note performance by a complete |
| Fetch PGY fan distributions and their data date by a complete |
| Fetch PGY follower counts, growth, activity, reading and engagement metrics by a complete |
| Fetch date-indexed medians and estimated costs. Requires user_id; note_scope defaults to daily, while cooperation includes outbound store metrics. Fixed image + video, last 30 days, all traffic for medians; costs use field-specific scopes. Gaps are preserved; values cannot be summed across dates. Successful calls cost 20 points; failures are not charged. |
| Fetch PGY commercial metrics and estimated costs. Requires user_id; note_scope defaults to daily, while cooperation includes outbound store visits. Successful calls cost 20 points; failures are not charged. |
| Fetch Xiaohongshu product reviews by a complete |
| Fetch replies under a first-level Xiaohongshu product review. Use a user-provided |
| Fetch nested replies under a Xiaohongshu product review reply. Use a user-provided reply |
| 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 |
| Resolve a complete encrypted XHS user ID to a stable |
| 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.
Direct mcp-remote configuration
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 your version only supports command/stdio servers, use the npm bridge or the mcp-remote configuration below.
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: command/stdio config using the npm bridge; tool discovery works without an API Key.
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
35 toolsxhs_get_note_comments_by_note_idBRead-only
根据 note_id 获取单篇小红书笔记的一级评论,支持 sort_type 评论排序和 page_token 翻页。
| Name | Required | Description | Default |
|---|---|---|---|
| note_id | Yes | note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。 | |
| sort_type | No | 评论排序方式,可选:default(默认/综合排序)、time_descending(最新评论优先)、like_count_descending(点赞最多优先) | default |
| page_token | No | 分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌;只能用于同一笔记和 sort_type 的一级评论列表,不能跨笔记或 sort_type 复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页一级评论列表 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| comment_count | Yes | 整篇笔记的总评论数,含一级评论与回复;不是当前页 items 数量 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一笔记和 sort_type 的一级评论列表,不能跨笔记或 sort_type 复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
| top_level_comment_count | Yes | 整篇笔记的一级评论总数,不含回复;不是当前页 items 数量;无法获取时为 null |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds genuine scope context — that it returns only first-level comments and that results are paginated via an opaque token — but says nothing about rate limits, pagination termination, 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?
A single front-loaded sentence that leads with the action and resource, then appends the two optional capabilities. No redundancy or filler.
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?
With an output schema present and annotations covering the safety profile, the description supplies enough to invoke the tool correctly. The minor omission is the lack of an explicit pointer to the sub-comments or URL-based alternatives, which the agent otherwise has to guess.
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% and the schema already details note_id format rules, the sort_type enum values, and the page_token contract. The description merely restates that sort_type sorts and page_token pages, adding no semantics beyond the structured fields, so the baseline 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 states a specific verb and resource — retrieve first-level comments of a single note keyed by note_id — and the '一级评论' scoping cleanly separates it from the sibling xhs_get_note_sub_comments_by_comment_id. It is clear, though it never names or contrasts the URL-based twin (xhs_get_note_comments_by_note_url), so explicit sibling differentiation is left implicit.
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?
There is no statement of when to prefer this tool over the by_note_url variant, over sub-comments, or any prerequisite/exclusion. The description only lists what features exist (sorting, paging), leaving the agent to infer routing from the name alone.
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 翻页。
| 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 是不透明分页令牌;只能用于同一笔记和 sort_type 的一级评论列表,不能跨笔记或 sort_type 复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页一级评论列表 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| comment_count | Yes | 整篇笔记的总评论数,含一级评论与回复;不是当前页 items 数量 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一笔记和 sort_type 的一级评论列表,不能跨笔记或 sort_type 复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
| top_level_comment_count | Yes | 整篇笔记的一级评论总数,不含回复;不是当前页 items 数量;无法获取时为 null |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that only first-level comments are returned and that sort_type/page_token are supported, but it does not characterize pagination limits or rate behavior beyond what the schema states.
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?
A single tight sentence with the resource and supported controls front-loaded and no filler. It is not padded, though it is also not richly structured beyond that one clause.
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?
An output schema exists, so return values need not be explained, and the description covers input forms and controls. What is missing is any explicit routing against the note_id sibling, which is the only real completeness gap for this tool family.
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%, so sort_type's enum meanings and page_token's opaque-token rules are fully documented in the schema. The description only echoes that these parameters exist, adding no syntax or semantics beyond structured data.
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?
Names a specific verb (获取) and resource (单篇小红书笔记的一级评论), and the qualifier 一级评论 cleanly separates it from the sibling xhs_get_note_sub_comments_by_comment_id. The accepted input forms (链接/短链接/分享文案) also distinguish it from the by_note_id variant.
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?
Usage is implied by the input types and the mention of 翻页, but there is no explicit when-to-use guidance versus the note_id sibling. An agent must infer the URL-vs-ID split from the name and schema rather than being told.
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 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | Yes | 笔记标题 |
| video | Yes | 视频摘要信息;无可用视频摘要时为 null |
| author | Yes | 作者信息;详情页不返回小红书号 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| content | Yes | 笔记正文 |
| note_id | Yes | note_id 是小红书笔记 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?
The description adds a crucial behavioral rule beyond the readOnly/openWorld annotations: when note_url is non-null it must be preserved verbatim including query parameters, and when null no public URL should be synthesized from note_id. This is actionable, specific, and not inferable from the schema.
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 with no filler: the first states the operation, the second states the critical URL-handling constraint. Important information is front-loaded and every clause 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?
For a simple one-parameter read tool with an output schema, the description plus schema covers most needs. However, it is incomplete as a selection aid because it does not differentiate the tool from the sibling xhs_pgy_get_note_detail_by_note_id, and it lacks any mention of when a URL-based alternative would be preferred.
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%, and the note_id parameter is already described in detail in the schema. The tool description only repeats that it uses note_id and adds no parameter-level meaning beyond the schema, so the baseline 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 opens with a specific verb and resource: '根据 note_id 获取单篇小红书笔记详情' (get single Xiaohongshu note detail by note_id), which clearly identifies what the tool does and the identifier it keys on. This naturally distinguishes it from the sibling note_url-based tools.
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 given about when to choose this tool over alternatives. It does not mention xhs_get_note_detail_by_note_url for URL inputs, nor does it explain the difference from xhs_pgy_get_note_detail_by_note_id, so an agent receives no routing help beyond the tool name.
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 | 作者信息;详情页不返回小红书号 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| content | Yes | 笔记正文 |
| note_id | Yes | note_id 是小红书笔记 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?
Beyond the readOnlyHint/openWorldHint annotations, the description adds an important behavioral constraint: the returned note_url must be preserved exactly, including xsec_token, and must not be reconstructed from note_id. It also warns against synthesizing a public link when note_url is null, which is valuable execution-relevant information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first states the purpose and accepted inputs, the second front-loads the critical URL-preservation constraint. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single required parameter, full schema coverage, readOnly/openWorld annotations, and an output schema present, the description supplies the remaining necessary operational rule (preserve note_url as-is). No critical selection or invocation information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage of note_url's accepted forms. The description mostly restates those forms and adds a downstream URL-preservation rule rather than new input semantics, so it does not exceed the schema-documented baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('获取') and resource ('单篇小红书笔记详情') with the input carrier (note_url) defined as link/short link/share text. This clearly distinguishes the URL-based detail retrieval from the sibling xhs_get_note_detail_by_note_id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states the intended input forms (long link, short links, share text), so an agent knows what to pass. It does not explicitly name the note_id-based alternative or state when not to use it, but the context is clear enough that only URL/ID routing remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_note_sub_comments_by_comment_idARead-only
根据 note_id 和一级评论 comment_id 获取二级评论;用户已提供完整合法的 ID 组合时直接使用;已有 note_id 或笔记链接但缺少必需 ID 时,调用对应一级评论工具补全;缺少笔记定位信息时向用户索取;支持 page_token 翻页。
| Name | Required | Description | Default |
|---|---|---|---|
| note_id | Yes | note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。 | |
| comment_id | Yes | 一级评论 ID;用户已提供时直接使用,否则可从一级评论结果 items[].comment_id 复制;不要传二级评论项自身的 comment_id。 | |
| page_token | No | 分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌;只能用于同一 note_id 和 comment_id 的二级评论列表,不能跨笔记或一级评论复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页二级评论列表 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一 note_id 和 comment_id 的二级评论列表,不能跨笔记或一级评论复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that the tool supports page_token pagination, which is useful behavioral context, but it discloses nothing further about rate limits, auth, or result ordering—appropriate given the rich annotations and output schema.
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?
A single front-loaded sentence opens with the purpose, then chains usage rules via semicolons. Every clause earns its place, though the run-on density slightly hurts scannability versus separate sentences.
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?
With an output schema covering return values, complete parameter documentation, and read-only annotations, the description only needs to convey the retrieval workflow and pagination—both present. It is essentially complete for this tool; only minor extras like expected reply ordering or depth limits are absent.
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% and the three parameters are documented extremely thoroughly in the schema itself (ID provenance, copy sources, page_token opacity rules). The description adds the recovery workflow for missing IDs but no parameter meaning beyond what the schema already provides, so the baseline 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 states a specific verb (获取), a precise resource (二级评论/二级评论列表), and the exact keying scope (note_id + 一级评论 comment_id). It also implicitly distinguishes itself from the sibling xhs_get_note_comments_by_note_id/url tools by naming 二级评论 and referring to the 一级评论工具 as a separate step.
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?
It gives explicit when-to-use routing: use directly when a complete valid ID pair is supplied, call the first-level comment tool to fill in a missing comment_id when only a note_id/note link exists, and ask the user when no note locator is available. This is a full decision tree, not mere implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_product_detail_by_sku_idARead-only
根据小红书商品 sku_id 获取商品详情;已有该 ID 时直接使用,否则可从 xhs_search_products 获取。只有商品链接、短链接或分享文案时使用 xhs_get_product_detail_by_url;本工具不支持商品链接、spu_id 或搜索词。
| Name | Required | Description | Default |
|---|---|---|---|
| sku_id | Yes | 小红书商品 SKU ID。用户已提供时原样使用;否则从 xhs_search_products 的 items[*].sku_id 原样复制。不支持 spu_id、商品链接或搜索关键词。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| price | Yes | 当前 SKU 的商品原价,单位:元;不是商品搜索的展示销售价,也不是最终实付价 |
| title | Yes | 商品标题 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| sku_id | Yes | 商品 SKU ID |
| shop_id | Yes | 店铺 ID |
| shipping | Yes | 发货信息 |
| shop_name | Yes | 店铺名称 |
| assurances | Yes | 商品保障服务列表 |
| sales_text | Yes | 平台展示的商品销量文本;没有时为空字符串。带“+”的数量表示下限,不是精确销量;结合 sold_count 解读。 |
| shop_score | Yes | 店铺评分展示值;没有评分时为空字符串 |
| sold_count | Yes | 已售数量;平台以带“+”的千级或万级文本展示时转换为对应整数下限(如“90.2k+ sold”返回 90200、“已售1.2万+”返回 12000),不是精确销量,须结合 sales_text 解读;缺失或无法解析时为 null,不代表零销量;0 表示明确已售 0。 |
| main_images | Yes | 商品顶部主图/轮播图列表 |
| coupon_price | Yes | 当前 SKU 展示的券后/成交价格,单位:元;不保证是最终实付价 |
| stock_status | Yes | 库存状态码;具体码值含义未公开定义,不要自行解释为是否在售或是否可购买 |
| detail_images | Yes | 商品详情图列表 |
| shop_fans_text | Yes | 店铺粉丝数展示值;没有粉丝信息时为空字符串 |
| shop_sold_text | Yes | 店铺已售展示值;没有已售信息时为空字符串 |
| specifications | Yes | 商品属性/规格参数列表(name/value),不是可选 SKU 规格组 |
| shop_avatar_url | Yes | 店铺头像链接 |
| selected_variant | 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 useful input-scoping constraints (no links, spu_id, or search terms) and clarifies the ID source, but does not disclose response behavior or error conditions. This is adequate but not exceptional given the annotation coverage.
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 concise sentences front-load the core operation, then cover sourcing the ID and the alternative tool. No redundant wording; every sentence 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?
For a simple read-only tool with one parameter, full schema coverage, annotations for safety, and an output schema, the description covers the necessary source guidance and exclusions. Nothing essential is missing.
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 input schema covers the single parameter 100% with detailed semantics, including exact copying from search results and unsupported input types. The description largely repeats this guidance, so it adds little beyond the schema. 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 tool retrieves product details by sku_id, a specific verb + resource. It also explicitly differentiates itself from xhs_get_product_detail_by_url and lists unsupported identifiers (product links, spu_id, search terms), making its scope unambiguous.
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 explicitly states when to use the tool: directly when sku_id is available, or obtain the ID from xhs_search_products otherwise. It also names the alternative tool for link-based lookups and states exclusions, providing clear routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_product_detail_by_urlARead-only
根据小红书商品链接、短链接或分享文案获取商品详情,无需先搜索。已有完整 sku_id 时使用 xhs_get_product_detail_by_sku_id;返回的 sku_id 可继续用于商品评价工具。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 小红书商品详情链接、短链接或包含商品链接的完整分享文案。不支持笔记链接、博主主页链接、纯分享口令或搜索词。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| price | Yes | 当前 SKU 的商品原价,单位:元;不是商品搜索的展示销售价,也不是最终实付价 |
| title | Yes | 商品标题 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| sku_id | Yes | 商品 SKU ID |
| shop_id | Yes | 店铺 ID |
| shipping | Yes | 发货信息 |
| shop_name | Yes | 店铺名称 |
| assurances | Yes | 商品保障服务列表 |
| sales_text | Yes | 平台展示的商品销量文本;没有时为空字符串。带“+”的数量表示下限,不是精确销量;结合 sold_count 解读。 |
| shop_score | Yes | 店铺评分展示值;没有评分时为空字符串 |
| sold_count | Yes | 已售数量;平台以带“+”的千级或万级文本展示时转换为对应整数下限(如“90.2k+ sold”返回 90200、“已售1.2万+”返回 12000),不是精确销量,须结合 sales_text 解读;缺失或无法解析时为 null,不代表零销量;0 表示明确已售 0。 |
| main_images | Yes | 商品顶部主图/轮播图列表 |
| coupon_price | Yes | 当前 SKU 展示的券后/成交价格,单位:元;不保证是最终实付价 |
| stock_status | Yes | 库存状态码;具体码值含义未公开定义,不要自行解释为是否在售或是否可购买 |
| detail_images | Yes | 商品详情图列表 |
| shop_fans_text | Yes | 店铺粉丝数展示值;没有粉丝信息时为空字符串 |
| shop_sold_text | Yes | 店铺已售展示值;没有已售信息时为空字符串 |
| specifications | Yes | 商品属性/规格参数列表(name/value),不是可选 SKU 规格组 |
| shop_avatar_url | Yes | 店铺头像链接 |
| selected_variant | Yes | 当前选中规格;没有规格时为空字符串 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
注解已声明 readOnlyHint=true 和 openWorldHint=true,因此安全行为已有覆盖。描述额外补充了行为上下文:接受短链接和分享文案、无需先搜索、返回的 sku_id 可复用,为调用决策提供了有价值的信息。
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?
工具只有一个参数、有输出 schema 和注解,描述已覆盖输入变体、与 SKU 工具的区分以及返回值复用路径。没有明显缺口,代理在需要调用时不会缺少关键信息。
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 对参数 url 的描述已非常完整,覆盖支持和不支持的链接类型(覆盖率 100%)。描述本身没有在 schema 之外增加新的参数格式细节,按基线给予 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?
描述明确说明工具功能:根据商品链接、短链接或分享文案获取商品详情,动词和资源清晰。还通过指向 xhs_get_product_detail_by_sku_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?
描述明确给出使用时机:已有完整 sku_id 时改用 xhs_get_product_detail_by_sku_id,无需先搜索,且指出返回的 sku_id 可继续用于商品评价工具。排除了替代方案并给出下游用途,属于显式指引。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_product_review_repliesARead-only
根据一级商品评价 review_id 获取其下回复;已有该 ID 时直接使用,否则可从 xhs_get_product_reviews 获取;支持 page_token 翻页。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回,不得截断、缩写、掩码或用省略号替换中间内容;不接受 root_review_id。
| Name | Required | Description | Default |
|---|---|---|---|
| review_id | Yes | 一级商品评价 ID。用户已提供时原样使用;否则从 xhs_get_product_reviews 的 items[*].review_id 原样复制。不要传 root_review_id。 | |
| page_token | No | 商品评价回复分页令牌。首次请求留空;续页时将上一页返回的完整 next_page_token 原样传回。令牌只绑定同一一级评价和调用方,不能跨链路复用。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页商品评价回复列表 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| next_page_token | Yes | 下一页不透明商品评价回复分页令牌;为空表示没有更多结果或当前无法继续翻页。继续翻页时必须原样传回,只能用于同一一级评价和调用方。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals a non-mutating read, and the description adds valuable behavioral constraints: the next_page_token must be passed back verbatim, must not be truncated or modified, and root_review_id must not be supplied. These details go beyond what the annotations alone would 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?
The description is compact, front-loaded with the core operation, and every sentence adds needed guidance. The token integrity warning is specific and directly actionable rather than filler.
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 two-parameter read-only tool with a supplied output schema, the description covers ID sourcing, parent-tool routing, first-page vs. continuation behavior, and an explicit exclusion of root_review_id. Nothing necessary for correct invocation is missing.
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%, and the schema already documents review_id sourcing and exact page_token reuse rules. The main description mostly reinforces those rules rather than introducing new parameter-level meaning, so the baseline score 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 states a precise verb-and-resource pair: fetch replies under a top-level product review by review_id. It clearly distinguishes this tool from xhs_get_product_reviews and note-comment siblings by scoping to product review replies and rejecting root_review_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 explicitly says to use an existing review_id directly and otherwise obtain one from xhs_get_product_reviews. It also explains pagination semantics and the continuation requirement, so an agent knows exactly when and how to invoke the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_product_review_reply_repliesARead-only
根据商品评价回复 review_id 获取其下的嵌套回复;已有该 ID 时直接使用,否则可从 xhs_get_product_review_replies 获取;支持 page_token 翻页。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回,不得截断、缩写、掩码或用省略号替换中间内容;不接受 root_review_id。
| Name | Required | Description | Default |
|---|---|---|---|
| review_id | Yes | 商品评价回复 ID。用户已提供时原样使用;否则从 xhs_get_product_review_replies 的 items[*].review_id 原样复制。不要传 root_review_id。 | |
| page_token | No | 商品评价回复的回复分页令牌。首次请求留空;续页时将上一页返回的完整 next_page_token 原样传回。令牌只绑定同一父级回复和调用方,不能跨链路复用。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页商品评价回复的回复列表 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| next_page_token | Yes | 下一页不透明商品评价回复的回复分页令牌;为空表示没有更多结果或当前无法继续翻页。继续翻页时必须原样传回,只能用于同一父级回复和调用方。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety. The description adds valuable behavioral context: pagination semantics (token must be passed back unchanged, no truncation), the requirement to use the exact next_page_token, and the exclusion of root_review_id. It doesn't cover error handling or invalid tokens, but given annotation coverage, this is sufficient.
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, dense sentence that front-loads the purpose and then covers usage, token handling, and exclusions. It is efficient with no filler, though slightly run-on. The key information is packed clearly.
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's complexity (pagination with token integrity) and the presence of an output schema, the description covers all necessary usage aspects: purpose, ID sourcing, pagination protocol, and parameter exclusions. Nothing essential for correct invocation is missing.
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 both parameters documented. The description adds meaning beyond schema: it specifies the source for review_id (from xhs_get_product_review_replies) and the token integrity requirement (must be passed back unchanged). This enriches the parameter semantics beyond the schema descriptions.
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?
States a specific verb (获取/get), resource (商品评价回复的嵌套回复/nested replies of a product review reply), and key parameter (review_id). Clearly distinguishes from sibling xhs_get_product_review_replies by specifying it retrieves replies to a reply, not top-level replies. Also explicitly excludes root_review_id, reinforcing scope.
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?
Explicitly states when to use: if review_id is available, use directly; otherwise obtain it from xhs_get_product_review_replies. Names the exact sibling tool as the source for the required ID. Also provides pagination instructions (pass next_page_token back as page_token) and a negative constraint (does not accept root_review_id). These guidelines leave no ambiguity about when and how to invoke.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_product_reviewsARead-only
根据小红书商品 sku_id 获取商品评价;已有该 ID 时直接使用,否则可从 xhs_search_products 获取;支持 sort_type、has_image 和 page_token 翻页。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回,不得截断、缩写、掩码或用省略号替换中间内容;不支持商品链接、spu_id 或搜索词。
| Name | Required | Description | Default |
|---|---|---|---|
| sku_id | Yes | 小红书商品 SKU ID。用户已提供时原样使用;否则从 xhs_search_products 的 items[*].sku_id 原样复制。不支持 spu_id、商品链接或搜索关键词。 | |
| has_image | No | 是否只返回带图片的商品评价 | |
| sort_type | No | 商品评价排序方式,可选:general(综合,默认)、time_descending(最新评价优先) | general |
| page_token | No | 商品评价分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 只能用于同一商品 SKU、排序、图片筛选和调用方的商品评价链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页商品评价列表 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| next_page_token | Yes | 下一页不透明商品评价分页令牌;items 为空时仍应继续翻页;为空表示没有更多结果或当前无法继续翻页。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一商品 SKU、排序、图片筛选和调用方的商品评价链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds important behavioral detail beyond the readOnlyHint annotation, especially around pagination: the returned next_page_token must be passed verbatim as the next page_token, and pages cannot be truncated, abbreviated, masked, or replaced with ellipses. This is a concrete, actionable constraint that affects 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 appropriately brief and well-ordered: it states the core operation first, then explains how to obtain the ID, then the support parameters and pagination behavior, and finally which inputs are not supported. Every sentence adds useful operational 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?
Given that an output schema exists and the annotations already signal read-only and open-world behavior, the description covers all essential invocation details: how to get the required id, how to paginate correctly, and what not to pass. No critical usage gap remains.
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%, so the input schema already documents all parameters. The description largely reinforces the same information, such as sku_id provenance and page_token integrity, without adding significant new 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 explicitly states the tool's function — 根据小红书商品 sku_id 获取商品评价 — giving a specific verb, resource, and identifier type. It also differentiates from other tools by stating what it does not support: 商品链接、spu_id 和搜索词, and it points to xhs_search_products as the source for missing sku_id values.
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 a clear usage rule: 已有该 ID 时直接使用,否则可从 xhs_search_products 获取. This tells the agent when to use this tool directly and when to first call another tool. It also gives a strong when-not cursor by rejecting product links, spu_id, and search terms as inputs.
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 | 搜索热榜条目列表 |
| points | 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 does not contradict these, but it adds no additional behavioral context—e.g., whether the list updates frequently, whether it requires authentication, or what happens if the list is unavailable. With annotations covering the key traits (read-only, open world), the lack of further detail is acceptable but not enhanced.
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 in Chinese. It conveys the purpose efficiently without any filler. However, it could be slightly less terse if it included the English equivalent for non-Chinese agents.
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 no parameters and has an output schema, the description is sufficient for understanding the tool's purpose. The output schema presumably defines the structure of the hot list, so the description does not need to explain return values. One might wish for additional context about what 'hot list' means (e.g., trending topics, searches), but the purpose is clear 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?
The input schema has zero parameters, so the description cannot add parameter details. With no parameters, the baseline is 4—the description is sufficient as there are no parameter semantics to elaborate.
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 gets the 小红书 search hot list (search hot list for Xiaohongshu). The verb '获取' (get) and resource '搜索热榜' (search hot list) are specific. Among sibling tools that focus on notes, comments, user info, products, and search results, this one uniquely addresses the hot list, providing good differentiation.
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 this should be used when an agent or user wants the current trending/search hot list from Xiaohongshu. However, it does not explicitly state when to use this versus alternatives (e.g., when to prefer this over search functions like xhs_search_notes). No exclusions or context about frequency or user need are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_topic_notes_by_page_idARead-only
根据 page_id 获取标签页笔记列表,支持 sort_type 排序和 page_token 翻页。
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | 小红书标签页 page_id。 | |
| sort_type | No | 标签页笔记排序方式,可选:hot(最热,默认)、time_descending(最新) | hot |
| page_token | No | 分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌,只绑定当前标签页和排序链路,不能跨 page_id 或排序复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 标签页笔记列表 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| next_page_token | Yes | 下一页不透明分页令牌;非空表示可尝试请求下一页,为空表示当前没有可继续的下一页令牌。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只绑定当前标签页和排序链路,不能跨 page_id 或排序复用;items 为空时不要单独据此判断结束;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
| total_note_count | Yes | 标签页笔记总数 |
| total_user_count | 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 safety profile is covered. The description adds that the call supports sorting and pagination, which is mild behavioral context, but it does not go beyond that with e.g. what happens on invalid page_id, data volume, or the meaning of open-world results.
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?
A single front-loaded sentence: core action and identifier first, then the two capability notes. Every word earns its place, and there is zero redundant restatement of the tool name or schema fields.
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 read-only list tool with 3 parameters (1 required), a full output schema covering return values, and annotations covering safety, the description is adequate. The one meaningful gap is not referencing xhs_get_topic_notes_by_topic_url so the agent can route by identifier type (page_id vs topic_url), though the sibling names largely communicate this.
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% and the page_token schema description is exceptionally detailed (opaque token, no reuse across page_id/sort, no modification). The tool description merely mentions sort_type and page_token by role, adding no meaning beyond what the schema already provides, so the high-coverage baseline 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 states a specific verb + resource: '获取标签页笔记列表' (get tag page notes list) keyed by page_id, plus the two capabilities sort and pagination. It is clear but does not explicitly differentiate from the very close sibling xhs_get_topic_notes_by_topic_url; the distinction is left to the tool name rather than stated in the description.
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 phrase '根据 page_id' implies the tool is for cases where the agent holds a page_id, and the pagination rules are well documented in the page_token schema description. However, the description never explicitly says when not to use it nor names the URL-based alternative, so routing guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_topic_notes_by_topic_urlARead-only
根据话题页链接、短链接或分享文案获取标签页笔记列表,支持 sort_type 排序和 page_token 翻页。
| Name | Required | Description | Default |
|---|---|---|---|
| sort_type | No | 标签页笔记排序方式,可选:hot(最热,默认)、time_descending(最新) | hot |
| topic_url | Yes | 小红书话题页链接、短链接或分享文案。支持以下形式:1) xiaohongshu.com/topic/normal/... 话题页长链;2) xhslink.com / xhslink.cn / xhsurl.com / xhsurl.cn 短链接;3) 包含上述任一链接的完整分享文案。 | |
| page_token | No | 分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌,只绑定当前标签页和排序链路,不能跨 page_id 或排序复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 标签页笔记列表 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| next_page_token | Yes | 下一页不透明分页令牌;非空表示可尝试请求下一页,为空表示当前没有可继续的下一页令牌。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只绑定当前标签页和排序链路,不能跨 page_id 或排序复用;items 为空时不要单独据此判断结束;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
| total_note_count | Yes | 标签页笔记总数 |
| total_user_count | Yes | 标签页涉及用户总数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds only that sorting and pagination are supported, which is already visible in the schema; it contributes little extra behavioral context beyond the 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?
A single sentence states the purpose and key capabilities with no filler. Every element in the description 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?
With a full input schema, output schema, and read-only annotations, the description is sufficient for an agent to select and invoke the tool correctly. It could add an explicit pointer to xhs_get_topic_notes_by_page_id for page-ID scenarios, but that is a routing nicety, not an invocation gap.
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%, so the schema already documents topic_url formats, sort_type enum, and page_token behavior. The description only restates that sorting and pagination are supported, adding no new meaning 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 states a specific verb and resource: it fetches the topic notes list from a topic URL, short link, or share text. This also differentiates it from the sibling xhs_get_topic_notes_by_page_id, which uses a page ID instead of a 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 makes the intended trigger explicit: use this tool when the caller has a topic page link, short link, or share text. It does not mention the page_id alternative or state exclusions, so it misses the full 'when not to use' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_get_user_id_by_encrypted_user_idARead-only
根据完整加密用户 ID 获取稳定 user_id。
| Name | Required | Description | Default |
|---|---|---|---|
| encrypted_user_id | Yes | 小红书加密用户 ID。用户已提供时直接原样使用;请传入完整 29 位小写十六进制值;不要传 24 位 user_id、小红书号、昵称或主页链接 |
Output Schema
| Name | Required | Description |
|---|---|---|
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| user_id | Yes | 稳定用户 user_id |
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. The description, though brief, adds valuable context by specifying the required format of the encrypted user ID (29-bit lowercase hex). However, it doesn't disclose potential failure cases or error behavior, but given the annotations, the bar is lowered and this additional format detail justifies a 4.
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 with no unnecessary words. It is front-loaded with the main action and outcome, and the parameter schema handles all additional details, making it optimally concise.
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 with a rich schema description and an output schema (as indicated by context signals), the description is sufficient for understanding the input and expected result. It doesn't describe return values, but since an output schema exists, that is not required. The main missing piece is explicit mention of use-cases or limitations, but it's still complete enough for an agent to call it correctly.
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 description coverage is 100%, so the schema already documents the parameter thoroughly. The description does not add further semantics beyond what the schema provides, so a baseline score of 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 '获取' (get) and the resource 'user_id' derived from an encrypted user ID, which is distinct from other tools that fetch user info by profile URL or user ID. It precisely identifies the input and output, making it easy for an agent to understand its purpose.
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?
While the description doesn't explicitly mention when to use this tool over alternatives, the parameter schema provides strong guidance by explicitly stating what not to pass (24-bit user_id, nickname, etc.). This is clear context but lacks an explicit alternative tool reference, so it doesn't fully reach a 5.
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 | 用户名称 |
| points | 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 (safe read) and openWorldHint=true (results may vary). The description adds valuable behavioral context beyond annotations: it clarifies that the tool accepts multiple URL formats and share text, and explicitly prohibits note links. No contradictions with 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 sentence that directly states the tool's purpose and input options. It is concise and front-loaded, with no wasted words. Could slightly improve by adding a brief usage hint, but overall efficient.
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's low complexity (one parameter, output schema present, annotations provided), the description is fully adequate. It specifies the allowed input formats and what to avoid, while the output schema covers return values. No gaps remain for an agent to use this tool correctly.
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 input schema covers 100% of parameters, with a detailed description of the 'profile_url' parameter. The tool description repeats the supported formats but adds no new semantic meaning beyond what the schema already provides. 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 identifies the action ('get') and resource ('single Xiaohongshu user info'), and specifies the input type (profile link, short link, or share text). This distinguishes it from sibling tools like 'xhs_get_user_info_by_user_id' (which takes a user ID) and 'xhs_get_user_posted_notes_by_profile_url' (which retrieves notes, not user info).
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 suggests usage when a profile URL is available, and the schema explicitly warns not to pass note links. However, it does not explicitly compare to alternatives or state when to use this tool versus 'xhs_get_user_info_by_user_id' or other siblings. The guidance is present 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_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 | 用户名称 |
| points | 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 agent knows this is a safe read operation in an open world. The description itself adds no further behavioral context (e.g., error handling, rate limits), but this is acceptable given the annotations cover the safety profile. No contradiction exists.
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. There is no extraneous information, and all additional guidance is appropriately placed in the schema, keeping the description lean and front-loaded.
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 tool has a single parameter fully documented in the schema, annotations declare safety traits, and an output schema exists so return values are separately specified. The description is complete for a simple, read-only lookup tool—nothing an agent needs 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the user_id parameter is thoroughly documented with a description explaining origin, alternatives, and exclusions. The tool description adds no additional parameter semantics, but the schema already carries the full burden, 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 '根据 user_id 获取单个小红书用户信息' clearly states the action (get) and resource (single Xiaohongshu user info) and specifies the input method (by user_id). It distinguishes itself from the sibling tool xhs_get_user_info_by_profile_url via the parameter schema's note about using profile_url for home page links, so an agent can tell them apart.
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 parameter description explicitly provides usage guidance: it instructs to use user_id as-is when provided, where to copy it from other results, and specifically says '如果只有主页链接,请使用 profile_url 入口' (if only home page link, use profile_url), while also warning against using Xiaohongshu number, nickname, or homepage name. This clearly routes the agent to the correct tool and input.
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
根据主页链接、短链接或分享文案获取用户已发布笔记列表,支持 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 | 当前页用户发帖摘要列表 |
| points | 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 mark the tool as readOnlyHint and openWorldHint, so the safety profile is established. The description adds that the operation supports page_token pagination, which is a behavioral trait beyond the annotations. However, it does not disclose ordering, visibility of returned notes, rate limits, or response behavior beyond pagination, and the deeper token constraints live in the schema rather than the description.
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 that front-loads the verb, resource, and accepted input forms, then states pagination support. It is concise, scannable, and contains no redundant filler.
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?
With a detailed input schema, an output schema, and readOnly/openWorld annotations, the tool definition is largely sufficient for correct invocation. The only notable gap is the absence of explicit guidance for choosing between this tool and closely related siblings, though the tool name and parameter type make the decision mostly unambiguous.
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%: profile_url documents long links, short links, and share text, and page_token fully documents the opaque, same-user-only, must-be-returned-unmodified rules. The description only restates the accepted link forms and pagination support, adding no new parameter meaning 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 action (获取, 'get'), the resource (用户已发布笔记列表, 'list of user's published notes'), and the accepted input forms (主页链接/短链接/分享文案). It also mentions page_token pagination. The input-type distinction differentiates it from sibling xhs_get_user_posted_notes_by_user_id even without naming it.
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 use when the agent has a profile URL, short link, or share text and needs a user's published notes. The profile_url parameter additionally instructs '不要传笔记链接' (do not pass note links), which is a useful exclusion. However, there is no explicit mention of when to prefer this tool over siblings like xhs_get_user_posted_notes_by_user_id or xhs_get_user_info_by_profile_url, leaving alternative selection to inference.
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 获取用户已发布笔记列表,支持 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 | 当前页用户发帖摘要列表 |
| points | 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?
注解已声明 readOnlyHint=true 和 openWorldHint=true,说明这是只读操作且结果可能超出已知集合。描述额外补充了翻页行为:首次留空、后续必须传回完整 next_page_token,且令牌不能跨用户复用、不得修改。这些对 agent 正确调用很重要。但描述未提及返回结构或可能的错误情况,考虑到注解已覆盖安全性,评分为 3 合理。
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?
描述一句话点明核心功能,简短高效。关键的使用规则(翻页)放在描述中,而详细参数语义放在 schema 中,整体结构合理。唯一不足是描述没有提及与 profile_url 版本的区别,但参数说明中已补充,不影响简洁性评分。
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?
工具复杂度中等,有输出 schema 且注解完整,描述已覆盖核心调用方式(user_id + 翻页)。缺少的可能是对返回字段的简要说明,但输出 schema 已承担该职责。考虑到 openWorldHint=true,描述不需要列举所有可能结果,整体对 agent 正确调用已足够。
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 为 100%,两个参数在 schema 中已有详细说明,尤其是 user_id 的来源优先级和 page_token 的完整使用规则。描述本身没有在 schema 之外增加新的参数语义,因此按高覆盖基线评 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?
描述明确说明通过 user_id 获取用户已发布笔记列表并支持 page_token 翻页,动词和资源清晰。与兄弟工具 xhs_get_user_posted_notes_by_profile_url 形成明确区分,一个按 user_id、一个按 profile_url,agent 无需打开 schema 即可区分。
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 参数说明中的详细指引(用户已提供则原样使用;否则可从其他结果复制;只有主页链接时用 profile_url 入口),隐式给出了与 xhs_get_user_posted_notes_by_profile_url 的选择依据。缺少明确的'何时不用'声明,但上下文已足够指导选择。
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_id,或提交工具返回的 job_id 查询任务状态;用于继续未完成任务,每次最多等待 240 秒,不触发重处理,也不要重复提交任务。
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | 口播转文字任务 ID;用户已提供时直接使用,否则使用提交工具返回的 job_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?
Beyond the readOnlyHint and openWorldHint annotations, the description discloses the blocking wait behavior ('每次最多等待 240 秒' - wait up to 240 seconds each time) and the idempotency traits (no re-processing, no re-submission). These are valuable behavioral details not captured by annotations. It does not describe what happens on timeout, but the output schema covers return structure.
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, well-structured sentence that front-loads the primary action and then adds usage, timeout, and exclusion guidance. It is dense but not verbose, with every clause earning its place. A 4 reflects that it is efficient while slightly dense; could be split for readability but is far from under-specified.
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 there is an output schema, the description adequately covers the essential operational context: when to use, the blocking wait, and explicit prohibitions against resubmission and re-processing. It implies repeated calls are allowed ('每次最多等待' - each time). No critical information for correct invocation is missing, making it 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?
The input schema has 100% coverage and already thoroughly explains the job_id parameter, including instructions on sourcing it from the user or submission tool and not passing note_id. The description essentially repeats this without adding new semantics. Baseline 3 is correct since the schema does the heavy lifting.
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: '查询任务状态' (query task status) for a specific resource, the job_id. It explicitly mentions it is used to continue unfinished tasks, which distinguishes it from the sibling submission tools (e.g., xhs_submit_video_speech_text_by_note_id). The purpose is unambiguous and 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?
The description provides clear when-to-use context: '用于继续未完成任务' (used to continue unfinished tasks). It also gives exclusions: '不要重复提交任务' (do not resubmit tasks) and '不触发重处理' (do not trigger re-processing), implicitly steering the agent away from the submission siblings. However, it does not explicitly name the alternative submission tools, so a 4 is appropriate rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_pgy_get_creator_commercial_overviewARead-only
根据完整 user_id 获取小红书蒲公英创作者商业概览:笔记规模和中位数、服务表现、平台标签、增长、预估成本及对比值。 查询指定日常/合作口径的商业汇总与成本参考时使用,不返回逐篇明细。逐篇表现使用创作者笔记表现工具,也可选择日常或合作口径。资料与报价使用创作者档案工具,粉丝构成使用粉丝画像工具。 查看日常内容表现选 daily(默认,不是按天汇总);查看商单、品牌合作笔记或外溢进店的汇总表现选 cooperation。输出回显口径,不能混用;不是对全部字段统一筛选,note_count 不能解释为所选口径的笔记数。两种口径的成本估计依据不同,均不代表实际成交成本或ROI。 不支持指定日期,统计截止日期未提供;进店不等于订单或成交,不据此推断调用方自己的投放成绩。 成功直接返回业务字段和 points;成功调用扣减 20 积分,失败不扣费。
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | 小红书用户 ID。已有完整 user_id 时原样使用,否则从用户搜索、用户信息或笔记作者信息获取;不要传昵称、小红书号、主页链接或笔记 ID。 | |
| note_scope | No | 笔记统计口径:查看日常内容表现选 daily(默认),不是按天汇总;查看商单、品牌合作笔记或外溢进店表现选 cooperation;输出回显实际口径,不能混用;不表示所有字段均按此口径拆分,note_count 等字段按各自说明解读 | daily |
Output Schema
| Name | Required | Description |
|---|---|---|
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| user_id | Yes | 小红书用户 ID。已有完整 user_id 时原样使用,否则从用户搜索、用户信息或笔记作者信息获取;不要传昵称、小红书号、主页链接或笔记 ID。 |
| data_date | Yes | 平台标注的数据日期(YYYY-MM-DD);不代表查询时间或各指标统计截止日期;未知时为 null |
| note_count | Yes | 平台 30 天窗口内发布笔记数;不能因 note_scope=daily/cooperation 就解释为日常/合作笔记数量,不作为所选口径中位数的样本数量;不代表全部历史,截止日期未提供;未知时为 null |
| note_scope | Yes | 笔记统计口径:查看日常内容表现选 daily(默认),不是按天汇总;查看商单、品牌合作笔记或外溢进店表现选 cooperation;输出回显实际口径,不能混用;不表示所有字段均按此口径拆分,note_count 等字段按各自说明解读 |
| read_median | Yes | 平台 30 天窗口内所选口径笔记的阅读量中位数,不是累计阅读量;截止日期未提供,不用其他接口明细复算;未知时为 null |
| content_tags | Yes | 平台 30 天窗口发布笔记的 TOP2 内容类目及笔记数量占比;不代表完整分布,不归一化或补其他,不保证与笔记表现接口同口径;未知时为 null,明确为空时为 [] |
| response_rate | Yes | 历史邀约合作消息在 48 小时内回复的比例,0.852 表示 85.2%;48 小时是回复时限,不是统计周期;累计周期和完整分母未提供,不用邀约数推算回复次数;邀约数不足 3 时不用于评价回复表现,不视为合作接受率;未知时为 null |
| active_days_7d | Yes | 平台 7 天统计窗口内登录小红书 App 的天数;截止日期未提供,不按查询日期或 data_date 推算起止日期,不等同发布笔记天数;未知时为 null |
| industry_labels | Yes | 平台 30 天窗口内 TOP2 合作品牌行业;原样保留,不代表全部行业或具体品牌合作清单,不保证与创作者档案同口径;未知时为 null,明确为空时为 [] |
| commercial_label | Yes | 平台给出的商业标签原文,仅作平台评价展示,不作为独立评价结论;未知时为 null |
| invitation_count | Yes | 平台返回的邀约数量;统计周期、邀约方向及状态范围未明确,不等于成交或成功合作数量;未知时为 null |
| impression_median | Yes | 平台 30 天窗口内所选口径笔记的曝光量中位数,不是累计曝光量;截止日期未提供,不用其他接口明细复算;未知时为 null |
| interaction_median | Yes | 平台 30 天窗口内所选口径笔记的互动量中位数,不是累计互动量;截止日期未提供,互动构成按平台口径,不用其他接口明细复算;未知时为 null |
| estimated_video_cpm | Yes | 平台预估视频 CPM,单位人民币元/千次曝光;daily 根据报价与相关笔记中位数预估,cooperation 根据近30天合作笔记价格和表现估计;不按本响应的中位数自行复算,不是实际成交成本或效果承诺;无法预估、未知或零值时为 null |
| read_benchmark_rate | Yes | 平台返回的指标对比值,范围 0~1;比较对象和计算方式未公开,不得视为固定阈值、行业排名或百分位;未知时为 null;对应平台 30 天窗口的所选口径笔记中位数,不保证与笔记表现接口同口径 |
| estimated_picture_cpm | Yes | 平台预估图文 CPM,单位人民币元/千次曝光;daily 根据报价与相关笔记中位数预估,cooperation 根据近30天合作笔记价格和表现估计;不按本响应的中位数自行复算,不是实际成交成本或效果承诺;无法预估、未知或零值时为 null |
| follower_growth_rate_30d | Yes | 平台 30 天统计窗口的粉丝增长率,0.1 表示 10%;不是构成占比,不限于 0–1。截止日期和计算基数未提供,不按查询日期或 data_date 推算窗口,不与其他周期增长率混用;未知时为 null |
| estimated_video_read_cost | Yes | 平台预估视频阅读单价,单位人民币元/次阅读;daily 根据报价与相关笔记中位数预估,cooperation 根据近30天合作笔记价格和表现估计;不按本响应的中位数自行复算,不是实际成交成本或效果承诺;无法预估、未知或零值时为 null |
| impression_benchmark_rate | Yes | 平台返回的指标对比值,范围 0~1;比较对象和计算方式未公开,不得视为固定阈值、行业排名或百分位;未知时为 null;对应平台 30 天窗口的所选口径笔记曝光中位数,不保证与笔记表现接口同口径 |
| interaction_benchmark_rate | Yes | 平台返回的指标对比值,范围 0~1;比较对象和计算方式未公开,不得视为固定阈值、行业排名或百分位;未知时为 null;对应平台 30 天窗口的所选口径笔记中位数,不保证与笔记表现接口同口径 |
| estimated_picture_read_cost | Yes | 平台预估图文阅读单价,单位人民币元/次阅读;daily 根据报价与相关笔记中位数预估,cooperation 根据近30天合作笔记价格和表现估计;不按本响应的中位数自行复算,不是实际成交成本或效果承诺;无法预估、未知或零值时为 null |
| outbound_store_visit_median | Yes | 平台30天合作笔记范围内的外溢进店量中位数;不是累计人数、订单数或成交额,窗口截止日未明确;daily 或未知时为 null |
| commercial_label_description | Yes | 平台商业标签说明原文;涉及排名或比较的文字仅代表平台说法,不提取为独立排名或百分位数值;未知时为 null |
| estimated_video_interaction_cost | Yes | 平台预估视频互动单价,单位人民币元/次互动;daily 根据报价与相关笔记中位数预估,cooperation 根据近30天合作笔记价格和表现估计;不按本响应的中位数自行复算,不是实际成交成本或效果承诺;无法预估、未知或零值时为 null |
| estimated_video_store_visit_cost | Yes | 平台预估视频外溢进店单价,人民币元/进店;依据近30天跨域合作笔记价格及进店UV估计,不是成交成本或ROI;daily、不可预估、零值或未知时为 null |
| estimated_picture_interaction_cost | Yes | 平台预估图文互动单价,单位人民币元/次互动;daily 根据报价与相关笔记中位数预估,cooperation 根据近30天合作笔记价格和表现估计;不按本响应的中位数自行复算,不是实际成交成本或效果承诺;无法预估、未知或零值时为 null |
| estimated_picture_store_visit_cost | Yes | 平台预估图文外溢进店单价,人民币元/进店;依据近30天跨域合作笔记价格及进店UV估计,不是成交成本或ROI;daily、不可预估、零值或未知时为 null |
| estimated_video_cpm_benchmark_rate | Yes | 平台返回的指标对比值,范围 0~1;比较对象和计算方式未公开,不得视为固定阈值、行业排名或百分位;未知时为 null;对应预估视频 CPM,不是实际成本或 ROI;相应预估成本不可用时为 null |
| follower_growth_benchmark_rate_30d | Yes | 平台返回的指标对比值,范围 0~1;比较对象和计算方式未公开,不得视为固定阈值、行业排名或百分位;未知时为 null;对应平台 30 天粉丝增长指标,窗口截止日期未提供;不是实际粉丝增长率 |
| outbound_store_visit_benchmark_rate | Yes | 平台返回的指标对比值,范围 0~1;比较对象和计算方式未公开,不得视为固定阈值、行业排名或百分位;未知时为 null;对应合作笔记外溢进店中位数;daily 时为 null |
| estimated_picture_cpm_benchmark_rate | Yes | 平台返回的指标对比值,范围 0~1;比较对象和计算方式未公开,不得视为固定阈值、行业排名或百分位;未知时为 null;对应预估图文 CPM,不是实际成本或 ROI;相应预估成本不可用时为 null |
| estimated_video_read_cost_benchmark_rate | Yes | 平台返回的指标对比值,范围 0~1;比较对象和计算方式未公开,不得视为固定阈值、行业排名或百分位;未知时为 null;对应预估视频阅读单价,不是实际成本或 ROI;相应预估成本不可用时为 null |
| estimated_picture_read_cost_benchmark_rate | Yes | 平台返回的指标对比值,范围 0~1;比较对象和计算方式未公开,不得视为固定阈值、行业排名或百分位;未知时为 null;对应预估图文阅读单价,不是实际成本或 ROI;相应预估成本不可用时为 null |
| estimated_video_interaction_cost_benchmark_rate | Yes | 平台返回的指标对比值,范围 0~1;比较对象和计算方式未公开,不得视为固定阈值、行业排名或百分位;未知时为 null;对应预估视频互动单价,不是实际成本或 ROI;相应预估成本不可用时为 null |
| estimated_video_store_visit_cost_benchmark_rate | Yes | 平台返回的指标对比值,范围 0~1;比较对象和计算方式未公开,不得视为固定阈值、行业排名或百分位;未知时为 null;对应预估视频进店单价,不是实际成本或ROI;daily 或对应成本不可用时为 null |
| estimated_picture_interaction_cost_benchmark_rate | Yes | 平台返回的指标对比值,范围 0~1;比较对象和计算方式未公开,不得视为固定阈值、行业排名或百分位;未知时为 null;对应预估图文互动单价,不是实际成本或 ROI;相应预估成本不可用时为 null |
| estimated_picture_store_visit_cost_benchmark_rate | Yes | 平台返回的指标对比值,范围 0~1;比较对象和计算方式未公开,不得视为固定阈值、行业排名或百分位;未知时为 null;对应预估图文进店单价,不是实际成本或ROI;daily 或对应成本不可用时为 null |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds substantial context beyond them: success deducts 20 points, failure is free, results are returned directly with business fields and points, no date filter is supported and the cutoff date is not provided, store visits do not equal orders/deals, and cost estimates do not represent actual transaction cost or ROI. These are exactly the cautions an agent needs before invoking.
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?
Purpose is appropriately front-loaded, but the definition is long and the daily/cooperation explanations, caveats and cost notes repeat material already present in the schema parameter descriptions. Several sentences could be trimmed without losing routing information, so it is functional rather than tight.
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?
An output schema exists, so return values need no explanation, and the description still adds the point-cost model and the key semantic caveats. Combined with full schema coverage and clear sibling routing, an agent has what it needs; only the redundancy noted above keeps it from being exhaustive.
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%, so the baseline is 3. The description reinforces the scope semantics (daily is not per-day aggregation; outputs echo the actual scope; note_count cannot be read as the selected scope's note count) but this text largely duplicates the note_scope schema description verbatim, so it adds little the schema does not already carry.
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?
States a specific verb (获取) and resource (蒲公英创作者商业概览) and enumerates exactly what the overview contains: note scale and median, service performance, platform tags, growth, estimated cost and comparison values. It also explicitly names the sibling tools it is not (逐篇表现/创作者笔记表现工具, 资料与报价/创作者档案工具, 粉丝构成/粉丝画像工具), so an agent can route without opening any schema.
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?
Gives explicit when-to-use (查询指定日常/合作口径的商业汇总与成本参考), explicit when-not (不返回逐篇明细, 不支持指定日期), and names the alternative tools for each excluded need. The daily vs cooperation selection rule is stated as a decision: daily for everyday content performance, cooperation for brand/商单/sponsored notes or store-overflow summaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_pgy_get_creator_fans_profileARead-only
根据完整 user_id 获取小红书蒲公英创作者粉丝画像,包括年龄、性别、地域、城市、兴趣和设备品牌分布及数据日期。 查询粉丝构成时使用;粉丝规模、增长、活跃、阅读和互动情况使用创作者粉丝汇总工具;创作者资料和报价使用创作者档案工具。 使用平台默认统计范围,不支持指定日期;分布不保证完整,不能据此推算粉丝人数或补齐其他类别。 成功返回画像字段和 points;成功调用扣减 20 积分,失败不扣费。
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | 小红书用户 ID。已有完整 user_id 时原样使用,否则从用户搜索、用户信息或笔记作者信息获取;不要传昵称、小红书号、主页链接或笔记 ID。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| user_id | Yes | 小红书用户 ID。已有完整 user_id 时原样使用,否则从用户搜索、用户信息或笔记作者信息获取;不要传昵称、小红书号、主页链接或笔记 ID。 |
| data_date | Yes | 平台标注的数据日期(YYYY-MM-DD),不代表查询时间或统计起止范围;未知时为 null |
| age_distribution | Yes | 粉丝年龄分布;保留平台年龄区间标签,不推断端点含义;不保证完整,未知时为 null,明确为空时为 [] |
| city_distribution | Yes | 平台返回的粉丝城市分布;不保证列出全部城市,不重新归一化或补其他;未知时为 null,明确为空时为 [] |
| device_distribution | Yes | 粉丝设备品牌分布;不保证列出全部品牌,不重新归一化或补其他;未知时为 null,明确为空时为 [] |
| gender_distribution | Yes | 粉丝性别分布;不推算缺失占比,未知时为 null |
| region_distribution | Yes | 粉丝地域分布;标签可包含省份、中国、海外等,不统一视为省份;不保证完整,未知时为 null,明确为空时为 [] |
| interest_distribution | Yes | 粉丝兴趣分布;不保证分类完整或互斥,不用占比之和推算其他兴趣;未知时为 null,明确为空时为 [] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds substantial context beyond them: platform-default statistics range with no date override, distribution not guaranteed complete and not usable to derive follower counts, returns profile fields plus points, 20-credit deduction on success and no charge on failure. These cost and limitation disclosures are exactly the behavioral detail annotations cannot convey.
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?
Four tightly packed lines, front-loaded with purpose then routing, limitations, and billing. Every sentence carries distinct information with no filler.
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?
With annotations covering read-only/open-world behavior and an output schema present, the description supplies the remaining essentials: intended scope, sibling routing, statistical caveats, and credit cost. Nothing needed to invoke or interpret the call is missing.
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% and the single user_id parameter is fully documented in the schema (pattern, sourcing rules, prohibited inputs). The description adds only the '完整 user_id' emphasis, which largely restates the schema constraint, 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?
States a specific verb and resource (获取小红书蒲公英创作者粉丝画像) and enumerates the exact dimensions returned (年龄、性别、地域、城市、兴趣、设备品牌及数据日期). It explicitly distinguishes itself from the fans-summary and creator-profile siblings, so an agent can route correctly without opening schemas.
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?
Explicitly states when to use it (查询粉丝构成时使用) and names the alternatives with their conditions: 粉丝规模、增长、活跃、阅读和互动 use the fans summary tool, and 创作者资料和报价 use the profile tool. Covers both when-to-use and when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_pgy_get_creator_fans_summaryARead-only
根据完整 user_id 获取小红书蒲公英创作者粉丝总数、平台增长指标、活跃、阅读和互动粉丝人数及占比。 查询粉丝规模和活跃情况时使用;年龄、性别、地域和兴趣等构成使用创作者粉丝画像工具。 不支持指定日期或统计周期;增长周期及各统计窗口截止日期未提供,不能按查询日期推算,不承诺指定期间增长数据。 成功直接返回汇总字段和 points;成功调用扣减 20 积分,失败不扣费。
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | 小红书用户 ID。已有完整 user_id 时原样使用,否则从用户搜索、用户信息或笔记作者信息获取;不要传昵称、小红书号、主页链接或笔记 ID。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| user_id | Yes | 小红书用户 ID。已有完整 user_id 时原样使用,否则从用户搜索、用户信息或笔记作者信息获取;不要传昵称、小红书号、主页链接或笔记 ID。 |
| follower_count | Yes | 蒲公英口径粉丝总数,单位人;未知时为 null |
| read_follower_ratio | Yes | 平台返回的阅读粉丝占比,0.001 表示 0.1%;保留平台精度,分母及统计周期未确认,不能沿用相邻人数字段的 28/30 天周期,不用返回人数复算;未知时为 null |
| follower_growth_rate | Yes | 平台返回的粉丝增长率,0.1 表示 10%;不是粉丝构成占比,不限于 0–1。统计周期和计算基数未明确,不用返回人数复算;未知时为 null |
| active_follower_ratio | Yes | 平台返回的活跃粉丝占比,0.419 表示 41.9%;保留平台精度,分母及统计周期未确认,不能沿用相邻人数字段的 28/30 天周期,不用返回人数复算;未知时为 null |
| follower_growth_count | Yes | 平台返回的粉丝增长数量;统计周期及是否扣除流失未明确,不可直接解释为近 30 天新增关注人数或净增人数;未知时为 null |
| engaged_follower_ratio | Yes | 平台返回的互动粉丝占比,0.1 表示 10%;保留平台精度,0 不表示互动人数一定为 0;分母及统计周期未确认,不能沿用相邻人数字段的 28/30 天周期,不用返回人数复算;未知时为 null |
| read_follower_count_30d | Yes | 平台 30 天统计窗口内的阅读粉丝数,单位人;截止日期未提供,不能按本次查询日期推算起止日期;不是阅读次数;活跃、阅读、互动人数不能假定互斥,不可相加作为总人数;未知时为 null |
| active_follower_count_28d | Yes | 平台 28 天统计窗口内的活跃粉丝数,单位人;截止日期未提供,不能按本次查询日期推算起止日期;活跃判定按平台口径,不等同阅读或互动人数;活跃、阅读、互动人数不能假定互斥,不可相加作为总人数;未知时为 null |
| engaged_follower_count_30d | Yes | 平台 30 天统计窗口内的互动粉丝数,单位人;截止日期未提供,不能按本次查询日期推算起止日期;不是互动次数,具体互动构成按平台口径;活跃、阅读、互动人数不能假定互斥,不可相加作为总人数;未知时为 null |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations, the description discloses cost behavior (成功调用扣减 20 积分,失败不扣费), the success return shape (汇总字段和 points), and a substantive data limitation (增长周期及统计窗口截止日期未提供,不能按查询日期推算). This is exactly the extra operational context annotations cannot carry.
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?
Front-loaded with purpose, then usage/alternative, then data limitations and billing. Every sentence carries signal, though the date/window disclaimer is lengthy and slightly repetitive (不支持指定日期 and 不能按查询日期推算 overlap).
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?
An output schema exists so return values need not be detailed, and the readOnly/openWorld annotations cover the safety profile. With cost, alternative routing, and data-scope caveats all present, an agent has everything needed to call this correctly.
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% for the single user_id parameter and it is fully documented in the schema (including format and anti-patterns). The description only reinforces that a complete user_id is required, adding minimal meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (获取) and a well-enumerated resource set (粉丝总数、平台增长指标、活跃/阅读/互动粉丝人数及占比), and explicitly names the sibling it is not (粉丝画像工具). An agent can distinguish this from xhs_pgy_get_creator_fans_profile without reading either schema.
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?
Gives an explicit trigger (查询粉丝规模和活跃情况时使用) and routes the other case to a named alternative (年龄、性别、地域和兴趣等构成使用创作者粉丝画像工具). It also states exclusions (不支持指定日期或统计周期), leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_pgy_get_creator_metrics_trendARead-only
根据完整 user_id 获取小红书蒲公英创作者曝光、阅读、互动中位数及预估成本的日期趋势和概览。 观察指标随时间变化时使用;中位数按 note_scope 选择日常或合作笔记,固定图文+视频、近30日、全流量,不支持自选日期。合作口径包含进店指标,日常口径的进店字段为 null;输出回显口径,不能混用。 返回指标不是每日新增量或累计总量,不可跨日期求和;可能缺少日期,不补零。 成本估算口径见字段说明,不代表实际成交成本;按图文/视频拆分的成本及商业汇总使用商业概览工具,逐篇表现使用笔记表现工具。 成功直接返回业务字段和 points;成功调用扣减 20 积分,失败不扣费。
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | 小红书用户 ID。已有完整 user_id 时原样使用,否则从用户搜索、用户信息或笔记作者信息获取;不要传昵称、小红书号、主页链接或笔记 ID。 | |
| note_scope | No | 笔记统计口径:日常笔记趋势选 daily(默认,不是按天汇总);合作笔记或进店趋势选 cooperation。输出回显口径,不可混用;成本估算依据见各字段说明 | daily |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 平台返回的日期序列;中位数按 note_scope 选择日常或合作笔记,固定图文+视频、近30日、全流量,成本口径见各字段说明;可能缺少日期,不补零、不插值;未知时为 null,明确为空时为 [] |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| summary | Yes | 平台提供的概览指标及其日期,不是趋势各点之和;缺失时为 null |
| user_id | Yes | 小红书用户 ID。已有完整 user_id 时原样使用,否则从用户搜索、用户信息或笔记作者信息获取;不要传昵称、小红书号、主页链接或笔记 ID。 |
| note_scope | Yes | 笔记统计口径:日常笔记趋势选 daily(默认,不是按天汇总);合作笔记或进店趋势选 cooperation。输出回显口径,不可混用;成本估算依据见各字段说明 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations, it discloses cost behavior (成功扣减 20 积分,失败不扣费), data semantics (median values, cooperation scope includes 进店 fields while daily returns null, no cross-date summation, missing dates are not zero-filled), and response shape (business fields plus points). These are material operational facts an agent cannot infer from 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?
Dense but front-loaded: purpose, then usage, then behavioral caveats. Every clause carries information, though a few points (口径不可混用, 成本口径见字段说明) are repeated across description and schema, adding mild 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?
With an output schema present, return values need not be enumerated, and the description still confirms what success returns. Combined with cost semantics, scope caveats, and explicit sibling routing, an agent has everything required to call this correctly.
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%, so the baseline is 3; the description adds meaning by explaining what the cooperation vs daily scopes imply for 进店 fields and consumption rules. It reinforces the '不可混用' constraint but largely echoes the schema's own note_scope description, so it stops short of a 5.
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?
States a precise verb and resource: fetching date trends and overviews of XHS Pgy creator exposure, reads, interaction medians and estimated cost. It scopes what is fixed (图文+视频, 近30日, 全流量) and explicitly names the sibling tools that cover adjacent needs (商业概览 and 笔记表现), so an agent can distinguish it without opening schemas.
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?
Explicitly gives the trigger condition ('观察指标随时间变化时使用'), the selection rule for note_scope (daily vs cooperation), the hard exclusion ('不支持自选日期'), and routes split-by-format/commercial totals to 商业概览工具 and per-note performance to 笔记表现工具. When-to-use, when-not, and alternatives are all present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_pgy_get_creator_notes_performanceARead-only
根据完整 user_id 获取小红书蒲公英创作者笔记表现,包括笔记数量、曝光/阅读/互动中位数、互动率、视频完播率、图文 3 秒阅读率、内容标签和笔记明细。 查询日常或合作笔记表现及最近明细时使用;商业汇总与成本参考使用商业概览工具,资料和报价使用创作者档案工具。 视频完播相关字段仅在 video_note_count 大于 0 时用于表现判断;图文 3 秒阅读率仅在统计范围内有图文笔记时用于表现判断;其他情况下 0 值不表示对应表现为 0%。 固定近30日、图文+视频、全流量,不支持自选日期或笔记类型;明细最多 15 篇,不是全量列表。仅 notes[] 内的 *_benchmark_rate 是相较于平台中位数的相对差异,允许负数和超过 1,不能当作排名比例;汇总层同名字段仍是平台返回的 0 到 1 对比值,计算方式未公开,不能混用。 成功返回表现字段和 points;成功调用扣减 20 积分,失败不扣费。
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | 小红书用户 ID。已有完整 user_id 时原样使用,否则从用户搜索、用户信息或笔记作者信息获取;不要传昵称、小红书号、主页链接或笔记 ID。 | |
| note_scope | No | 笔记统计口径:日常笔记选 daily(默认,不是按天汇总);商单或品牌合作笔记选 cooperation。固定近30日、图文+视频、全流量;输出回显口径 | daily |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | Yes | 统计范围内最近发布的最多 15 篇笔记表现明细,不是全量列表;未知时为 null,明确为空时为 [] |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| user_id | Yes | 小红书用户 ID。已有完整 user_id 时原样使用,否则从用户搜索、用户信息或笔记作者信息获取;不要传昵称、小红书号、主页链接或笔记 ID。 |
| note_count | Yes | 统计范围内笔记数;未知时为 null |
| note_scope | Yes | 笔记统计口径:日常笔记选 daily(默认,不是按天汇总);商单或品牌合作笔记选 cooperation。固定近30日、图文+视频、全流量;输出回显口径 |
| like_median | Yes | 笔记点赞量中位数;未知时为 null |
| read_median | Yes | 笔记阅读量中位数;未知时为 null |
| content_tags | Yes | 笔记内容标签分布;返回标签不保证覆盖全部内容,占比之和不保证为 1;不要自行归一化或补齐其他类别;未知时为 null,明确为空时为 [] |
| share_median | Yes | 笔记分享量中位数;未知时为 null |
| collect_median | Yes | 笔记收藏量中位数;未知时为 null |
| comment_median | Yes | 笔记评论量中位数;未知时为 null |
| interaction_rate | Yes | 平台返回的笔记互动率,0.195 表示 19.5%;本响应未提供可确认的计算分母和完整统计口径,不可用返回计数自行复算;未知时为 null |
| video_note_count | Yes | 统计范围内视频笔记数;未知时为 null |
| impression_median | Yes | 笔记曝光量中位数;未知时为 null |
| hundred_like_ratio | Yes | 获赞不少于 100 的笔记占比,0.1 表示 10%;未知时为 null |
| image_3s_view_rate | Yes | 图文笔记 3 秒阅读率,0.195 表示 19.5%;仅在统计范围内有图文笔记时用于表现判断;否则 0 值不表示 3 秒阅读率为 0%;未知时为 null |
| interaction_median | Yes | 平台汇总口径的笔记互动量中位数;不保证与 notes[].interaction_count 的统计口径一致,不可直接用返回的笔记明细复算;未知时为 null |
| read_benchmark_rate | Yes | 平台返回的指标对比值,范围 0~1;比较对象和计算方式未公开,不得视为固定阈值、行业排名或百分位;未知时为 null |
| thousand_like_ratio | Yes | 获赞不少于 1000 的笔记占比,0.1 表示 10%;未知时为 null |
| video_full_view_rate | Yes | 视频完播率,0.195 表示 19.5%;仅在 video_note_count 大于 0 时用于表现判断;否则 0 值不表示完播率为 0%;未知时为 null |
| impression_benchmark_rate | Yes | 平台返回的指标对比值,范围 0~1;比较对象和计算方式未公开,不得视为固定阈值、行业排名或百分位;未知时为 null |
| interaction_benchmark_rate | Yes | 平台返回的指标对比值,范围 0~1;比较对象和计算方式未公开,不得视为固定阈值、行业排名或百分位;未知时为 null |
| video_full_view_benchmark_rate | Yes | 平台返回的视频完播指标对比值,范围 0~1;仅在 video_note_count 大于 0 时用于表现判断;否则 0 值不表示表现为 0;比较对象和计算方式未公开,不得视为固定阈值、行业排名或百分位;未知时为 null |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover readOnly and openWorld, so the description carries the behavioral load and does so richly: 20-credit cost on success / no charge on failure, fixed 30-day window with no custom date or note-type selection, detail capped at 15 notes (not exhaustive), and an explicit semantic caveat that 0 values for video-completion/3s-read fields are not real zeros. It also warns that notes[] *_benchmark_rate can be negative or >1 and must not be mixed with the summary-level 0-1 fields.
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?
Front-loads the purpose and the fields returned, then layers usage, caveats, and cost. Some phrases (固定近30日、图文+视频、全流量) are restated from the schema description, but overall every sentence carries operational meaning and is well signposted.
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?
With an output schema present, return values need no prose, and the description still supplies everything an agent needs to call correctly: required-id sourcing rules, cost, fixed analytical window, detail cap, and field-semantics traps. Nothing material is left to guess.
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%, so both user_id (format guidance) and note_scope (enum semantics, default, fixed scope) are already fully documented in the schema. The description adds scope constraints around the call but nothing per-parameter beyond what the schema states, so the baseline 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?
States a specific verb (获取) and resource (蒲公英创作者笔记表现) and enumerates the returned metric families (曝光/阅读/互动中位数、互动率、完播率、图文3秒阅读率、内容标签、笔记明细). It explicitly distinguishes itself from siblings by naming the commercial-overview and creator-profile tools. An agent can identify scope without opening the schema.
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?
Gives explicit when-to-use ('查询日常或合作笔记表现及最近明细时使用') and routes two adjacent needs to named alternatives (商业汇总→商业概览工具, 资料和报价→创作者档案工具). No inference required to pick this over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_pgy_get_creator_profileARead-only
根据完整 user_id 获取小红书蒲公英创作者档案、粉丝和商业笔记规模、合作行业、笔记阅读与互动中位数、内容分类、特征标签和创作者图文/视频合作报价。 查询蒲公英创作者资料和报价时使用;普通账号资料使用用户信息工具。 笔记表现使用创作者笔记表现工具;粉丝画像使用创作者粉丝画像工具;指标随日期变化使用创作者指标趋势工具。图文和视频报价单位为人民币元;零值不表示免费合作。 成功返回档案字段和 points;成功调用扣减 20 积分,失败不扣费。
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | 小红书用户 ID。已有完整 user_id 时原样使用,否则从用户搜索、用户信息或笔记作者信息获取;不要传昵称、小红书号、主页链接或笔记 ID。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | 创作者昵称;上游未提供时为 null |
| gender | Yes | 创作者性别:male 表示男,female 表示女;无法确认时为 null |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| red_id | Yes | 公开小红书号;缺失时为空字符串,不能作为 user_id 使用 |
| user_id | Yes | 小红书用户 ID。已有完整 user_id 时原样使用,否则从用户搜索、用户信息或笔记作者信息获取;不要传昵称、小红书号、主页链接或笔记 ID。 |
| location | Yes | 创作者资料所在地,不是 IP 属地;缺失时为 null |
| avatar_url | Yes | 头像地址;缺失时为 null |
| profile_url | Yes | 由 user_id 生成的用户主页地址 |
| video_price | Yes | 创作者视频笔记合作报价,单位:人民币元;未知时为 null,零值不表示免费合作 |
| feature_tags | Yes | 创作者特征标签;不是主页标签;未知时为 null,明确为空时为 [] |
| picture_price | Yes | 创作者图文笔记合作报价,单位:人民币元;未知时为 null,零值不表示免费合作 |
| follower_count | Yes | 蒲公英口径粉丝数,单位人;未知时为 null |
| note_read_median | Yes | 蒲公英口径笔记阅读数中位数;未知时为 null |
| content_categories | Yes | 内容分类;未知时为 null,明确为空时为 [] |
| business_note_count | Yes | 商业笔记数;未知时为 null |
| cooperation_industries | Yes | 合作行业名称列表;未知时为 null,明确为空时为 [] |
| note_interaction_median | Yes | 蒲公英口径笔记互动数中位数;具体互动构成以上游口径为准;未知时为 null |
| cooperation_note_count_30d | Yes | 近 30 天合作笔记数;未知时为 null |
| received_like_and_collect_count | Yes | 获赞与收藏合计;不能拆算为独立点赞数或收藏数;未知时为 null |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover readOnlyHint/openWorldHint; the description adds non-obvious behavior — a 20-credit charge on success with no charge on failure, RMB-denominated quote units, and the caveat that a zero value does not mean free collaboration. These are exactly the operational facts annotations cannot express.
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?
Field list, routing rules, and caveats are front-loaded and each sentence carries information; it is dense but no sentence is filler. Slightly long for a single-parameter tool, keeping it from a 5.
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?
An output schema exists so return fields need no elaboration, and the description still confirms success returns profile fields and points. With cost, units, and sibling routing all covered, an agent has everything needed to call it correctly.
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% and the pattern/format guidance is already in the schema, so the baseline is 3. The description reinforces that a complete user_id is required but adds no syntax beyond what the schema states.
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?
States a specific verb and resource (获取蒲公英创作者档案/报价) and enumerates the exact payload: 粉丝与商业笔记规模、合作行业、阅读与互动中位数、内容分类、特征标签、图文/视频报价. An agent can distinguish this from xhs_get_user_info_by_user_id purely from the text.
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?
Explicitly routes the agent: use this for PGY creator profiles and quotes, use user-info tools for ordinary accounts, and names four siblings (笔记表现、粉丝画像、指标趋势) with the condition that selects each. Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_pgy_get_note_detail_by_note_idARead-only
根据 note_id 获取小红书蒲公英单篇笔记商业增强详情,包括正文、图片或视频摘要、作者、曝光量、阅读量、点赞、收藏、评论、分享和创作者图文/视频合作报价(单位:人民币元;不是当前笔记的成交金额;零值不表示免费合作)。 仅适用于已入驻蒲公英博主的笔记;用户明确要求蒲公英商业数据时使用,普通笔记详情使用普通详情工具。 用户只提曝光量、阅读量或报价且上下文未明确蒲公英口径时,先澄清商业口径和成功 20 积分的费用;上下文已明确时不重复确认。 这是蒲公英商业口径数据,不等同普通公开笔记详情;成功调用扣减 20 积分,失败不扣费。 查询明确无商业数据时按博主未入驻蒲公英处理,返回 pgy_commercial_data_unavailable,不换 ID/链接入口重试;超时、鉴权和余额不足等错误不表示未入驻。
| Name | Required | Description | Default |
|---|---|---|---|
| note_id | Yes | note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | Yes | 蒲公英笔记标题 |
| video | Yes | 视频摘要信息;视频笔记返回对象,图文笔记为 null |
| author | Yes | 作者信息;详情页不返回小红书号 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| content | Yes | 笔记正文 |
| note_id | Yes | note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。 |
| note_url | Yes | note_url 是可打开笔记内容所需的完整 URL。任何使用该返回链接的场景都必须原样保留完整 URL,包括 xsec_token 等 query 参数;例如最终回答、展示、引用、存储、输出或传递;不得修改、截断、脱敏、规范化、重组,也不得用 note_id 重新拼接链接。 |
| note_type | Yes | 笔记类型;当前公开值固定为 image 或 video |
| like_count | Yes | 点赞数 |
| read_count | Yes | 笔记阅读量 |
| image_items | Yes | 静态图片明细;不包含 Live 图视频摘要,需要 Live 视频时使用普通笔记详情接口 |
| share_count | Yes | 分享数 |
| update_time | Yes | 更新时间,秒级 Unix 时间戳 |
| video_price | Yes | 创作者视频笔记合作报价,单位:人民币元;不是当前笔记的成交金额;零值不表示免费合作 |
| publish_time | Yes | 发布时间,秒级 Unix 时间戳 |
| collect_count | Yes | 收藏数 |
| comment_count | Yes | 评论数 |
| picture_price | Yes | 创作者图文笔记合作报价,单位:人民币元;不是当前笔记的成交金额;零值不表示免费合作 |
| exposure_count | Yes | 笔记曝光量 |
| cover_image_url | Yes | 统一封面图 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true, and the description adds substantial behavioral context: successful calls deduct 20 积分, failed calls do not, the data is commercial and differs from public note details, zero quotation values do not mean free collaboration, and timeout/auth/insufficient-balance errors do not imply the creator is not入驻蒲公英. No contradiction with 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 front-loaded with the core purpose and payload, then moves to usage boundaries, cost, and error handling. Every sentence carries operational value; there is no filler, even though the text is longer than average.
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 tool with one parameter, an output schema, and annotations, the description covers all agent-relevant context: when to use, what it returns, cost, failure semantics, unavailable-data handling, and how it differs from ordinary note details. Nothing critical is missing.
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%: the single note_id parameter already has a rich description covering how to obtain it and forbidding truncation/formatting. The description only repeats “根据 note_id,” so it adds little beyond the schema, which matches the baseline for high schema coverage.
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 opens with a specific verb and resource: “根据 note_id 获取小红书蒲公英单篇笔记商业增强详情” and enumerates the exact fields returned (正文、图片/视频摘要、作者、曝光量、阅读量、点赞、收藏、评论、分享、报价). It also explicitly contrasts itself with the ordinary detail tool, so an agent can distinguish it from sibling xhs_get_note_detail_by_note_id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is explicit: use only for 蒲公英入驻博主 notes, and use when the user explicitly requests 蒲公英 commercial data; ordinary note details should use the ordinary detail tool. It also gives a concrete clarification rule when the user mentions 曝光量/阅读量/报价 without an explicit 蒲公英 context, and warns against retrying when pgy_commercial_data_unavailable is returned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_pgy_get_note_detail_by_note_urlARead-only
根据笔记链接、短链接或分享文案获取小红书蒲公英单篇笔记商业增强详情,包括曝光量、阅读量、点赞、收藏、评论、分享和创作者图文/视频合作报价(单位:人民币元;不是当前笔记的成交金额;零值不表示免费合作)。 仅适用于已入驻蒲公英博主的笔记;用户明确要求蒲公英商业数据时使用,普通笔记详情使用普通详情工具。 用户只提曝光量、阅读量或报价且上下文未明确蒲公英口径时,先澄清商业口径和成功 20 积分的费用;上下文已明确时不重复确认。 这是蒲公英商业口径数据,不等同普通公开笔记详情;成功调用扣减 20 积分,失败不扣费。 查询明确无商业数据时按博主未入驻蒲公英处理,返回 pgy_commercial_data_unavailable,不换 ID/链接入口重试;超时、鉴权和余额不足等错误不表示未入驻。
| Name | Required | Description | Default |
|---|---|---|---|
| note_url | Yes | 小红书笔记链接、短链接或分享文案。支持小红书笔记长链接、xhslink.com / xhslink.cn / xhsurl.com / xhsurl.cn 短链接,以及包含上述链接的完整分享文案。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | Yes | 蒲公英笔记标题 |
| video | Yes | 视频摘要信息;视频笔记返回对象,图文笔记为 null |
| author | Yes | 作者信息;详情页不返回小红书号 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| content | Yes | 笔记正文 |
| note_id | Yes | note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。 |
| note_url | Yes | note_url 是可打开笔记内容所需的完整 URL。任何使用该返回链接的场景都必须原样保留完整 URL,包括 xsec_token 等 query 参数;例如最终回答、展示、引用、存储、输出或传递;不得修改、截断、脱敏、规范化、重组,也不得用 note_id 重新拼接链接。 |
| note_type | Yes | 笔记类型;当前公开值固定为 image 或 video |
| like_count | Yes | 点赞数 |
| read_count | Yes | 笔记阅读量 |
| image_items | Yes | 静态图片明细;不包含 Live 图视频摘要,需要 Live 视频时使用普通笔记详情接口 |
| share_count | Yes | 分享数 |
| update_time | Yes | 更新时间,秒级 Unix 时间戳 |
| video_price | Yes | 创作者视频笔记合作报价,单位:人民币元;不是当前笔记的成交金额;零值不表示免费合作 |
| publish_time | Yes | 发布时间,秒级 Unix 时间戳 |
| collect_count | Yes | 收藏数 |
| comment_count | Yes | 评论数 |
| picture_price | Yes | 创作者图文笔记合作报价,单位:人民币元;不是当前笔记的成交金额;零值不表示免费合作 |
| exposure_count | Yes | 笔记曝光量 |
| cover_image_url | Yes | 统一封面图 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations, the description discloses the 20-point success cost, no charge on failure, that zero quotes do not mean free cooperation, and that timeout/auth/balance errors do not imply the creator is not onboarded. This is substantial behavioral context that annotations alone do not 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?
The description is dense but every sentence serves a distinct purpose: scope, eligibility, disambiguation, cost, and failure semantics. The most important commercial and usage distinctions are front-loaded, and the structure supports quick agent comprehension.
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 this is a paid, commercial-scoped tool with special error semantics, the description is complete: it covers what data is returned, when to use it, how to handle ambiguous requests, cost implications, and error interpretation. The output schema handles return-value details, so nothing critical is missing.
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 input schema already covers note_url at 100%, including supported long links, short-link domains, and share copy. The description mostly restates '笔记链接、短链接或分享文案' without adding new parameter semantics beyond what the schema provides, so it stays at the baseline.
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 Xiaohongshu Pingguo commercial enhanced note detail via note URL/short link/share text, and enumerates the returned metrics. It also differentiates itself from ordinary note detail tools and from the note_id variant, so an agent can select it unambiguously.
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 explicitly states when to use this tool: only for notes by creators already onboarded to Pingguo, and only when the user explicitly requests Pingguo commercial data; ordinary note details should use the normal detail tool. It also provides a disambiguation rule for vague metric requests and says not to retry with a different link entry when pgy_commercial_data_unavailable is returned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_search_imagesARead-only
按搜索词搜索小红书图片;已有笔记链接或 note_id,且需要读取该篇笔记详情时,使用对应详情工具。每项为一张图片及关联笔记,同一笔记可返回多张图片;page_token 可用于尝试下一页,不保证下一页有结果;结果按平台相关性排序,不承诺每条内容包含原词,不承诺完整召回;需要图文笔记而非单张图片时使用 xhs_search_notes(note_type="image");需要视频笔记时使用 xhs_search_notes(note_type="video")。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | 搜索词,可传关键词或短语,例如露营、建筑、穿搭;不要传笔记链接、主页链接、note_id、user_id 或 page_token。 | |
| page_token | No | 媒体搜索分页令牌,首次请求留空;仅限同一工具、关键词和调用方,不得跨视频、图片或综合笔记搜索复用。将上一页完整 next_page_token 原样传回,不得截断、修改或自行生成。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 图片列表;同一笔记的多张图片分别返回 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| next_page_token | Yes | 可尝试下一页的不透明分页令牌,不保证下一页有结果;为空表示无法继续翻页。续页保持关键词和调用方不变,并将完整令牌原样传回图片搜索入口。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only supply readOnlyHint and openWorldHint. The description adds substantial behavior beyond them: each item is an image tied to a note with possible multiple images per note (deduplication semantics), ranking is by platform relevance, exact keyword inclusion is not guaranteed, recall is not guaranteed, and pagination via page_token is best-effort. This is exactly the kind of honest behavioral disclosure the dimension rewards.
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?
Purpose is front-loaded and each clause carries weight (routing to siblings, pagination caveat, ranking/recall caveats). It is a dense run-on paragraph, however, and the multi-clause structure is slightly harder to scan than a bulleted or split form would be.
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?
An output schema exists, so return-value documentation is not needed. Combined with the annotations, the description covers routing, pagination, ranking, and recall limits, leaving nothing an agent needs to call this tool correctly.
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 both parameters are already documented, giving a baseline of 3. The description adds a genuine nuance beyond the schema on page_token ('可用于尝试下一页,不保证下一页有结果'), clarifying that pagination may yield no results. That extra meaning lifts it above baseline.
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?
States a specific verb+resource+scope (搜索小红书图片 / search Xiaohongshu images by keyword). It explicitly distinguishes itself from sibling tools: detail tools for when a note link/note_id already exists, and xhs_search_notes variants for image-text vs video notes. An agent can route correctly without opening any schema.
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?
Gives explicit when-to-use (keyword image search), when-not-to-use (already have link/note_id → detail tools), and names the two concrete alternatives with parameters (xhs_search_notes(note_type="image") and note_type="video"). Nothing is left to inference.
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
搜索小红书 / 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 重新拼接链接。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | 搜索词,可传关键词或短语,例如品牌名、话题、人物名、产品名或内容需求;不要传笔记链接、主页链接、note_id、user_id 或 page_token。 | |
| 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 | 笔记搜索结果中的笔记列表,已过滤非笔记卡片与不可公开笔记;当前页过滤后可能为空数组 |
| points | 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 cover readOnlyHint and openWorldHint, so safety is already declared; the description adds real behavioral context beyond them – the pagination round-trip contract (pass the full next_page_token back verbatim) and the hard requirement to preserve the full note_url including xsec_token. It stops short of describing rate limits, result caps, or failure modes, so it is strong but not exhaustive.
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?
Front-loaded with purpose, then routing, then parameter pitfalls, then the URL-preservation rule – a sensible order. It is somewhat long and repeats the 'do not truncate/mask the token' warning that already appears in the schema, which costs a little efficiency, but every remaining sentence carries a distinct instruction.
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?
With an output schema present the description need not explain returns, and annotations cover the safety profile, so what remains – search scope, routing to alternatives, pagination and URL handling rules – is largely delivered. It is nearly complete, missing only sort_type guidance and any note on result volume or failure behavior.
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 already 100%, so the baseline would be 3; the description adds value on top by giving usage examples for note_type (image/video), warning about the publish_time_range naming trap, and stating that page_token must be reused verbatim for the same keyword/sort/type/time chain. The only untapped param is sort_type, which the description never mentions.
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 opens with a specific verb+resource (搜索小红书笔记) and immediately scopes what is included (普通、图文和视频笔记). It explicitly names the sibling it is not (xhs_search_images) and routes detail/comment/speech-text requests to the appropriate other tools, so the agent can distinguish it without opening any schema.
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?
Explicit when-to-use and when-not-to-use rules are given: single-image search goes to xhs_search_images, existing link/note_id goes to the detail tools, comments/replies/speech-to-text go to the URL/ID tools. It also pre-empts common misuse by stating the filter parameter is publish_time_range (not publish_time) and that max_items is not accepted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_search_productsARead-only
搜索小红书商品。用户需要按搜索词查找商品时使用;已有完整 sku_id(包括用户直接提供)时使用商品详情或商品评价工具,已有商品链接或分享文案时使用 xhs_get_product_detail_by_url;支持 page_token 翻页。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回,不得截断、缩写、掩码或用省略号替换中间内容。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | 搜索词,可传商品名、品牌名、品类或商品需求;不要传商品链接、sku_id、spu_id 或 page_token。 | |
| page_token | No | 商品搜索分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 只能用于同一商品关键词和调用方的商品搜索链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 商品搜索结果列表 |
| points | 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 mark this as read-only and open-world, so no contradiction exists. Beyond that, the description adds important behavioral constraints around page_token handling: the full next_page_token must be passed back unchanged, with explicit prohibitions against truncation, abbreviation, masking, or replacing content with ellipsis. This is valuable behavioral context for the agent.
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 usage condition before moving to token-handling warnings. It is somewhat repetitive with the schema's page_token constraints, but it remains readable and each sentence earns its place in guiding tool selection and correct invocation.
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 tool is simple with only two parameters, one of which is optional, and an output schema is present. The description covers when to use it, when to prefer alternatives, and the critical pagination behavior, so an agent has everything needed to call it correctly.
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%, and the schema already thoroughly documents both keyword and page_token, including the exact-copy requirement and what must not be passed. The description essentially repeats this rather than adding new parameter meaning, so the 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 opens with a specific verb and resource ('搜索小红书商品' – search Xiaohongshu products) and immediately states the primary use case: finding products by search term. It distinguishes itself from siblings by explicitly routing sku_id cases to product detail/review tools and link/share-text cases to xhs_get_product_detail_by_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 gives explicit when-to-use guidance: use when the user needs to find products by search word. It also names alternatives for complete sku_id and for product links/share text, and it explains pagination usage. This leaves little ambiguity about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_search_suggestionsARead-only
根据搜索词获取小红书候选搜索建议,用于补全搜索词;需要实际搜索笔记或商品时,分别使用 xhs_search_notes 或 xhs_search_products。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | 搜索词,可传正在输入的关键词或短语;不要传笔记链接、主页链接、note_id、user_id 或分页令牌。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 搜索建议条目列表 |
| points | 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 tool's safety and open-world nature are covered. The description adds that it returns 'candidate search suggestions', but does not elaborate on specific behaviors such as response format or limitations. This adds some but not rich context, aligning with baseline given 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, compact sentence that both defines the tool and differentiates it from alternatives. No wasted words, and the core information is front-loaded.
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?
With a simple single-parameter tool, an output schema exists, and annotations cover read-only/open-world, the description is complete enough. It clearly states the purpose, usage, and exclusions. It does not address potential response times or error conditions, but these are not necessary for a tool of this simple nature and the presence of output schema reduces that need.
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% and the parameter description explicitly instructs what to pass (keyword or phrase being typed) and what not to pass (links, IDs, tokens). The description reinforces the schema, but also clarifies the intended input type (being typed) beyond the generic 'search term'. This adds practical guidance, slightly above baseline.
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 candidate search suggestions based on the search term, with the explicit purpose 'to complete search terms'. It distinguishes itself from xhs_search_notes and xhs_search_products by naming them as alternatives for actual searches, making it clear what this tool does not do.
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 explicitly covers when to use the tool (for completing search terms) and when not to use it: when the user needs to actually search notes or products, directing to xhs_search_notes or xhs_search_products. This provides clear context and alternative tools, leaving no ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xhs_search_usersARead-only
按搜索词搜索小红书用户、账号或博主,支持分页;已有用户 ID 或主页链接时,使用用户资料工具。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | 搜索词,可传昵称、账号名或小红书号;不要传主页链接、user_id 或分页令牌。 | |
| page_token | No | 用户搜索分页令牌,首次请求留空;续页保持 keyword 不变,将上一页完整 next_page_token 原样传回,不得截断、修改或自行生成。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 搜索到的用户列表 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| next_page_token | Yes | 下一页分页令牌,为空表示结束;续页保持 keyword 不变并完整原样传回。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the operation read-only and open-world. The description adds useful behavior beyond annotations: pagination is supported, and continuing pages require keeping keyword unchanged and passing the previous next_page_token untouched. No contradiction with 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 two short clauses with no filler, opens with the core action, and front-loads the key routing guidance before pagination details.
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 read-only search tool with a complete output schema, full parameter documentation, and sibling context, the description covers the use case, exclusions, and pagination behavior. Nothing essential for invoking it correctly is missing.
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%, so the baseline is 3; the schema already explains keyword and page_token semantics. The tool description mostly restates that keyword searches users, accounts, or bloggers and does not add new parameter-level meaning.
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 states a specific action and resource: searching Xiaohongshu users, accounts, or bloggers by keyword, with pagination support. It also explicitly differentiates from user-profile tools when an ID or profile link is already available, helping an agent choose among siblings.
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?
It states when to use the tool (keyword-based user search) and when not to (when a user_id or profile link is already known, use the user profile tool). The keyword parameter's 'do not pass profile link, user_id, or pagination token' further clarifies boundaries.
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 提交视频笔记口播转文字任务;提交后最多等待 240 秒,未完成时返回 job_id 和下一步查询动作。
| Name | Required | Description | Default |
|---|---|---|---|
| note_id | Yes | note_id 是小红书笔记 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?
Annotations already indicate this is a mutating, non-idempotent operation. The description adds valuable behavioral details: it waits up to 240 seconds, returns a job_id when incomplete, and tells the agent to perform a follow-up query. It does not contradict any annotations; the added info is complementary.
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?
A single sentence that front-loads the action and then states the waiting behavior and the fallback return. No filler words; every clause carries 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?
With one parameter, an output schema present, and sibling tools for follow-up, the description covers the essential workflow: submit, wait, and query next. It does not explicitly name the exact follow-up tool, but the mention of a 'next query action' is sufficient for an agent to infer the step, especially with sibling visibility.
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 description for note_id is highly detailed (100% coverage), specifying how to obtain it and what not to do with it. The tool description adds no additional parameter semantics beyond what the schema already provides, so the baseline of 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 states a specific verb ('submit'), a clear resource ('video note speech-to-text task'), and the identifier type (note_id). It also distinguishes from the sibling tool that uses note_url, making the purpose unambiguous and separable from the other submission tool.
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 use when you have a note_id, but does not explicitly mention the alternative (xhs_submit_video_speech_text_by_note_url) or when to choose one over the other. It provides no explicit usage exclusions, but the sibling tools are visible to the agent, so the context is partially inferred.
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
根据小红书视频笔记链接、短链接或分享文案提交口播转文字任务;提交后最多等待 240 秒,未完成时返回 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?
Annotations already flag this as a write operation (readOnlyHint=false, idempotentHint=false). The description adds valuable behavioral detail beyond annotations: it explicitly mentions a 240-second wait and that an incomplete job returns a job_id and points to a next query action. This goes beyond the structured hints and clarifies the asynchronous nature of the task.
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, dense sentence that front-loads the core action (submit task by note URL) and immediately covers the key constraints (wait time, job_id return). Every phrase earns its place; there is no filler or 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?
Given the available output schema (not shown but indicated), the description provides sufficient context: it states the input format, the asynchronous wait, and the follow-up query action. It does not explicitly name the polling tool (e.g., xhs_get_video_speech_text_job), but the existence of such a sibling and the mention of 'next query action' make the workflow clear. Minor gaps like error handling or idempotency advice are not critical given the annotations.
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 description coverage is 100%, so the parameter note_url is fully documented. The tool description repeats the same input formats (link, short link, share text) without adding new syntax details. With schema doing the heavy lifting, a 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 speech-to-text task), the resource (Xiaohongshu video note via URL, short link, or share text), and distinguishes it from the sibling by_note_id variant. It also outlines the wait/response behavior, leaving no ambiguity about the tool's purpose.
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 clear context (it is a submission task triggered by a note URL), but it does not explicitly state when to prefer this over the by_note_id sibling or exclude other tools. However, the naming and input type make the usage context obvious enough for an agent to infer the appropriate choice.
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.
34 tool updates
v0.1.6- Added
socialdatax_get_points_balance - Changed
xhs_get_note_comments_by_note_id8 fields changed- changed
Input schema / properties / note_id / descriptionPrevious value: -"note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"New value: +"note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。" - changed
Input schema / properties / page_token / descriptionPrevious value: -"分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌,只绑定当前用户、笔记、排序或评论链路,不能跨用户、笔记或评论链路复用;一级评论还不能跨排序复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"New value: +"分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌;只能用于同一笔记和 sort_type 的一级评论列表,不能跨笔记或 sort_type 复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。" - changed
Output schema / properties / items / items / properties / note_id / descriptionPrevious value: -"note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"New value: +"note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。" - added
Output schema / properties / items / items / properties / referenced_notesAdded value: +{ + "description": "评论中引用的笔记信息;无引用笔记时为空数组", + "items": { + "properties": { + "note_id": { + "description": "评论中引用的笔记 ID", + "type": "string" + }, + "note_type": { + "description": "引用笔记类型,可选:image(图文)、video(视频)", + "enum": [ + "image", + "video" + ], + "type": "string" + }, + "title": { + "description": "评论中引用的笔记标题", + "type": "string" + } + }, + "required": [ + "note_id", + "title", + "note_type" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / properties / items / items / requiredPrevious value: -[ - "comment_id", - "note_id", - "content", - "content_type", - "image_items", - "voice_info", - "voice_duration_seconds", - "mentioned_users", - "publish_time", - "like_count", - "reply_count", - "parent_comment_id", - "is_pinned", - "is_author_comment", - "ip_location", - "author" -]New value: +[ + "comment_id", + "note_id", + "content", + "content_type", + "image_items", + "voice_info", + "voice_duration_seconds", + "mentioned_users", + "referenced_notes", + "publish_time", + "like_count", + "reply_count", + "parent_comment_id", + "is_pinned", + "is_author_comment", + "ip_location", + "author" +] - changed
Output schema / properties / next_page_token / descriptionPrevious value: -"下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"New value: +"下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一笔记和 sort_type 的一级评论列表,不能跨笔记或 sort_type 复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。" - added
Output schema / properties / pointsAdded value: +{ + "additionalProperties": false, + "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。", + "properties": { + "balance": { + "description": "本次接口完成时看到的当前积分余额。", + "minimum": 0, + "type": "integer" + }, + "cost": { + "description": "本次请求最终确认消耗的积分。", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "cost", + "balance" + ], + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "items", - "next_page_token", - "comment_count", - "top_level_comment_count" -]New value: +[ + "items", + "next_page_token", + "comment_count", + "top_level_comment_count", + "points" +]
- Changed
xhs_get_note_comments_by_note_url7 fields changed- changed
Input schema / properties / page_token / descriptionPrevious value: -"分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌,只绑定当前用户、笔记、排序或评论链路,不能跨用户、笔记或评论链路复用;一级评论还不能跨排序复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"New value: +"分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌;只能用于同一笔记和 sort_type 的一级评论列表,不能跨笔记或 sort_type 复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。" - changed
Output schema / properties / items / items / properties / note_id / descriptionPrevious value: -"note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"New value: +"note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。" - added
Output schema / properties / items / items / properties / referenced_notesAdded value: +{ + "description": "评论中引用的笔记信息;无引用笔记时为空数组", + "items": { + "properties": { + "note_id": { + "description": "评论中引用的笔记 ID", + "type": "string" + }, + "note_type": { + "description": "引用笔记类型,可选:image(图文)、video(视频)", + "enum": [ + "image", + "video" + ], + "type": "string" + }, + "title": { + "description": "评论中引用的笔记标题", + "type": "string" + } + }, + "required": [ + "note_id", + "title", + "note_type" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / properties / items / items / requiredPrevious value: -[ - "comment_id", - "note_id", - "content", - "content_type", - "image_items", - "voice_info", - "voice_duration_seconds", - "mentioned_users", - "publish_time", - "like_count", - "reply_count", - "parent_comment_id", - "is_pinned", - "is_author_comment", - "ip_location", - "author" -]New value: +[ + "comment_id", + "note_id", + "content", + "content_type", + "image_items", + "voice_info", + "voice_duration_seconds", + "mentioned_users", + "referenced_notes", + "publish_time", + "like_count", + "reply_count", + "parent_comment_id", + "is_pinned", + "is_author_comment", + "ip_location", + "author" +] - changed
Output schema / properties / next_page_token / descriptionPrevious value: -"下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"New value: +"下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一笔记和 sort_type 的一级评论列表,不能跨笔记或 sort_type 复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。" - added
Output schema / properties / pointsAdded value: +{ + "additionalProperties": false, + "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。", + "properties": { + "balance": { + "description": "本次接口完成时看到的当前积分余额。", + "minimum": 0, + "type": "integer" + }, + "cost": { + "description": "本次请求最终确认消耗的积分。", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "cost", + "balance" + ], + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "items", - "next_page_token", - "comment_count", - "top_level_comment_count" -]New value: +[ + "items", + "next_page_token", + "comment_count", + "top_level_comment_count", + "points" +]
- Changed
xhs_get_note_detail_by_note_id9 fields changed- changed
Input schema / properties / note_id / descriptionPrevious value: -"note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"New value: +"note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。" - added
Output schema / properties / image_items / items / properties / heightAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "图片高度,像素;没有时为 null" +} - changed
Output schema / properties / image_items / items / properties / live_photo / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "duration_ms": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Live 图时长,单位毫秒;没有时长时为 null" - }, - "video_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Live 图视频链接;没有视频链接时为 null" - } - }, - "required": [ - "video_url", - "duration_ms" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "duration_ms": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Live 图时长,单位毫秒;没有时长时为 null" + }, + "height": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Live 图视频高度,像素;没有时为 null" + }, + "video_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Live 图视频链接;没有视频链接时为 null" + }, + "width": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Live 图视频宽度,像素;没有时为 null" + } + }, + "required": [ + "video_url", + "duration_ms", + "width", + "height" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / image_items / items / properties / widthAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "图片宽度,像素;没有时为 null" +} - changed
Output schema / properties / image_items / items / requiredPrevious value: -[ - "image_url", - "live_photo" -]New value: +[ + "image_url", + "width", + "height", + "live_photo" +] - changed
Output schema / properties / note_id / descriptionPrevious value: -"note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"New value: +"note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。" - added
Output schema / properties / pointsAdded value: +{ + "additionalProperties": false, + "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。", + "properties": { + "balance": { + "description": "本次接口完成时看到的当前积分余额。", + "minimum": 0, + "type": "integer" + }, + "cost": { + "description": "本次请求最终确认消耗的积分。", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "cost", + "balance" + ], + "type": "object" +} - changed
Output schema / properties / video / anyOfPrevious 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" + } +] - changed
Output schema / requiredPrevious value: -[ - "note_id", - "note_url", - "note_type", - "title", - "content", - "cover_image_url", - "image_items", - "video", - "like_count", - "collect_count", - "comment_count", - "share_count", - "publish_time", - "update_time", - "ip_location", - "topic_tags", - "mentioned_users", - "author" -]New value: +[ + "note_id", + "note_url", + "note_type", + "title", + "content", + "cover_image_url", + "image_items", + "video", + "like_count", + "collect_count", + "comment_count", + "share_count", + "publish_time", + "update_time", + "ip_location", + "topic_tags", + "mentioned_users", + "author", + "points" +]
- Changed
xhs_get_note_detail_by_note_url8 fields changed- added
Output schema / properties / image_items / items / properties / heightAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "图片高度,像素;没有时为 null" +} - changed
Output schema / properties / image_items / items / properties / live_photo / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "duration_ms": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Live 图时长,单位毫秒;没有时长时为 null" - }, - "video_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Live 图视频链接;没有视频链接时为 null" - } - }, - "required": [ - "video_url", - "duration_ms" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "duration_ms": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Live 图时长,单位毫秒;没有时长时为 null" + }, + "height": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Live 图视频高度,像素;没有时为 null" + }, + "video_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Live 图视频链接;没有视频链接时为 null" + }, + "width": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Live 图视频宽度,像素;没有时为 null" + } + }, + "required": [ + "video_url", + "duration_ms", + "width", + "height" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / image_items / items / properties / widthAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "图片宽度,像素;没有时为 null" +} - changed
Output schema / properties / image_items / items / requiredPrevious value: -[ - "image_url", - "live_photo" -]New value: +[ + "image_url", + "width", + "height", + "live_photo" +] - changed
Output schema / properties / note_id / descriptionPrevious value: -"note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"New value: +"note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。" - added
Output schema / properties / pointsAdded value: +{ + "additionalProperties": false, + "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。", + "properties": { + "balance": { + "description": "本次接口完成时看到的当前积分余额。", + "minimum": 0, + "type": "integer" + }, + "cost": { + "description": "本次请求最终确认消耗的积分。", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "cost", + "balance" + ], + "type": "object" +} - changed
Output schema / properties / video / anyOfPrevious 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" + } +] - changed
Output schema / requiredPrevious value: -[ - "note_id", - "note_url", - "note_type", - "title", - "content", - "cover_image_url", - "image_items", - "video", - "like_count", - "collect_count", - "comment_count", - "share_count", - "publish_time", - "update_time", - "ip_location", - "topic_tags", - "mentioned_users", - "author" -]New value: +[ + "note_id", + "note_url", + "note_type", + "title", + "content", + "cover_image_url", + "image_items", + "video", + "like_count", + "collect_count", + "comment_count", + "share_count", + "publish_time", + "update_time", + "ip_location", + "topic_tags", + "mentioned_users", + "author", + "points" +]
- Changed
xhs_get_note_sub_comments_by_comment_id9 fields changed- changed
Input schema / properties / comment_id / descriptionPrevious value: -"一级评论 ID。可直接传一级评论结果中的 comment_id"New value: +"一级评论 ID;用户已提供时直接使用,否则可从一级评论结果 items[].comment_id 复制;不要传二级评论项自身的 comment_id。" - changed
Input schema / properties / note_id / descriptionPrevious value: -"note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"New value: +"note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。" - changed
Input schema / properties / page_token / descriptionPrevious value: -"分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌,只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"New value: +"分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌;只能用于同一 note_id 和 comment_id 的二级评论列表,不能跨笔记或一级评论复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。" - changed
Output schema / properties / items / items / properties / note_id / descriptionPrevious value: -"note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"New value: +"note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。" - added
Output schema / properties / items / items / properties / referenced_notesAdded value: +{ + "description": "评论中引用的笔记信息;无引用笔记时为空数组", + "items": { + "properties": { + "note_id": { + "description": "评论中引用的笔记 ID", + "type": "string" + }, + "note_type": { + "description": "引用笔记类型,可选:image(图文)、video(视频)", + "enum": [ + "image", + "video" + ], + "type": "string" + }, + "title": { + "description": "评论中引用的笔记标题", + "type": "string" + } + }, + "required": [ + "note_id", + "title", + "note_type" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / properties / items / items / requiredPrevious value: -[ - "comment_id", - "note_id", - "content", - "content_type", - "image_items", - "voice_info", - "voice_duration_seconds", - "mentioned_users", - "publish_time", - "like_count", - "reply_count", - "parent_comment_id", - "is_pinned", - "is_author_comment", - "ip_location", - "author" -]New value: +[ + "comment_id", + "note_id", + "content", + "content_type", + "image_items", + "voice_info", + "voice_duration_seconds", + "mentioned_users", + "referenced_notes", + "publish_time", + "like_count", + "reply_count", + "parent_comment_id", + "is_pinned", + "is_author_comment", + "ip_location", + "author" +] - changed
Output schema / properties / next_page_token / descriptionPrevious value: -"下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"New value: +"下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一 note_id 和 comment_id 的二级评论列表,不能跨笔记或一级评论复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。" - added
Output schema / properties / pointsAdded value: +{ + "additionalProperties": false, + "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。", + "properties": { + "balance": { + "description": "本次接口完成时看到的当前积分余额。", + "minimum": 0, + "type": "integer" + }, + "cost": { + "description": "本次请求最终确认消耗的积分。", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "cost", + "balance" + ], + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "items", - "next_page_token" -]New value: +[ + "items", + "next_page_token", + "points" +]
- Added
xhs_get_product_detail_by_sku_id - Added
xhs_get_product_detail_by_url - Added
xhs_get_product_review_replies - Added
xhs_get_product_review_reply_replies - Added
xhs_get_product_reviews - Changed
xhs_get_search_hot_list2 fields changed- added
Output schema / properties / pointsAdded value: +{ + "additionalProperties": false, + "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。", + "properties": { + "balance": { + "description": "本次接口完成时看到的当前积分余额。", + "minimum": 0, + "type": "integer" + }, + "cost": { + "description": "本次请求最终确认消耗的积分。", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "cost", + "balance" + ], + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "items" -]New value: +[ + "items", + "points" +]
- Added
xhs_get_topic_notes_by_page_id - Added
xhs_get_topic_notes_by_topic_url - Added
xhs_get_user_id_by_encrypted_user_id - Changed
xhs_get_user_info_by_profile_url2 fields changed- added
Output schema / properties / pointsAdded value: +{ + "additionalProperties": false, + "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。", + "properties": { + "balance": { + "description": "本次接口完成时看到的当前积分余额。", + "minimum": 0, + "type": "integer" + }, + "cost": { + "description": "本次请求最终确认消耗的积分。", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "cost", + "balance" + ], + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "user_id", - "name", - "avatar_url", - "profile_url", - "red_id", - "bio", - "verified", - "verification_category", - "is_professional_account", - "verification_name", - "is_enterprise_account", - "profile_tags", - "follower_count", - "following_count", - "posted_note_count", - "received_like_count", - "received_collect_count", - "ip_location" -]New value: +[ + "user_id", + "name", + "avatar_url", + "profile_url", + "red_id", + "bio", + "verified", + "verification_category", + "is_professional_account", + "verification_name", + "is_enterprise_account", + "profile_tags", + "follower_count", + "following_count", + "posted_note_count", + "received_like_count", + "received_collect_count", + "ip_location", + "points" +]
- Changed
xhs_get_user_info_by_user_id3 fields changed- changed
Input schema / properties / user_id / descriptionPrevious value: -"小红书用户 user_id。请直接复制搜索结果、笔记详情、用户信息或用户发帖列表返回的 user_id/author.user_id;如果只有主页链接,请使用 profile_url 入口;不要传小红书号、昵称或主页名称"New value: +"小红书用户 user_id。用户已提供时原样使用;否则可从笔记搜索、商品评价、商品评价回复、笔记详情、标签页笔记列表、用户信息或用户发帖列表结果中的 user_id/author.user_id 复制;如果只有主页链接,请使用 profile_url 入口;不要传小红书号、昵称或主页名称。" - added
Output schema / properties / pointsAdded value: +{ + "additionalProperties": false, + "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。", + "properties": { + "balance": { + "description": "本次接口完成时看到的当前积分余额。", + "minimum": 0, + "type": "integer" + }, + "cost": { + "description": "本次请求最终确认消耗的积分。", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "cost", + "balance" + ], + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "user_id", - "name", - "avatar_url", - "profile_url", - "red_id", - "bio", - "verified", - "verification_category", - "is_professional_account", - "verification_name", - "is_enterprise_account", - "profile_tags", - "follower_count", - "following_count", - "posted_note_count", - "received_like_count", - "received_collect_count", - "ip_location" -]New value: +[ + "user_id", + "name", + "avatar_url", + "profile_url", + "red_id", + "bio", + "verified", + "verification_category", + "is_professional_account", + "verification_name", + "is_enterprise_account", + "profile_tags", + "follower_count", + "following_count", + "posted_note_count", + "received_like_count", + "received_collect_count", + "ip_location", + "points" +]
- Changed
xhs_get_user_posted_notes_by_profile_url8 fields changed- changed
Input schema / properties / page_token / descriptionPrevious value: -"分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌,只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"New value: +"分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌;只能用于同一用户的发帖列表,不能跨用户复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。" - changed
Output schema / properties / items / items / properties / note_id / descriptionPrevious value: -"note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"New value: +"note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。" - added
Output schema / properties / items / items / properties / note_urlAdded value: +{ + "description": "笔记页面地址,不包含访问参数;可直接传给支持笔记链接的详情、评论或口播转文字工具继续使用。", + "minLength": 1, + "type": "string" +} - changed
Output schema / properties / items / items / properties / video / anyOfPrevious 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" + } +] - changed
Output schema / properties / items / items / requiredPrevious value: -[ - "note_id", - "note_type", - "title", - "summary", - "cover_image_url", - "like_count", - "collect_count", - "comment_count", - "share_count", - "publish_time", - "update_time", - "video", - "author", - "is_pinned" -]New value: +[ + "note_id", + "note_url", + "note_type", + "title", + "summary", + "cover_image_url", + "like_count", + "collect_count", + "comment_count", + "share_count", + "publish_time", + "update_time", + "video", + "author", + "is_pinned" +] - changed
Output schema / properties / next_page_token / descriptionPrevious value: -"下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"New value: +"下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一用户的发帖列表,不能跨用户复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。" - added
Output schema / properties / pointsAdded value: +{ + "additionalProperties": false, + "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。", + "properties": { + "balance": { + "description": "本次接口完成时看到的当前积分余额。", + "minimum": 0, + "type": "integer" + }, + "cost": { + "description": "本次请求最终确认消耗的积分。", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "cost", + "balance" + ], + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "items", - "next_page_token" -]New value: +[ + "items", + "next_page_token", + "points" +]
- Changed
xhs_get_user_posted_notes_by_user_id9 fields changed- changed
Input schema / properties / page_token / descriptionPrevious value: -"分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌,只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"New value: +"分页令牌。首次请求留空;继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 是不透明分页令牌;只能用于同一用户的发帖列表,不能跨用户复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。" - changed
Input schema / properties / user_id / descriptionPrevious value: -"小红书用户 user_id。请直接复制搜索结果、笔记详情、用户信息或用户发帖列表返回的 user_id/author.user_id;如果只有主页链接,请使用 profile_url 入口;不要传小红书号、昵称或主页名称"New value: +"小红书用户 user_id。用户已提供时原样使用;否则可从笔记搜索、商品评价、商品评价回复、笔记详情、标签页笔记列表、用户信息或用户发帖列表结果中的 user_id/author.user_id 复制;如果只有主页链接,请使用 profile_url 入口;不要传小红书号、昵称或主页名称。" - changed
Output schema / properties / items / items / properties / note_id / descriptionPrevious value: -"note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"New value: +"note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。" - added
Output schema / properties / items / items / properties / note_urlAdded value: +{ + "description": "笔记页面地址,不包含访问参数;可直接传给支持笔记链接的详情、评论或口播转文字工具继续使用。", + "minLength": 1, + "type": "string" +} - changed
Output schema / properties / items / items / properties / video / anyOfPrevious 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" + } +] - changed
Output schema / properties / items / items / requiredPrevious value: -[ - "note_id", - "note_type", - "title", - "summary", - "cover_image_url", - "like_count", - "collect_count", - "comment_count", - "share_count", - "publish_time", - "update_time", - "video", - "author", - "is_pinned" -]New value: +[ + "note_id", + "note_url", + "note_type", + "title", + "summary", + "cover_image_url", + "like_count", + "collect_count", + "comment_count", + "share_count", + "publish_time", + "update_time", + "video", + "author", + "is_pinned" +] - changed
Output schema / properties / next_page_token / descriptionPrevious value: -"下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只绑定当前用户、笔记或评论链路,不能跨用户、笔记或评论链路复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"New value: +"下一页不透明分页令牌;为空表示没有更多结果。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一用户的发帖列表,不能跨用户复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。" - added
Output schema / properties / pointsAdded value: +{ + "additionalProperties": false, + "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。", + "properties": { + "balance": { + "description": "本次接口完成时看到的当前积分余额。", + "minimum": 0, + "type": "integer" + }, + "cost": { + "description": "本次请求最终确认消耗的积分。", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "cost", + "balance" + ], + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "items", - "next_page_token" -]New value: +[ + "items", + "next_page_token", + "points" +]
- Changed
xhs_get_video_speech_text_job2 fields changed- changed
Input schema / properties / job_id / descriptionPrevious value: -"口播转文字任务 ID。"New value: +"口播转文字任务 ID;用户已提供时直接使用,否则使用提交工具返回的 job_id;不要传 note_id 或笔记链接。" - removed
Input schema / properties / wait_secondsRemoved value: -{ - "default": 0, - "description": "可选长轮询等待秒数;0 表示只查询一次,最大 240 秒。", - "maximum": 240, - "minimum": 0, - "type": "integer" -}
- Added
xhs_pgy_get_creator_commercial_overview - Added
xhs_pgy_get_creator_fans_profile - Added
xhs_pgy_get_creator_fans_summary - Added
xhs_pgy_get_creator_metrics_trend - Added
xhs_pgy_get_creator_notes_performance - Added
xhs_pgy_get_creator_profile - Added
xhs_pgy_get_note_detail_by_note_id - Added
xhs_pgy_get_note_detail_by_note_url - Added
xhs_search_images - Changed
xhs_search_notes11 fields changed- changed
Input schema / properties / keyword / descriptionPrevious value: -"小红书搜索关键词"New value: +"搜索词,可传关键词或短语,例如品牌名、话题、人物名、产品名或内容需求;不要传笔记链接、主页链接、note_id、user_id 或 page_token。" - changed
Input schema / properties / page_token / descriptionPrevious value: -"搜索分页令牌。首次请求留空;继续翻页时传入上一页返回的 完整 next_page_token 原样作为 page_token 传回。page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的搜索链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成。"New value: +"笔记搜索分页令牌。首次请求留空;继续翻页时传入上一页返回的完整 next_page_token 原样作为 page_token 传回。page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的笔记搜索链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成。" - changed
Input schema / properties / sort_type / descriptionPrevious 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(最多收藏优先)" - changed
Output schema / properties / items / descriptionPrevious value: -"搜索结果中的笔记列表,已过滤非笔记卡片与不可公开笔记;当前页过滤后可能为空数组"New value: +"笔记搜索结果中的笔记列表,已过滤非笔记卡片与不可公开笔记;当前页过滤后可能为空数组" - changed
Output schema / properties / items / items / properties / note_id / descriptionPrevious value: -"note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"New value: +"note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。" - changed
Output schema / properties / items / items / properties / publish_time / descriptionPrevious value: -"发布时间,秒级 Unix 时间戳"New value: +"发布时间,秒级 Unix 时间戳;0 表示未知,不应解释为实际发布日期" - changed
Output schema / properties / items / items / properties / video / anyOfPrevious 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" + }, + "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" + } +] - changed
Output schema / properties / items / items / properties / video / descriptionPrevious value: -"视频摘要信息;仅视频笔记返回对象,图文为 null"New value: +"视频摘要信息;视频笔记也可能为 null,表示未提供视频信息,不代表不是视频;图文为 null" - changed
Output schema / properties / next_page_token / descriptionPrevious value: -"下一页不透明分页令牌;为空表示没有更多结果或无法继续 token 翻页。继续搜索时必须将完整 next_page_token 原样作为 page_token 传回。next_page_token 只能用于同一关键词、排序、笔记类型、发布时间范围和调用方的搜索链路。items 为空时不要单独据此判断结束。"New value: +"下一页不透明分页令牌;为空表示没有更多结果或无法继续 token 翻页。继续笔记搜索时必须将完整 next_page_token 原样作为 page_token 传回。next_page_token 仅限同一工具、关键词和调用方;保持该工具支持的筛选条件不变,不得跨搜索工具复用。items 为空时不要单独据此判断结束。" - added
Output schema / properties / pointsAdded value: +{ + "additionalProperties": false, + "description": "本次成功调用的积分消耗与调用完成时的账户积分余额。", + "properties": { + "balance": { + "description": "本次接口完成时看到的当前积分余额。", + "minimum": 0, + "type": "integer" + }, + "cost": { + "description": "本次请求最终确认消耗的积分。", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "cost", + "balance" + ], + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "items", - "next_page_token" -]New value: +[ + "items", + "next_page_token", + "points" +]
- Added
xhs_search_products - Added
xhs_search_suggestions - Added
xhs_search_users - Changed
xhs_submit_video_speech_text_by_note_id1 field changed- changed
Input schema / properties / note_id / descriptionPrevious value: -"note_id 是 24 位小写十六进制稳定笔记 ID。必须原样复制搜索、详情、评论或用户发帖列表返回的完整 note_id;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"New value: +"note_id 是小红书笔记 ID。已有完整 note_id 时原样使用;否则可从笔记搜索、笔记详情、评论、标签页笔记列表或用户发帖列表结果复制;不得截断、缩写、脱敏、补全、格式化、重组,也不得只传前缀。"
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 35 tools
Tools are organized around clear resources (notes, users, products, topics, comments, commercial/pgy data), and the by_url vs by_id pairs are explicitly cross-referenced in descriptions so an agent can pick correctly. The only mild overlap is among the pgy creator analytics tools (profile vs performance vs fans vs commercial overview vs metrics trend), which are differentiated by description but require careful reading.
Nearly every tool follows the xhs_<verb>_<noun>[_by_<input>] pattern, with a clean pgy_ namespace for commercial tools and consistent _by_url/_by_id variant suffixes. The single socialdatax_get_points_balance is a reasonable account-level exception, not a break in convention.
35 tools is heavy for the surface, and the domain is broad enough (notes, users, products, comments, topics, commercial analytics) that most tools earn their place. However, the systematic url/id duplication of several operations inflates the count and pushes this toward the heavy end of the range.
Coverage spans search, note/image/user/product/topic detail, comments and nested replies, video speech-to-text job lifecycle, hot lists, suggestions, and a full commercial (pgy) analytics suite, which is close to lifecycle-complete for a data-reading API. Gaps are minor, e.g. no social-graph or follower-list operations, but core workflows are covered.
Maintenance
Related MCP Connectors
XHS search/details, PGY, comments/replies, users/ID resolution/posts, transcript
Search and read public social data from Chinese and global platforms, pay per call.
搜索笔记、浏览首页推荐、查看笔记内容与评论,并发表你的评论。直接在工作流中与小红书内容互动,高效跟进话题。
MCP server: AI-agent access to Chinese social & trend signals — Douyin, Weibo, Xiaohongshu/RedNote,
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.162 npm29MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for automating Xiaohongshu (RED Note). Publish posts, search content, comment, like, and analyze creator data on China's largest lifestyle social platform.30MIT
- AlicenseAqualityFmaintenanceEnables AI assistants to search, browse, and publish notes on Xiaohongshu (Little Red Book) via MCP tools.8AGPL 3.0
- AlicenseAqualityDmaintenanceA lightweight MCP server that provides read-only access to Xiaohongshu (Little Red Book) data, enabling search, note details, user profiles, and trending feeds via direct HTTP APIs.521 npm1MIT
socialdatax_get_points_balanceARead-only
查询当前 API Key 账户的 SocialDataX 积分余额、剩余积分或点数 / remaining points balance。需要充值时请访问 https://socialdatax.com/dashboard/billing。
No parameters
Output Schema
No output parameters
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description reinforces that this is a read-only balance query. It adds useful context by tying the balance to the current API Key and pointing to the billing dashboard for recharges. No contradictions or hidden side effects are indicated.
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 two short sentences: the first states the core purpose, and the second provides an actionable billing link. Every word earns its place without unnecessary detail.
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 zero-parameter, read-only balance query with an output schema, annotations, and a billing link, the description is fully sufficient. No additional information is needed for an agent to select and invoke it correctly.
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 zero parameters Belarusand schema coverage is 100%, so parameter semantics are not a burden on the description. The description still adds value by explaining what the returned balance represents.
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 a specific action (query) and resource (current API Key account's SocialDataX points balance), including Chinese and English terms. It is unambiguous and obviously distinct from the YouTube-focused sibling tools.
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 identifies the exact context: querying the balance for the current API Key accounttons. It also provides a relevant follow-up URL for recharging. There are no competing sibling tools for balance checking, so no explicit alternatives are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.