SocialDataX 微信 WeChat MCP
Server Details
WeChat video and image posts, comments, users, transcripts, Official Account articles and stats.
- Status
- Healthy
- Uptime
- 100.0% over 54 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 24 tools
Tools are differentiated by resource and input type (URL vs ID), and descriptions explicitly state when to use each variant. Some pairs (e.g., get_video_comments_by_url vs by_object_id, user info by URL vs user_id) retrieve the same resource and could be momentarily confused, but the detailed guidance resolves it.
Names follow a consistent snake_case verb-first pattern (wechat_get_*, wechat_search_*, wechat_submit_*) with a service prefix. Minor deviations like hot_search_list and video_speech_text_job are still predictable within the established convention.
24 tools is borderline heavy for an agent to navigate. Several URL/ID variants could be collapsed via optional parameters, but each tool does map to a distinct API endpoint.
The surface covers search, detail, comments/replies, user info, posted videos, account articles, and speech-to-text across video and article domains. Minor gaps exist, such as no MP account search and no dedicated video interaction stats, but core read workflows are covered.
Available Tools
24 toolswechat_get_hot_search_listARead-onlyInspect
获取微信视频号热榜;当前不支持翻页。
| 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?
The description adds a valuable behavioral limitation not present in annotations: '当前不支持翻页' (currently does not support pagination). The readOnlyHint annotation already indicates a safe read operation, and the description is consistent with it. No contradiction detected.
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, front-loaded sentence that states the core purpose and a key limitation. Every word earns its place, with no wasted text.
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?
This is a simple, no-parameter tool with an output schema available. The description covers what it does and a key limitation, and the output schema handles return values. No significant gaps remain.
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 and the schema is empty, so schema coverage is trivially 100%. The baseline for 0-parameter tools is 4, and the description does not need to add parameter semantics. No gaps exist.
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 the WeChat Channels hot list ('获取微信视频号热榜'), using a specific verb and resource. It distinguishes itself from siblings like wechat_search_videos and wechat_get_video_detail_by_url by being the only one focused on the hot list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving the hot list, but does not explicitly state when to use this tool versus alternatives or provide exclusion criteria. There is no mention of alternatives or scenarios where other tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_get_mp_account_articles_by_account_idARead-onlyInspect
根据公众号账号 ID 获取文章列表。
| Name | Required | Description | Default |
|---|---|---|---|
| account_id | Yes | 公众号账号 ID;可直接使用微信公众号文章详情返回的 account.account_id,例如 gh_114e76fd6e5d。 | |
| page_token | No | 公众号账号文章分页令牌;首次请求留空,继续翻页时将上一页返回的完整 next_page_token 原样传回;只能用于同一公众号的文章分页链路。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页公众号文章 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| account_id | Yes | 公众号账号 ID |
| next_page_token | Yes | 公众号账号文章分页令牌;首次请求留空,继续翻页时将上一页返回的完整 next_page_token 原样传回;只能用于同一公众号的文章分页链路。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the description adds nothing beyond that. It doesn't describe pagination behavior, ordering, or any side effects. With annotations covering the safety profile, the description's minimal addition is acceptable but not enriching.
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 is direct and free of fluff. The purpose is front-loaded and nothing is redundant.
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 list tool with an output schema and fully documented parameters, the description is sufficient. It covers the core action. Slight gap: it doesn't mention that the page_token is used for continued pagination, but that's already in the schema. Overall, the combination of schema and description is complete enough for an agent to call 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 both parameters (account_id and page_token) are fully documented in the schema. The description doesn't add any semantic detail beyond the schema, such as the meaning of the account_id format or the pagination rule, which are already in the schema. 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 clearly states the verb (获取/get) and the resource (文章列表/article list) with a specific scope (按公众号账号 ID/by account ID). It distinguishes from siblings like wechat_get_mp_account_info_by_account_id which retrieves account info, not articles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: when you have an account ID and need its articles. However, it doesn't explicitly state when to prefer this over siblings or mention any exclusions (e.g., if you have a URL, use wechat_get_mp_article_detail_by_url). It provides no context about the pagination flow beyond what the schema explains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_get_mp_account_info_by_account_idBRead-onlyInspect
根据公众号账号 ID 获取账号资料。
| Name | Required | Description | Default |
|---|---|---|---|
| account_id | Yes | 公众号账号 ID;可直接使用微信公众号文章详情返回的 account.account_id,例如 gh_114e76fd6e5d。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | 公众号名称;不可用时为空字符串 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| account_id | Yes | 公众号账号 ID |
| ip_location | Yes | 公众号 IP 属地;不可用时为空字符串 |
| linked_video_account | Yes | 关联视频号;当前未关联或不可用时为 null |
| original_article_count | Yes | 公众号原创文章数;当前不可用时为 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 agent knows this is a safe read operation. The description adds no additional behavioral context (e.g., authentication needs, rate limits, output behavior), but it does not contradict 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?
The description is a single, concise sentence with no wasted words. It is appropriately sized for a simple one-parameter read-only tool, though it lacks the comparative structure seen in higher-scoring examples.
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, full schema coverage, and existing output schema, the description provides enough for basic invocation. However, it lacks explicit usage guidance and does not address when to prefer this tool over siblings, leaving an agent to rely on name inference.
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 parameter description already explains semantics with an example format (gh_114e76fd6e5d). The tool description adds nothing beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '根据公众号账号 ID 获取账号资料' clearly specifies the action (获取/get) and resource (账号资料/account info), and the tool name disambiguates it from siblings like wechat_get_mp_account_articles_by_account_id. However, the description itself does not explicitly differentiate from similar tools, only the name does.
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 guidance on when to use this tool versus alternatives. The schema description mentions using account_id from article details, but that is parameter sourcing, not tool selection context. No exclusions or conditions are provided to help an agent choose this tool over siblings such as wechat_get_mp_account_articles_by_account_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_get_mp_article_comment_replies_by_urlARead-onlyInspect
根据微信公众号文章链接(或包含链接的分享文案)获取评论回复;可传一级评论 ID 指定评论,省略时自动选择有回复的评论。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 微信公众号文章 / WeChat Official Account article 链接,或包含该链接的分享文案;例如 https://mp.weixin.qq.com/s/cyog0u9QpLFvdBsh9JR3_g。 | |
| comment_id | No | 公众号一级评论 ID;从评论结果 items[].comment_id 复制。首次请求可留空,此时由服务自动选择有回复的评论;不要传评论回复 ID。 | |
| page_token | No | 公众号文章评论回复分页令牌;首次请求留空,继续翻页时将上一页返回的完整 next_page_token 原样传回;只能用于同一篇文章下同一条一级评论的回复分页链路。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页公众号文章评论回复 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| reply_count | Yes | 该一级评论的回复总数 |
| next_page_token | Yes | 公众号文章评论回复分页令牌;首次请求留空,继续翻页时将上一页返回的完整 next_page_token 原样传回;只能用于同一篇文章下同一条一级评论的回复分页链路。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds the notable behavioral trait that omitting comment_id triggers automatic selection of a comment that has replies, which is genuine value beyond annotations, but it says nothing about pagination behavior or return limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence that front-loads the core action (fetch comment replies by article URL) followed by the key conditional parameter behavior. 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 an output schema present and 100% schema coverage plus annotations covering safety, the description need not explain return values or pagination detail. It is complete enough for correct invocation, missing only explicit sibling routing.
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 url, comment_id, and page_token are fully documented in the schema (including the pagination-chain constraint and 'do not pass reply IDs'). The description only restates the comment_id auto-select behavior, so it adds little beyond the schema; 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?
Names a specific verb+resource combination ('获取评论回复' by article URL) and clarifies the input accepts either a link or share text. It is distinguishable from the sibling wechat_get_mp_article_comments_by_url because it targets replies rather than first-level comments, though it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the conditional behavior of comment_id (pass it to target a reply-bearing comment, omit it and the service auto-selects one), which is useful invocation guidance. It does not state when to prefer this tool over wechat_get_mp_article_comments_by_url or wechat_get_video_comment_replies_by_comment_id, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_get_mp_article_comments_by_urlRead-onlyInspect
根据微信公众号文章链接或包含链接的分享文案获取评论列表;继续翻页时复用返回的 next_page_token。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 微信公众号文章 / WeChat Official Account article 链接,或包含该链接的分享文案;例如 https://mp.weixin.qq.com/s/cyog0u9QpLFvdBsh9JR3_g。 | |
| page_token | No | 公众号文章评论分页令牌;首次请求留空,继续翻页时将上一页返回的完整 next_page_token 原样传回;只能用于同一篇公众号文章的评论分页链路。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页公众号文章评论 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| comment_count | Yes | 文章评论总数 |
| featured_count | Yes | 精选评论总数 |
| next_page_token | Yes | 公众号文章评论分页令牌;空字符串表示已结束,应停止翻页;非空时将完整令牌原样传回 page_token,并保持文章链接不变。 |
wechat_get_mp_article_detail_by_urlRead-onlyInspect
已有微信公众号文章链接或包含链接的分享文案时,获取文章详情和正文;统计或评论请使用对应工具。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 微信公众号文章 / WeChat Official Account article 链接,或包含该链接的分享文案;例如 https://mp.weixin.qq.com/s/cyog0u9QpLFvdBsh9JR3_g。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| sn | Yes | 公众号文章 sn 标识;不可用时为空字符串 |
| biz | Yes | 公众号文章 biz 标识;不可用时为空字符串 |
| idx | Yes | 公众号文章 idx 标识;不可用时为空字符串 |
| mid | Yes | 公众号文章 mid 标识;不可用时为空字符串 |
| title | Yes | 公众号文章标题 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| account | Yes | 公众号账号信息 |
| image_urls | Yes | 正文图片链接,按页面顺序返回 |
| article_url | Yes | 规范化后的公众号文章链接 |
| description | Yes | 文章摘要;不可用时为空字符串 |
| content_html | Yes | 正文 HTML 片段 |
| content_text | Yes | 正文纯文本,已去除标签并压缩空白 |
| publish_time | Yes | 文章发布时间,秒级 Unix 时间戳;当前不可用时为 null |
| cover_image_url | Yes | 文章封面图片链接;当前不可用时为 null |
| linked_articles | Yes | 正文内链公众号文章列表 |
| finder_video_cards | Yes | 正文内嵌视频号卡片列表 |
wechat_get_mp_article_stats_by_urlARead-onlyInspect
根据微信公众号文章链接或包含链接的分享文案获取文章互动统计。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 微信公众号文章 / WeChat Official Account article 链接,或包含该链接的分享文案;例如 https://mp.weixin.qq.com/s/cyog0u9QpLFvdBsh9JR3_g。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| like_count | Yes | 文章点赞数;当前不可用时为 null |
| read_count | Yes | 文章阅读数;当前不可用时为 null |
| article_url | Yes | 规范化后的公众号文章链接 |
| share_count | Yes | 文章分享数;当前不可用时为 null |
| collect_count | Yes | 文章收藏数;当前不可用时为 null |
| comment_count | Yes | 文章评论数;当前不可用时为 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 tool is known to be read-only. The description adds no further behavioral context, such as what specific stats are returned or any caveats about invalid URLs. It does not contradict annotations, but adds minimal value beyond them.
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 is directly to the point, with no filler or redundancy. It is efficiently front-loaded with the core purpose.
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 only one parameter, an output schema present, and annotations covering read-only behavior, the description is largely sufficient for an agent to call the tool correctly. The only minor gap is the lack of specificity about what 'interaction statistics' includes, but this is not essential for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the parameter 'url' is already well documented with an explanation and example. The tool description does not add any additional meaning about the parameter, 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 ('获取' / get), resource ('公众号文章' / WeChat Official Account article), and outcome ('互动统计' / interaction statistics). It clearly distinguishes this from sibling tools like comments, detail, or user info, since it focuses on statistics rather than content or user data.
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 explicit guidance on when to use this tool versus alternatives. The description implies it is for retrieving interaction statistics, but it does not mention exclusions or point to siblings like get_mp_article_detail for content or get_mp_article_comments for comments.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_get_user_info_by_urlARead-onlyInspect
根据微信视频号作品链接(视频或图文)或分享文案解析作者后获取用户信息。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 微信视频号作品链接(视频或图文),或包含该链接的分享文案;例如 https://weixin.qq.com/sph/ANxgB9MB8i,或“帮我看下这个作品 https://weixin.qq.com/sph/ANxgB9MB8i”。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| bio | Yes | 用户简介;不可用时为空字符串 |
| name | Yes | 用户昵称;不可用时为空字符串 |
| gender | Yes | 用户性别 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| user_id | Yes | 微信视频号用户 ID;不可用时为空字符串 |
| location | Yes | 用户资料地区;没有资料地区时为空字符串 |
| avatar_url | Yes | 用户头像链接;当前不可用时为 null |
| ip_location | Yes | 用户 IP 属地;没有 IP 属地时为空字符串 |
| original_content_count | Yes | 原创内容数量 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint: true, which already indicates a safe read operation. The description adds the behavioral detail that the tool parses the author from the URL or share text before fetching user info, and that it supports both video and graphic links. This adds value beyond the annotations, though it does not disclose potential failure modes or rate limits, keeping it at a 4 rather than a 5.
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 is front-loaded with the core purpose and directly states the input type and outcome. There is zero redundancy or wasted wording; every phrase adds value.
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 simplicity (one parameter), the presence of an output schema, and annotations that declare read-only and open-world behavior, the description is fully sufficient. It explains what the tool does, how it works (parsing), and the input format. No additional details are required.
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 provides a comprehensive description of the 'url' parameter (including examples and acceptable formats) with 100% coverage. The description adds no additional parameter semantics beyond restating that the tool parses the author, which is not needed given the schema's detail. Baseline 3 is correct when the schema carries the parameter documentation burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: given a WeChat Channels video/post link or shared text, it parses the author and retrieves user information. It uses a specific verb (获取) and resource (用户信息), and distinguishes from sibling tools like wechat_get_user_info_by_user_id by explicitly mentioning the URL-based approach.
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 on when to use this tool (when you have a work link or share text), but it does not explicitly mention alternatives or exclusions. The sibling tools suggest there is a by-user-id variant, but the description does not state to use that when a user ID is available. This is implied but not stated, so a 4 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_get_user_info_by_user_idARead-onlyInspect
根据微信视频号用户 ID 获取用户信息;用户已提供合法 user_id 时直接使用。
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | 微信视频号用户 ID;只支持以 v2_ 开头、以 @finder 结尾的账号 ID;用户已提供时原样使用,否则可从作品详情、用户发布作品列表、评论或评论回复结果中的 author.user_id 或 reply_to_user_id 复制;如果不是 v2_...@finder,不要传。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| bio | Yes | 用户简介;不可用时为空字符串 |
| name | Yes | 用户昵称;不可用时为空字符串 |
| gender | Yes | 用户性别 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| user_id | Yes | 微信视频号用户 ID;不可用时为空字符串 |
| location | Yes | 用户资料地区;没有资料地区时为空字符串 |
| avatar_url | Yes | 用户头像链接;当前不可用时为 null |
| ip_location | Yes | 用户 IP 属地;没有 IP 属地时为空字符串 |
| original_content_count | Yes | 原创内容数量 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds no further behavioral context (rate limits, auth, data freshness, or meaning of openWorldHint). It simply restates the purpose without any extra disclosure, so it adds little beyond the annotation.
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?
One short sentence that directly states purpose and usage condition with no filler. Efficient and front-loaded, ideal for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 1-parameter read-only tool with an output schema, the description combined with the schema covers essentials. Missing explicit error handling and a direct pointer to the URL-based sibling, but those are inferable from the sibling names and schema guardrails.
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 user_id is thorough, covering format, sourcing, and negative conditions. With 100% schema coverage, the tool description needs to add nothing extra, so 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: 'get user info' by WeChat Channels user ID. Clearly distinguishes from URL-based sibling (wechat_get_user_info_by_url) and from video-listing tools by explicitly naming the lookup key.
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 says to use directly when the user provided a valid user_id, and the schema description elaborates where to source the ID otherwise and enforces the v2_...@finder format. It provides a clear condition but stops short of explicitly naming alternatives like the URL-based tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_get_user_posted_videos_by_urlARead-onlyInspect
根据微信视频号作品链接(视频或图文)或分享文案解析作者后获取用户发布作品列表(含视频和图文),支持 page_token 翻页。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 微信视频号作品链接(视频或图文),或包含该链接的分享文案;例如 https://weixin.qq.com/sph/ANxgB9MB8i,或“帮我看下这个作品 https://weixin.qq.com/sph/ANxgB9MB8i”。 | |
| page_token | No | 微信视频号用户发布作品列表分页令牌;首次请求留空,继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一微信视频号用户发布作品分页链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页用户发布作品列表,包含视频和图文 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| next_page_token | Yes | 微信视频号用户发布作品列表分页令牌;首次请求留空,继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一微信视频号用户发布作品分页链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety and world-model. The description adds meaningful behavioral context: it parses the author from the link, returns both video and image-text content, and supports page_token pagination. 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?
A single, dense sentence that front-loads the purpose (parse author, get list) and ends with the pagination capability. Every phrase earns its place with no waste, and it is appropriately structured for quick 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?
For a paginated list-retrieval tool with a read-only, open-world profile and a full input schema plus output schema, the description covers the core behavior, output scope, and pagination. It does not explicitly route to the sibling user_id tool, but the name and context make that inferable, so no critical gap exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both url and page_token already well-documented. The description restates the URL flexibility (video/image-text/share text) and pagination but adds no new meaning beyond what the schema provides. Baseline 3 is appropriate given high 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 clearly states a specific action: parse the author from a WeChat Channels work link or share text, then retrieve the user's published works list (videos and image-text). It distinguishes itself from siblings like wechat_get_user_posted_videos_by_user_id by specifying the input is a URL, making the resource and 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 clearly implies when to use this tool: when you have a work link or share text, as it says '根据...链接...解析作者'. However, it does not explicitly name alternative tools (e.g., the user_id variant) or state exclusions, so it falls short of the 'explicit when/when-not' bar but provides clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_get_user_posted_videos_by_user_idARead-onlyInspect
根据微信视频号用户 ID 获取用户发布作品列表(含视频和图文);用户已提供合法 user_id 时直接使用,支持 page_token 翻页。
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | 微信视频号用户 ID;只支持以 v2_ 开头、以 @finder 结尾的账号 ID;用户已提供时原样使用,否则可从作品详情、用户发布作品列表、评论或评论回复结果中的 author.user_id 或 reply_to_user_id 复制;如果不是 v2_...@finder,不要传。 | |
| page_token | No | 微信视频号用户发布作品列表分页令牌;首次请求留空,继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一微信视频号用户发布作品分页链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页用户发布作品列表,包含视频和图文 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| next_page_token | Yes | 微信视频号用户发布作品列表分页令牌;首次请求留空,继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一微信视频号用户发布作品分页链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds modest context about result content and pagination, but does not go meaningfully beyond the schema for page_token semantics. 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?
One compact sentence with the core operation front-loaded, followed only by essential operational facts: when to use it and pagination support. There is no filler or redundant elaboration.
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 list tool with a rich input schema and an output schema, the description is complete. It states purpose, usage condition, and pagination, while the structured fields cover the remaining invocation details.
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 parameter descriptions are highly detailed, covering user_id format/sources and exact page_token reuse rules. The main description adds little 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?
The description clearly states the operation: fetch a WeChat Channels user's published works list by user ID, and notes that the list includes videos and image-text posts. The by_user_id framing plus the explicit '根据微信视频号用户 ID' makes it distinguishable from the sibling by_url 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?
It provides a clear usage condition: use directly when a valid user_id is already available, and support for page_token pagination is stated. It does not explicitly name exclusions or the by_url alternative, but the context is clear enough for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_get_video_comment_replies_by_comment_idARead-onlyInspect
根据同一条视频的 object_id、object_nonce_id 和一级评论 comment_id 获取评论回复;用户已提供完整合法的 ID 组合时直接使用;已有作品链接、encrypted_object_id 或完整 object_id + object_nonce_id 组合但缺少必需 ID 时,按已有输入调用相应工具,从作品详情结果或一级评论结果补全;缺少作品定位信息时向用户索取;不要传回复项的 comment_id。
| Name | Required | Description | Default |
|---|---|---|---|
| object_id | Yes | 微信视频号视频的 object_id,例如 14882122090270235141;用户已提供时直接使用,否则可从作品详情或一级评论结果获取;获取评论或评论回复时请与同一条视频的 object_nonce_id 一起原样传入。 | |
| comment_id | Yes | 微信视频号一级评论 ID,例如 14941641522352032263;用户已提供时直接使用,否则从一级评论结果 items[].comment_id 复制;不要传回复项的 comment_id。 | |
| page_token | No | 评论回复分页令牌;首次请求留空,继续翻页时必须将上一页返回的完整 next_page_token 原样传回;只能用于同一微信视频号、同一一级评论的回复分页链路。 | |
| object_nonce_id | Yes | 微信视频号视频的 object_nonce_id,例如 12801331239707625908_0_39_0_0;用户已提供时直接使用,否则可从作品详情或一级评论结果获取;获取评论或评论回复时请与同一条视频的 object_id 一起原样传入。 |
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 declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds valuable behavioral context: the requirement that object_id and object_nonce_id must come from the same video and be passed together, and the rationale for obtaining missing IDs via other tools. There is 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 somewhat long but efficiently packed with actionable guidance. It opens with the core purpose, then provides structured usage scenarios. No filler sentences; every clause contributes to correct tool 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?
Given the presence of an output schema, the description doesn't need to explain return formats. It covers when to use, how to handle missing inputs, and usage constraints. The pagination mechanism is described in the page_token parameter. A minor gap is the lack of explicit mention of rate limits or error handling, but these are not critical for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed parameter descriptions including examples. The description adds workflow-level semantics: emphasizing same-video pairing of object_id and object_nonce_id, insisting comment_id be a top-level comment (not a reply), and detailing page_token reuse across pages. This goes beyond the schema's basic definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: retrieving comment replies for a specific video based on object_id, object_nonce_id, and comment_id. It distinguishes itself from sibling tools like wechat_get_video_comments_by_object_id (which fetches top-level comments) by focusing on replies, making the purpose 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 provides explicit when-to-use guidance: use directly when full ID combos are provided; call other tools to complete missing IDs when partial info exists; ask user for video location info when absent. It also explicitly warns not to pass a reply's comment_id, preventing a common misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_get_video_comments_by_object_idARead-onlyInspect
已有同一条视频的 object_id 和 object_nonce_id 时获取评论列表;用户已提供合法组合时直接使用,否则可从作品详情结果或一级评论结果获取;搜索结果只有 encrypted_object_id 时先调用详情工具。
| Name | Required | Description | Default |
|---|---|---|---|
| object_id | Yes | 微信视频号视频的 object_id,例如 14882122090270235141;用户已提供时直接使用,否则可从作品详情或一级评论结果获取;获取评论或评论回复时请与同一条视频的 object_nonce_id 一起原样传入。 | |
| page_token | No | 评论分页令牌;首次请求留空,继续翻页时必须将上一页返回的完整 next_page_token 原样传回。 | |
| object_nonce_id | Yes | 微信视频号视频的 object_nonce_id,例如 12801331239707625908_0_39_0_0;用户已提供时直接使用,否则可从作品详情或一级评论结果获取;获取评论或评论回复时请与同一条视频的 object_id 一起原样传入。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页评论列表;过滤后可能为空数组 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| comment_count | Yes | 评论总数 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多评论。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回;next_page_token 只能用于同一微信视频号评论分页链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering the non-mutating nature and external-world interactions. The description does not contradict these annotations and adds minor context about how to obtain the IDs, but it does not disclose additional behaviors such as rate limits, error handling, or exactly what happens on invalid IDs. Given annotation coverage, this level is acceptable.
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 efficiently conveys the purpose and usage constraints without redundancy. It is front-loaded with the main condition (having the IDs) and then provides actionable routing guidance, maintaining good structure despite being compact.
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 simplicity (comment list retrieval with pagination), the description adequately covers the primary scenario and input requirements. Output schema handles return values, and page_token pagination is documented in the schema. The description also addresses how to obtain IDs when not supplied, making it reasonably complete for an agent to call 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 each parameter is already documented. The description adds meaningful value by stating that object_id and object_nonce_id must be passed together and unchanged, and by guiding the agent on where to acquire them if not initially provided. This goes beyond bare schema definitions and clarifies the relationship between the two required parameters.
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 operation — fetching the comment list for a given video — and explicitly names the required identifiers (object_id and object_nonce_id). It clearly differentiates itself from sibling tools like wechat_get_video_comments_by_url (which uses a URL) and wechat_get_video_comment_replies_by_comment_id (which handles replies), so an agent can distinguish it without inspecting 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?
The description explicitly states when to use the tool (when object_id and object_nonce_id are already available) and provides fallback sources for obtaining them (from detail or first-level comment results). It also tells the agent to call the detail tool first when only an encrypted_object_id is present, effectively excluding the wrong paths and routing to the correct sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_get_video_comments_by_urlARead-onlyInspect
根据微信视频号视频链接或包含链接的分享文案获取评论列表。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 微信视频号视频链接,或包含该链接的分享文案;例如 https://weixin.qq.com/sph/ANxgB9MB8i,或“帮我看下这个视频 https://weixin.qq.com/sph/ANxgB9MB8i”。 | |
| page_token | No | 评论分页令牌;首次请求留空,继续翻页时必须将上一页返回的完整 next_page_token 原样传回。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页评论列表;过滤后可能为空数组 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| comment_count | Yes | 评论总数 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多评论。继续翻页时必须将返回的完整 next_page_token 原样作为 page_token 传回;next_page_token 只能用于同一微信视频号评论分页链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds no extra behavioral context (e.g., pagination handling, rate limits, or what happens with invalid URLs). Since annotations carry the safety burden and the description does not contradict them, a neutral score is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, direct sentence states the core purpose with no filler. It is front-loaded with the key verb and resource, making it easy to parse quickly. Every word contributes to understanding.
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 operation with two parameters, both of which are fully documented in the schema, the description is sufficiently complete. An output schema exists for return values, so the description doesn't need to explain them. The only minor gap is not explicitly noting that the tool is read-only, but that is already in annotations, so the omission is forgiven.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with detailed descriptions for both 'url' and 'page_token'. The description essentially repeats the URL flexibility (link or shared text) already present in the schema, adding little beyond what structured data provides. The page_token field is not mentioned in the description, but the schema fully explains its pagination semantics, so no loss occurs.
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 (获取评论列表) and the resource (微信视频号视频链接或包含链接的分享文案). It distinguishes itself from sibling tools like wechat_get_video_comments_by_object_id by specifying the URL-based input, giving agents a precise way to select this 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 specifies the input condition (URL or shared text) but does not explicitly mention when to avoid this tool or point to alternatives such as the object-ID-based sibling. Usage is implied rather than explicitly contrasted with similar tools, so agents must infer which tool to pick based on input type without clear routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_get_video_detail_by_encrypted_object_idARead-onlyInspect
根据微信视频号合法 encrypted_object_id 获取视频详情;用户已提供时直接使用,否则可从 wechat_search_videos 或作者作品列表返回项获取。
| Name | Required | Description | Default |
|---|---|---|---|
| encrypted_object_id | Yes | 微信视频号合法 encrypted_object_id;用户已提供时原样使用,否则可从 wechat_search_videos 或作者作品列表返回项获取。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| video | Yes | 视频资源信息;当前不可用时为 null |
| author | Yes | 作者信息 |
| images | Yes | 图文作品按顺序返回图片资源;视频作品为空数组 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| object_id | Yes | 微信视频号详情对象 ID;不可用时为空字符串 |
| like_count | Yes | 点赞数 |
| topic_tags | Yes | 作品文案中的话题标签;无话题时为空数组;每项只返回 name |
| description | Yes | 作品描述;不可用时为空字符串 |
| ip_location | Yes | 作品发布时的 IP 属地;没有 IP 属地时为空字符串 |
| share_count | Yes | 转发/分享数 |
| content_type | Yes | 内容类型;视频返回 video,图文返回 image |
| publish_time | Yes | 发布时间,秒级 Unix 时间戳 |
| collect_count | Yes | 收藏数 |
| comment_count | Yes | 评论数 |
| cover_image_url | Yes | 封面图或图文首图缩略资源链接;当前不可用时为 null |
| object_nonce_id | Yes | 微信视频号对象 nonce 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 read-only nature is covered. The description adds only the requirement that the ID be '合法' (valid), which is a slight behavioral hint, but it provides no further details on side effects or response characteristics. No contradiction with annotations is present.
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 front-loads the core action ('获取视频详情') and then provides needed sourcing guidance. There is no filler; each clause serves a purpose, making it both concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool with an output schema and annotations covering safety, the description is adequate: it states the operation, explains how to obtain the required ID, and the output schema handles return values. The only minor shortfall is not routing explicitly to the by-URL sibling, but that is not essential for correct invocation of this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the description's parameter note is essentially the same as the schema's. The practical guidance about sourcing the ID from search or author list is repeated from the schema, so no new semantic information is added. Baseline 3 is appropriate given full 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 clearly states the tool's purpose: fetching video details based on a valid encrypted_object_id. It differentiates from siblings by specifying the identifier type ('encrypted_object_id') rather than a URL or user ID, but it does not explicitly name the by-URL sibling 'wechat_get_video_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?
It gives a concrete usage condition: when the user has already provided the encrypted_object_id, use it directly; otherwise obtain it from wechat_search_videos or the author's video list. This is actionable context, but it stops short of explicitly stating when to use the alternative by-URL tool or other exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_get_video_detail_by_urlARead-onlyInspect
根据微信视频号作品链接(视频或图文)或包含链接的分享文案获取作品详情。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 微信视频号作品链接(视频或图文),或包含该链接的分享文案;例如 https://weixin.qq.com/sph/ANxgB9MB8i,或“帮我看下这个作品 https://weixin.qq.com/sph/ANxgB9MB8i”。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| video | Yes | 视频资源信息;当前不可用时为 null |
| author | Yes | 作者信息 |
| images | Yes | 图文作品按顺序返回图片资源;视频作品为空数组 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| object_id | Yes | 微信视频号详情对象 ID;不可用时为空字符串 |
| like_count | Yes | 点赞数 |
| topic_tags | Yes | 作品文案中的话题标签;无话题时为空数组;每项只返回 name |
| description | Yes | 作品描述;不可用时为空字符串 |
| ip_location | Yes | 作品发布时的 IP 属地;没有 IP 属地时为空字符串 |
| share_count | Yes | 转发/分享数 |
| content_type | Yes | 内容类型;视频返回 video,图文返回 image |
| publish_time | Yes | 发布时间,秒级 Unix 时间戳 |
| collect_count | Yes | 收藏数 |
| comment_count | Yes | 评论数 |
| cover_image_url | Yes | 封面图或图文首图缩略资源链接;当前不可用时为 null |
| object_nonce_id | Yes | 微信视频号对象 nonce ID;后续评论等能力需要复用时原样保留 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, openWorldHint=true) already establish this as a safe, environment-dependent read operation, and the description is consistent with them. The description adds a mild behavioral nuance—it accepts share text and extracts the link—but adds no context on return shape parsing, error cases, or rate limits. 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?
A single, tightly written sentence that front-loads the resource (WeChat Channels work), then the input forms, then the action. No filler words, and the sentence order matches how an agent would think about invoking it.
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 (1 param, output schema present, read-only annotations), and the description covers the input essential. The clear gap is routing context: with siblings like wechat_get_video_detail_by_encrypted_object_id and wechat_get_video_comments_by_url in the same family, the description does not help the agent decide between them, relying entirely on tool-name intuition.
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 single 'url' parameter is already well documented with examples (raw link and share text containing the link). The description essentially restates the schema's parameter documentation rather than adding new meaning, 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: '获取作品详情' (get work detail) for WeChat Channels, and specifies the input form (video/image-text link or share text containing a link). This is clear, but it does not explicitly contrast with the sibling wechat_get_video_detail_by_encrypted_object_id; differentiation relies on the tool name's 'by_url' suffix rather than an explicit statement.
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 context is implied: when the agent has a link or share text and wants work details, this tool applies. However, there is no explicit when/when-not guidance or mention of the natural alternative (wechat_get_video_detail_by_encrypted_object_id), leaving the agent to infer routing from naming conventions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_get_video_speech_text_jobARead-onlyInspect
继续查询用户提供的有效 job_id,或 submit 工具返回的 job_id 对应的微信视频号口播转文字任务状态;每次最多等待 240 秒,不创建新任务或触发重处理。
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | 口播转文字任务 ID;用户已提供时直接使用,否则使用两个 submit 工具返回的 job_id;不要传 encrypted_object_id、object_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 declare readOnlyHint: true, but the description adds valuable context: it waits up to 240 seconds per call and does not create new tasks or trigger reprocessing. This aligns with the read-only annotation and adds specifics about the tool's behavior that the agent needs to know, such as the maximum wait time. No contradiction is present.
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, focused sentence that front-loads the core action (querying status) and then adds the key constraints (240-second wait, no task creation) without any redundancy. It is efficient and well-structured, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter), the presence of a detailed schema for that parameter, and annotations covering read-only behavior, the description is complete enough for an agent to call it correctly. It covers what it does, how to get the job_id, and what it doesn't do. The only minor gap is a lack of information about expected response format or failure handling, but since an output schema exists, this is not critical.
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 for the single parameter 'job_id' with a detailed description including instructions and exclusions. The tool description adds no additional parameter-specific information beyond what the schema already provides, so the baseline of 3 is appropriate—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 tool's purpose: querying the status of a WeChat video speech-to-text task using a job_id. It explicitly distinguishes this from the submit tools by mentioning 'submit 工具返回的 job_id', making the specific resource and action unambiguous. The verb '查询' (query) and the resource '任务状态' are precise, and the sibling comparison is clear.
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 explicit guidance on how to obtain the job_id (user-provided or from submit tools) and what not to pass (encrypted_object_id, object_id, or video links). It also states that no new tasks are created. However, it does not explicitly contrast with alternatives (e.g., 'use this after submitting a job and when polling'), but the context and the mention of submit tools imply the intended usage, so this is clear but could be more explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_search_finder_userARead-onlyInspect
按关键词或视频号 ID 查找微信视频号用户,支持 page_token 分页;返回的 user_id 可用于查询用户资料和发布作品。已有 user_id 或作品链接时直接使用用户资料工具;不搜索微信联系人或公众号。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | 视频号用户名称、关键词或视频号 ID;不要传作品链接或分页令牌。 | |
| page_token | No | 首次留空;续页原样传入同一用户搜索返回的 next_page_token,并保持 keyword 不变。 |
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 and openWorldHint, so the safety profile is covered. The description adds real behavioral context beyond that: it discloses pagination via page_token and that the returned user_id is the handoff key for the profile and posted-videos tools, which helps chain calls. It does not mention rate limits or quota costs, so it stops short of a 5.
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 content is front-loaded with the primary purpose and the routing guidance is compactly appended with no filler sentences. It is slightly dense with three distinct ideas (search scope, pagination, downstream tooling) in one block, but 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?
With an output schema present, return-value documentation is not needed, and the description still covers the essentials: search scope, the pagination parameter's role, what the returned user_id is for, and which sibling to use when the ID is already known. Nothing an agent needs to call this 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 both keyword and page_token are already documented in the schema (including the 'leave empty first time, reuse next_page_token with unchanged keyword' rule). The description's mention of page_token pagination adds framing but no syntax or constraints 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?
The description states a specific verb and resource (查找微信视频号用户) plus the two supported lookup modes (keyword or 视频号 ID), which immediately separates it from siblings like wechat_search_videos and wechat_search_mp_articles. It also states what is out of scope (微信联系人和公众号), so an agent can disambiguate 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?
It explicitly routes the agent: when a user_id or 作品链接 is already available, use the user-profile tool instead of this search, and it explicitly excludes contact and official-account search. That is a clear when-to-use, when-not-to-use, and named-alternative statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_search_mp_articlesRead-onlyInspect
按搜索词查找微信公众号文章,支持排序、发布时间筛选和分页;不要传文章链接或公众号账号 ID。
读取全文时,将结果的 article_url 作为 url 传给 wechat_get_mp_article_detail_by_url; 查看指定公众号发布的文章请用 wechat_get_mp_account_articles_by_account_id。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | 公众号文章搜索词或关键词短语;例如量子位、人工智能。不要传文章链接或公众号账号 ID。 | |
| sort_type | No | 排序方式:general(综合/相关性,默认)、time_descending(最新发布)、hot(最热,顺序以平台结果为准)。 | general |
| page_token | No | 公众号文章搜索分页令牌;首次留空,继续翻页原样传回 next_page_token,并保持 keyword、sort_type 和 publish_time_range 不变。 | |
| publish_time_range | No | 发布时间范围:all(不限,默认)、day(最近一天)、week(最近七天)、half_year(最近半年)。 | all |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 本页公众号文章搜索结果 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| next_page_token | Yes | 下一页分页令牌;空字符串表示已结束,应停止翻页;非空时完整原样传回 page_token,并保持 keyword、sort_type 和 publish_time_range 不变。 |
wechat_search_videosARead-onlyInspect
按搜索词搜索微信视频号视频,当前仅返回视频、不返回图文。用户需要按搜索词查找视频时使用;已有作品链接时直接使用详情或评论工具;已有合法 encrypted_object_id 时直接使用按 ID 详情或口播转文字工具,均无需先调用搜索;支持 sort_type、duration_range 和 page_token 翻页。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | 微信视频号视频搜索词;只传关键词或短语;不要传任何链接、encrypted_object_id、user_id 或 page_token 作为 keyword。 | |
| sort_type | No | 搜索排序方式,可选:all(不限,默认)、time_descending(最新)、collect_count_descending(最热/最多收藏排序)。如无明确排序需求,保持 all。 | all |
| page_token | No | page_token 是不透明分页令牌。首次请求留空;继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一微信视频号搜索分页链路、同一关键词和同一筛选条件的下一页,不能跨能力、关键词或筛选条件复用;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。 | |
| duration_range | No | 视频时长筛选,可选:all(不限,默认)、under_5_min(5 分钟以下)、between_5_and_20_min(5-20 分钟)、over_20_min(20 分钟以上)。如无明确筛选需求,保持 all。 | all |
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 signal readOnlyHint and openWorldHint; the description adds meaningful scope behavior: it currently returns videos but not image-text posts, and supports pagination via page_token. It does not go into rate limits or failure modes, but for a read-only search tool this is adequate.
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 paragraph front-loaded with the core action and scope, followed by usage routing and parameter support. Every clause adds value; no filler or restatement.
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 filtered search tool with an output schema, the description is complete: it states the trigger condition, the alternative paths, the scope limitation, and the available controls (sort_type, duration_range, page_token pagination). Nothing needed to select and 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 each parameter has a detailed description, so the tool description only needs to mention that sort_type, duration_range, and page_token are supported. It adds no syntax beyond the schema, matching the baseline for full 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?
Description opens with a clear verb and resource: '按搜索词搜索微信视频号视频' (search WeChat Channels videos by keyword). It also differentiates itself from siblings by noting it returns only videos, not image-text posts, and contrasts with detail/comment/speech-text 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?
Explicitly states when to use ('用户需要按搜索词查找视频时使用') and when not to: if a work link or valid encrypted_object_id is already available, use detail/comment or ID-based speech-text tools directly, '均无需先调用搜索'. This gives clear routing versus the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_submit_video_speech_text_by_encrypted_object_idAInspect
根据微信视频号 encrypted_object_id 提交视频口播转文字任务;用户已提供时直接使用,否则可从 wechat_search_videos 或作者作品列表返回项获取;提交后最多等待 240 秒,未完成时返回 job_id 和下一步查询动作。
| Name | Required | Description | Default |
|---|---|---|---|
| encrypted_object_id | Yes | 微信视频号合法 encrypted_object_id;用户已提供时原样使用,否则可从 wechat_search_videos 或作者作品列表返回项获取。 |
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 non-read-only, non-idempotent, and non-destructive behavior. The description adds valuable operational detail: it waits up to 240 seconds and, if incomplete, returns a job_id with a next-step query action. This goes beyond the structured 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?
One dense sentence conveys the core action, parameter acquisition, and post-submit behavior without excessive verbosity. It is front-loaded with the main action and includes only necessary details, though the multiple clauses require attention.
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 single-parameter submission tool, the description adequately covers how to obtain the parameter, the wait behavior, and the job_id fallback. An output schema is present, and annotations cover side effects, so no critical operational detail is missing. The 'next-step query action' is slightly vague but acceptable.
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 parameter, and the description repeats the schema's explanation without adding new parameter semantics. The waiting and job_id behavior is not parameter-specific, 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 states a specific verb ('提交') and resource ('视频口播转文字任务') tied to encrypted_object_id, and it is clearly distinguished from the sibling wechat_submit_video_speech_text_by_video_url by the id-based parameter. It also explains where to obtain the id if not provided, reinforcing the 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?
It gives clear when-to-use guidance: use directly when the user provides the id, otherwise obtain it from wechat_search_videos or author works list. It does not explicitly mention the by_video_url sibling as an alternative, but the context is inferable from the parameter and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_submit_video_speech_text_by_video_urlAInspect
提交微信视频号视频口播转文字任务;提交后最多等待 240 秒,未完成时返回 job_id 和下一步查询动作。
| Name | Required | Description | Default |
|---|---|---|---|
| video_url | Yes | 微信视频号视频链接,或包含该链接的分享文案;例如 https://weixin.qq.com/sph/ANxgB9MB8i,或“帮我看下这个视频 https://weixin.qq.com/sph/ANxgB9MB8i”。 |
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 write operation (readOnlyHint=false) and non-idempotent. The description adds valuable behavioral context: it waits up to 240 seconds, returns a job_id if not completed, and instructs the next query action. This goes beyond what annotations provide and helps the agent understand the async 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?
One well-structured sentence that front-loads the action, then provides the timeout and job_id fallback. No filler words; every part is informative.
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 (return values are covered), and the description explains the async submission pattern, timeout, and job_id fallback. It does not explicitly name the next query tool (wechat_get_video_speech_text_job), but the sibling list makes it inferable. This is fairly complete for a submission tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes the video_url parameter with examples and format details (100% coverage). The description adds no additional parameter semantics, and per the rubric, the baseline of 3 applies when schema coverage is high and the description doesn't need to compensate.
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) and resource ('微信视频号视频口播转文字任务' – WeChat video channel speech-to-text task), making the purpose clear. However, it does not explicitly differentiate from the sibling tool 'wechat_submit_video_speech_text_by_encrypted_object_id' – the name itself hints at the by-URL distinction, but the description doesn't state it clearly.
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 explicit guidance on when to use this tool versus the alternative submission tool by encrypted_object_id, nor any mention of prerequisites. The description only covers the post-submission behavior (wait, job_id), not the selection criteria. Agents must infer usage from the tool name alone.
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.
1 tool update
- Added
wechat_search_finder_user
1 tool update
- Changed
wechat_get_mp_article_comments_by_url1 field changed- changed
Output schema / properties / next_page_token / descriptionPrevious value: -"公众号文章评论分页令牌;首次请求留空,继续翻页时将上一页返回的完整 next_page_token 原样传回;只能用于同一篇公众号文章的评论分页链路。"New value: +"公众号文章评论分页令牌;空字符串表示已结束,应停止翻页;非空时将完整令牌原样传回 page_token,并保持文章链接不变。"
1 tool update
- Changed
wechat_search_mp_articles4 fields changed- changed
Input schema / properties / page_token / descriptionPrevious value: -"公众号文章搜索分页令牌;首次留空,继续翻页原样传回 next_page_token,并保持搜索词不变。"New value: +"公众号文章搜索分页令牌;首次留空,继续翻页原样传回 next_page_token,并保持 keyword、sort_type 和 publish_time_range 不变。" - added
Input schema / properties / publish_time_rangeAdded value: +{ + "default": "all", + "description": "发布时间范围:all(不限,默认)、day(最近一天)、week(最近七天)、half_year(最近半年)。", + "enum": [ + "all", + "day", + "week", + "half_year" + ], + "type": "string" +} - added
Input schema / properties / sort_typeAdded value: +{ + "default": "general", + "description": "排序方式:general(综合/相关性,默认)、time_descending(最新发布)、hot(最热,顺序以平台结果为准)。", + "enum": [ + "general", + "time_descending", + "hot" + ], + "type": "string" +} - changed
Output schema / properties / next_page_token / descriptionPrevious value: -"下一页分页令牌;空字符串表示已结束,应停止翻页;非空时完整原样传回 page_token,并保持 keyword 不变。"New value: +"下一页分页令牌;空字符串表示已结束,应停止翻页;非空时完整原样传回 page_token,并保持 keyword、sort_type 和 publish_time_range 不变。"
1 tool update
- Added
wechat_search_mp_articles
2 tool updates
- Added
wechat_get_mp_account_articles_by_account_id - Added
wechat_get_mp_account_info_by_account_id
3 tool updates
- Added
wechat_get_mp_article_comment_replies_by_url - Added
wechat_get_mp_article_comments_by_url - Changed
wechat_get_mp_article_stats_by_url2 fields changed- removed
Output schema / properties / wow_countRemoved value: -{ - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "文章在看数(Wow);当前不可用时为 null" -} - changed
Output schema / requiredPrevious value: -[ - "article_url", - "read_count", - "like_count", - "share_count", - "collect_count", - "comment_count", - "wow_count", - "points" -]New value: +[ + "article_url", + "read_count", + "like_count", + "share_count", + "collect_count", + "comment_count", + "points" +]
2 tool updates
- Changed
wechat_get_mp_article_detail_by_url3 fields changed- added
Output schema / properties / article_urlAdded value: +{ + "description": "规范化后的公众号文章链接", + "type": "string" +} - removed
Output schema / properties / source_urlRemoved value: -{ - "description": "规范化后的公众号文章链接", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "biz", - "mid", - "idx", - "sn", - "title", - "account", - "publish_time", - "cover_image_url", - "description", - "source_url", - "content_text", - "content_html", - "image_urls", - "linked_articles", - "finder_video_cards", - "points" -]New value: +[ + "biz", + "mid", + "idx", + "sn", + "title", + "account", + "publish_time", + "cover_image_url", + "description", + "article_url", + "content_text", + "content_html", + "image_urls", + "linked_articles", + "finder_video_cards", + "points" +]
- Added
wechat_get_mp_article_stats_by_url
4 tool updates
- Changed
wechat_get_user_posted_videos_by_url2 fields changed- added
Output schema / properties / items / items / properties / encrypted_object_idAdded value: +{ + "description": "微信视频号作品加密 ID;不可用时为空字符串", + "type": "string" +} - changed
Output schema / properties / items / items / requiredPrevious value: -[ - "object_id", - "object_nonce_id", - "content_type", - "description", - "topic_tags", - "cover_image_url", - "video", - "images", - "publish_time", - "collect_count", - "comment_count", - "author" -]New value: +[ + "object_id", + "object_nonce_id", + "encrypted_object_id", + "content_type", + "description", + "topic_tags", + "cover_image_url", + "video", + "images", + "publish_time", + "collect_count", + "comment_count", + "author" +]
- Changed
wechat_get_user_posted_videos_by_user_id2 fields changed- added
Output schema / properties / items / items / properties / encrypted_object_idAdded value: +{ + "description": "微信视频号作品加密 ID;不可用时为空字符串", + "type": "string" +} - changed
Output schema / properties / items / items / requiredPrevious value: -[ - "object_id", - "object_nonce_id", - "content_type", - "description", - "topic_tags", - "cover_image_url", - "video", - "images", - "publish_time", - "collect_count", - "comment_count", - "author" -]New value: +[ + "object_id", + "object_nonce_id", + "encrypted_object_id", + "content_type", + "description", + "topic_tags", + "cover_image_url", + "video", + "images", + "publish_time", + "collect_count", + "comment_count", + "author" +]
- Changed
wechat_get_video_detail_by_encrypted_object_id1 field changed- changed
Input schema / properties / encrypted_object_id / descriptionPrevious value: -"微信视频号合法 encrypted_object_id;用户已提供时原样使用,否则可从 wechat_search_videos 返回项获取。"New value: +"微信视频号合法 encrypted_object_id;用户已提供时原样使用,否则可从 wechat_search_videos 或作者作品列表返回项获取。"
- Changed
wechat_submit_video_speech_text_by_encrypted_object_id1 field changed- changed
Input schema / properties / encrypted_object_id / descriptionPrevious value: -"微信视频号合法 encrypted_object_id;用户已提供时原样使用,否则可从 wechat_search_videos 返回项获取。"New value: +"微信视频号合法 encrypted_object_id;用户已提供时原样使用,否则可从 wechat_search_videos 或作者作品列表返回项获取。"
1 tool update
- Added
wechat_get_video_share_url_by_object_id
4 tool updates
- Changed
wechat_get_user_posted_videos_by_url1 field changed- 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: +[ + { + "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
wechat_get_user_posted_videos_by_user_id1 field changed- 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: +[ + { + "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
wechat_get_video_detail_by_encrypted_object_id1 field changed- changed
Output schema / 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: +[ + { + "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
wechat_get_video_detail_by_url1 field changed- changed
Output schema / 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: +[ + { + "properties": { + "duration_ms": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "视频时长,单位毫秒;当前不可用时为 null" + }, + "height": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "视频高度,像素;当前不可用时为 null" + }, + "video_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "微信视频号视频资源链接;用于后续下载或转附件处理,不保证可直接播放;不可用时为 null。" + }, + "width": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "视频宽度,像素;当前不可用时为 null" + } + }, + "required": [ + "video_url", + "duration_ms", + "width", + "height" + ], + "type": "object" + }, + { + "type": "null" + } +]
8 tool updates
- Changed
wechat_get_user_info_by_user_id1 field changed- changed
Input schema / properties / user_id / descriptionPrevious value: -"微信视频号用户 ID;只支持以 v2_ 开头、以 @finder 结尾的账号 ID;从作品详情、用户发布作品列表、评论或评论回复结果中的 author.user_id 或 reply_to_user_id 复制;如果不是 v2_...@finder,不要传。"New value: +"微信视频号用户 ID;只支持以 v2_ 开头、以 @finder 结尾的账号 ID;用户已提供时原样使用,否则可从作品详情、用户发布作品列表、评论或评论回复结果中的 author.user_id 或 reply_to_user_id 复制;如果不是 v2_...@finder,不要传。"
- Changed
wechat_get_user_posted_videos_by_user_id1 field changed- changed
Input schema / properties / user_id / descriptionPrevious value: -"微信视频号用户 ID;只支持以 v2_ 开头、以 @finder 结尾的账号 ID;从作品详情、用户发布作品列表、评论或评论回复结果中的 author.user_id 或 reply_to_user_id 复制;如果不是 v2_...@finder,不要传。"New value: +"微信视频号用户 ID;只支持以 v2_ 开头、以 @finder 结尾的账号 ID;用户已提供时原样使用,否则可从作品详情、用户发布作品列表、评论或评论回复结果中的 author.user_id 或 reply_to_user_id 复制;如果不是 v2_...@finder,不要传。"
- Changed
wechat_get_video_comment_replies_by_comment_id4 fields changed- changed
Input schema / properties / comment_id / descriptionPrevious value: -"微信视频号一级评论 ID,例如 14941641522352032263;从一级评论结果 items[].comment_id 复制,用于获取该评论下的回复;不要传回复项的 comment_id。"New value: +"微信视频号一级评论 ID,例如 14941641522352032263;用户已提供时直接使用,否则从一级评论结果 items[].comment_id 复制;不要传回复项的 comment_id。" - changed
Input schema / properties / object_id / descriptionPrevious value: -"微信视频号视频的 object_id,例如 14882122090270235141;获取评论或评论回复时请与同一条视频的 object_nonce_id 一起原样传入。"New value: +"微信视频号视频的 object_id,例如 14882122090270235141;用户已提供时直接使用,否则可从作品详情或一级评论结果获取;获取评论或评论回复时请与同一条视频的 object_nonce_id 一起原样传入。" - changed
Input schema / properties / object_nonce_id / descriptionPrevious value: -"微信视频号视频的 object_nonce_id,例如 12801331239707625908_0_39_0_0;获取评论或评论回复时请与同一条视频的 object_id 一起原样传入。"New value: +"微信视频号视频的 object_nonce_id,例如 12801331239707625908_0_39_0_0;用户已提供时直接使用,否则可从作品详情或一级评论结果获取;获取评论或评论回复时请与同一条视频的 object_id 一起原样传入。" - changed
Output schema / properties / items / items / properties / comment_id / descriptionPrevious value: -"评论回复 ID"New value: +"微信视频号评论回复自身 ID;不是一级评论 ID,不要作为评论回复入口输入。"
- Changed
wechat_get_video_comments_by_object_id3 fields changed- changed
Input schema / properties / object_id / descriptionPrevious value: -"微信视频号视频的 object_id,例如 14882122090270235141;获取评论或评论回复时请与同一条视频的 object_nonce_id 一起原样传入。"New value: +"微信视频号视频的 object_id,例如 14882122090270235141;用户已提供时直接使用,否则可从作品详情或一级评论结果获取;获取评论或评论回复时请与同一条视频的 object_nonce_id 一起原样传入。" - changed
Input schema / properties / object_nonce_id / descriptionPrevious value: -"微信视频号视频的 object_nonce_id,例如 12801331239707625908_0_39_0_0;获取评论或评论回复时请与同一条视频的 object_id 一起原样传入。"New value: +"微信视频号视频的 object_nonce_id,例如 12801331239707625908_0_39_0_0;用户已提供时直接使用,否则可从作品详情或一级评论结果获取;获取评论或评论回复时请与同一条视频的 object_id 一起原样传入。" - changed
Output schema / properties / items / items / properties / comment_id / descriptionPrevious value: -"评论 ID"New value: +"微信视频号一级评论 ID;可作为评论回复工具的 comment_id 输入。"
- Changed
wechat_get_video_comments_by_url1 field changed- changed
Output schema / properties / items / items / properties / comment_id / descriptionPrevious value: -"评论 ID"New value: +"微信视频号一级评论 ID;可作为评论回复工具的 comment_id 输入。"
- Changed
wechat_get_video_detail_by_encrypted_object_id1 field changed- changed
Input schema / properties / encrypted_object_id / descriptionPrevious value: -"微信视频号搜索结果返回的 encrypted_object_id;如果来自搜索结果,请原样传入。"New value: +"微信视频号合法 encrypted_object_id;用户已提供时原样使用,否则可从 wechat_search_videos 返回项获取。"
- Changed
wechat_get_video_speech_text_job1 field changed- changed
Input schema / properties / job_id / descriptionPrevious value: -"口播转文字任务 ID;必须传两个 submit 工具返回的 job_id;不要传 encrypted_object_id、object_id 或视频号作品链接。"New value: +"口播转文字任务 ID;用户已提供时直接使用,否则使用两个 submit 工具返回的 job_id;不要传 encrypted_object_id、object_id 或视频号作品链接。"
- Changed
wechat_submit_video_speech_text_by_encrypted_object_id1 field changed- changed
Input schema / properties / encrypted_object_id / descriptionPrevious value: -"微信视频号搜索结果返回的 encrypted_object_id;如果来自搜索结果,请原样传入。"New value: +"微信视频号合法 encrypted_object_id;用户已提供时原样使用,否则可从 wechat_search_videos 返回项获取。"
6 tool updates
- Changed
wechat_get_mp_article_detail_by_url1 field changed- changed
Output schema / properties / finder_video_cards / items / properties / user_id / descriptionPrevious value: -"内嵌视频号卡片的作者用户 ID;仅 v2_...@finder 可用于用户信息或用户发布视频列表工具;不可用时为空字符串"New value: +"内嵌视频号卡片的作者用户 ID;仅 v2_...@finder 可用于用户信息或用户发布作品列表工具;不可用时为空字符串"
- Changed
wechat_get_user_info_by_user_id1 field changed- changed
Input schema / properties / user_id / descriptionPrevious value: -"微信视频号用户 ID;只支持以 v2_ 开头、以 @finder 结尾的账号 ID;从视频详情、用户发布视频列表、评论或评论回复结果中的 author.user_id 或 reply_to_user_id 复制;如果不是 v2_...@finder,不要传。"New value: +"微信视频号用户 ID;只支持以 v2_ 开头、以 @finder 结尾的账号 ID;从作品详情、用户发布作品列表、评论或评论回复结果中的 author.user_id 或 reply_to_user_id 复制;如果不是 v2_...@finder,不要传。"
- Changed
wechat_get_user_posted_videos_by_url11 fields changed- changed
Input schema / properties / page_token / descriptionPrevious value: -"微信视频号用户发布视频列表分页令牌;首次请求留空,继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一微信视频号用户发布视频分页链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"New value: +"微信视频号用户发布作品列表分页令牌;首次请求留空,继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一微信视频号用户发布作品分页链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。" - changed
Output schema / properties / items / descriptionPrevious value: -"当前页用户发布视频列表"New value: +"当前页用户发布作品列表,包含视频和图文" - changed
Output schema / properties / items / items / properties / author / properties / user_id / descriptionPrevious value: -"作者微信视频号用户 ID;仅 v2_...@finder 可用于用户信息或用户发布视频列表工具;不可用时为空字符串"New value: +"作者微信视频号用户 ID;仅 v2_...@finder 可用于用户信息或用户发布作品列表工具;不可用时为空字符串" - removed
Output schema / properties / items / items / properties / content_type / constRemoved value: -"video" - changed
Output schema / properties / items / items / properties / content_type / descriptionPrevious value: -"内容类型;固定为 video"New value: +"内容类型;视频返回 video,图文返回 image" - added
Output schema / properties / items / items / properties / content_type / enumAdded value: +[ + "video", + "image" +] - changed
Output schema / properties / items / items / properties / cover_image_url / descriptionPrevious value: -"视频封面图链接;当前不可用时为 null"New value: +"视频封面或图文首图缩略资源链接;当前不可用时为 null" - changed
Output schema / properties / items / items / properties / description / descriptionPrevious value: -"视频描述;不可用时为空字符串"New value: +"作品描述;不可用时为空字符串" - added
Output schema / properties / items / items / properties / imagesAdded value: +{ + "description": "图文作品按顺序返回图片资源;视频作品为空数组", + "items": { + "properties": { + "height": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "图片高度;当前不可用时为 null" + }, + "url": { + "description": "微信视频号图文图片资源链接", + "type": "string" + }, + "width": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "图片宽度;当前不可用时为 null" + } + }, + "required": [ + "url", + "width", + "height" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / properties / items / items / requiredPrevious value: -[ - "object_id", - "object_nonce_id", - "content_type", - "description", - "topic_tags", - "cover_image_url", - "video", - "publish_time", - "collect_count", - "comment_count", - "author" -]New value: +[ + "object_id", + "object_nonce_id", + "content_type", + "description", + "topic_tags", + "cover_image_url", + "video", + "images", + "publish_time", + "collect_count", + "comment_count", + "author" +] - changed
Output schema / properties / next_page_token / descriptionPrevious value: -"微信视频号用户发布视频列表分页令牌;首次请求留空,继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一微信视频号用户发布视频分页链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"New value: +"微信视频号用户发布作品列表分页令牌;首次请求留空,继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一微信视频号用户发布作品分页链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"
- Changed
wechat_get_user_posted_videos_by_user_id12 fields changed- changed
Input schema / properties / page_token / descriptionPrevious value: -"微信视频号用户发布视频列表分页令牌;首次请求留空,继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一微信视频号用户发布视频分页链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"New value: +"微信视频号用户发布作品列表分页令牌;首次请求留空,继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一微信视频号用户发布作品分页链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。" - changed
Input schema / properties / user_id / descriptionPrevious value: -"微信视频号用户 ID;只支持以 v2_ 开头、以 @finder 结尾的账号 ID;从视频详情、用户发布视频列表、评论或评论回复结果中的 author.user_id 或 reply_to_user_id 复制;如果不是 v2_...@finder,不要传。"New value: +"微信视频号用户 ID;只支持以 v2_ 开头、以 @finder 结尾的账号 ID;从作品详情、用户发布作品列表、评论或评论回复结果中的 author.user_id 或 reply_to_user_id 复制;如果不是 v2_...@finder,不要传。" - changed
Output schema / properties / items / descriptionPrevious value: -"当前页用户发布视频列表"New value: +"当前页用户发布作品列表,包含视频和图文" - changed
Output schema / properties / items / items / properties / author / properties / user_id / descriptionPrevious value: -"作者微信视频号用户 ID;仅 v2_...@finder 可用于用户信息或用户发布视频列表工具;不可用时为空字符串"New value: +"作者微信视频号用户 ID;仅 v2_...@finder 可用于用户信息或用户发布作品列表工具;不可用时为空字符串" - removed
Output schema / properties / items / items / properties / content_type / constRemoved value: -"video" - changed
Output schema / properties / items / items / properties / content_type / descriptionPrevious value: -"内容类型;固定为 video"New value: +"内容类型;视频返回 video,图文返回 image" - added
Output schema / properties / items / items / properties / content_type / enumAdded value: +[ + "video", + "image" +] - changed
Output schema / properties / items / items / properties / cover_image_url / descriptionPrevious value: -"视频封面图链接;当前不可用时为 null"New value: +"视频封面或图文首图缩略资源链接;当前不可用时为 null" - changed
Output schema / properties / items / items / properties / description / descriptionPrevious value: -"视频描述;不可用时为空字符串"New value: +"作品描述;不可用时为空字符串" - added
Output schema / properties / items / items / properties / imagesAdded value: +{ + "description": "图文作品按顺序返回图片资源;视频作品为空数组", + "items": { + "properties": { + "height": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "图片高度;当前不可用时为 null" + }, + "url": { + "description": "微信视频号图文图片资源链接", + "type": "string" + }, + "width": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "图片宽度;当前不可用时为 null" + } + }, + "required": [ + "url", + "width", + "height" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / properties / items / items / requiredPrevious value: -[ - "object_id", - "object_nonce_id", - "content_type", - "description", - "topic_tags", - "cover_image_url", - "video", - "publish_time", - "collect_count", - "comment_count", - "author" -]New value: +[ + "object_id", + "object_nonce_id", + "content_type", + "description", + "topic_tags", + "cover_image_url", + "video", + "images", + "publish_time", + "collect_count", + "comment_count", + "author" +] - changed
Output schema / properties / next_page_token / descriptionPrevious value: -"微信视频号用户发布视频列表分页令牌;首次请求留空,继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一微信视频号用户发布视频分页链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"New value: +"微信视频号用户发布作品列表分页令牌;首次请求留空,继续翻页时必须将上一次返回的完整 next_page_token 原样传入,作为 page_token 使用;只能用于同一微信视频号用户发布作品分页链路;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。"
- Changed
wechat_get_video_detail_by_encrypted_object_id2 fields changed- changed
Output schema / properties / author / properties / user_id / descriptionPrevious value: -"作者微信视频号用户 ID;仅 v2_...@finder 可用于用户信息或用户发布视频列表工具;不可用时为空字符串"New value: +"作者微信视频号用户 ID;仅 v2_...@finder 可用于用户信息或用户发布作品列表工具;不可用时为空字符串" - changed
Output schema / properties / ip_location / descriptionPrevious value: -"视频发布时的 IP 属地;没有 IP 属地时为空字符串"New value: +"作品发布时的 IP 属地;没有 IP 属地时为空字符串"
- Changed
wechat_get_video_detail_by_url2 fields changed- changed
Output schema / properties / author / properties / user_id / descriptionPrevious value: -"作者微信视频号用户 ID;仅 v2_...@finder 可用于用户信息或用户发布视频列表工具;不可用时为空字符串"New value: +"作者微信视频号用户 ID;仅 v2_...@finder 可用于用户信息或用户发布作品列表工具;不可用时为空字符串" - changed
Output schema / properties / ip_location / descriptionPrevious value: -"视频发布时的 IP 属地;没有 IP 属地时为空字符串"New value: +"作品发布时的 IP 属地;没有 IP 属地时为空字符串"
7 tool updates
- Changed
wechat_get_user_info_by_url1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"微信视频号视频链接,或包含该链接的分享文案;例如 https://weixin.qq.com/sph/ANxgB9MB8i,或“帮我看下这个视频 https://weixin.qq.com/sph/ANxgB9MB8i”。"New value: +"微信视频号作品链接(视频或图文),或包含该链接的分享文案;例如 https://weixin.qq.com/sph/ANxgB9MB8i,或“帮我看下这个作品 https://weixin.qq.com/sph/ANxgB9MB8i”。"
- Changed
wechat_get_user_posted_videos_by_url1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"微信视频号视频链接,或包含该链接的分享文案;例如 https://weixin.qq.com/sph/ANxgB9MB8i,或“帮我看下这个视频 https://weixin.qq.com/sph/ANxgB9MB8i”。"New value: +"微信视频号作品链接(视频或图文),或包含该链接的分享文案;例如 https://weixin.qq.com/sph/ANxgB9MB8i,或“帮我看下这个作品 https://weixin.qq.com/sph/ANxgB9MB8i”。"
- Changed
wechat_get_video_comment_replies_by_comment_id2 fields changed- changed
Input schema / properties / object_id / descriptionPrevious value: -"微信视频号视频的 object_id,例如 14882122090270235141;获取评论时请与同一条视频的 object_nonce_id 一起原样传入。"New value: +"微信视频号视频的 object_id,例如 14882122090270235141;获取评论或评论回复时请与同一条视频的 object_nonce_id 一起原样传入。" - changed
Input schema / properties / object_nonce_id / descriptionPrevious value: -"微信视频号视频的 object_nonce_id,例如 12801331239707625908_0_39_0_0;获取评论时请与同一条视频的 object_id 一起原样传入。"New value: +"微信视频号视频的 object_nonce_id,例如 12801331239707625908_0_39_0_0;获取评论或评论回复时请与同一条视频的 object_id 一起原样传入。"
- Changed
wechat_get_video_comments_by_object_id2 fields changed- changed
Input schema / properties / object_id / descriptionPrevious value: -"微信视频号视频的 object_id,例如 14882122090270235141;获取评论时请与同一条视频的 object_nonce_id 一起原样传入。"New value: +"微信视频号视频的 object_id,例如 14882122090270235141;获取评论或评论回复时请与同一条视频的 object_nonce_id 一起原样传入。" - changed
Input schema / properties / object_nonce_id / descriptionPrevious value: -"微信视频号视频的 object_nonce_id,例如 12801331239707625908_0_39_0_0;获取评论时请与同一条视频的 object_id 一起原样传入。"New value: +"微信视频号视频的 object_nonce_id,例如 12801331239707625908_0_39_0_0;获取评论或评论回复时请与同一条视频的 object_id 一起原样传入。"
- Changed
wechat_get_video_detail_by_url1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"微信视频号视频链接,或包含该链接的分享文案;例如 https://weixin.qq.com/sph/ANxgB9MB8i,或“帮我看下这个视频 https://weixin.qq.com/sph/ANxgB9MB8i”。"New value: +"微信视频号作品链接(视频或图文),或包含该链接的分享文案;例如 https://weixin.qq.com/sph/ANxgB9MB8i,或“帮我看下这个作品 https://weixin.qq.com/sph/ANxgB9MB8i”。"
- Changed
wechat_get_video_speech_text_job1 field changed- changed
Input schema / properties / job_id / descriptionPrevious value: -"口播转文字任务 ID。"New value: +"口播转文字任务 ID;必须传两个 submit 工具返回的 job_id;不要传 encrypted_object_id、object_id 或视频号作品链接。"
- Changed
wechat_search_videos1 field changed- changed
Input schema / properties / keyword / descriptionPrevious value: -"微信视频号搜索关键词;视频搜索自然语言关键词例如 露营、周末带娃、品牌名或内容需求;不要传视频链接、公众号文章链接、用户主页链接、encrypted_object_id、user_id 或 page_token 作为 keyword。"New value: +"微信视频号视频搜索词;只传关键词或短语;不要传任何链接、encrypted_object_id、user_id 或 page_token 作为 keyword。"
12 tool updates
- Changed
wechat_get_hot_search_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" +]
- Changed
wechat_get_mp_article_detail_by_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: -[ - "biz", - "mid", - "idx", - "sn", - "title", - "account", - "publish_time", - "cover_image_url", - "description", - "source_url", - "content_text", - "content_html", - "image_urls", - "linked_articles", - "finder_video_cards" -]New value: +[ + "biz", + "mid", + "idx", + "sn", + "title", + "account", + "publish_time", + "cover_image_url", + "description", + "source_url", + "content_text", + "content_html", + "image_urls", + "linked_articles", + "finder_video_cards", + "points" +]
- Changed
wechat_get_user_info_by_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", - "bio", - "gender", - "ip_location", - "location", - "original_content_count" -]New value: +[ + "user_id", + "name", + "avatar_url", + "bio", + "gender", + "ip_location", + "location", + "original_content_count", + "points" +]
- Changed
wechat_get_user_info_by_user_id2 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", - "bio", - "gender", - "ip_location", - "location", - "original_content_count" -]New value: +[ + "user_id", + "name", + "avatar_url", + "bio", + "gender", + "ip_location", + "location", + "original_content_count", + "points" +]
- Changed
wechat_get_user_posted_videos_by_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: -[ - "items", - "next_page_token" -]New value: +[ + "items", + "next_page_token", + "points" +]
- Changed
wechat_get_user_posted_videos_by_user_id2 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", - "next_page_token" -]New value: +[ + "items", + "next_page_token", + "points" +]
- Changed
wechat_get_video_comment_replies_by_comment_id2 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", - "next_page_token" -]New value: +[ + "items", + "next_page_token", + "points" +]
- Changed
wechat_get_video_comments_by_object_id2 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", - "next_page_token", - "comment_count" -]New value: +[ + "items", + "next_page_token", + "comment_count", + "points" +]
- Changed
wechat_get_video_comments_by_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: -[ - "items", - "next_page_token", - "comment_count" -]New value: +[ + "items", + "next_page_token", + "comment_count", + "points" +]
- Changed
wechat_get_video_detail_by_encrypted_object_id2 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: -[ - "object_id", - "object_nonce_id", - "content_type", - "description", - "topic_tags", - "cover_image_url", - "video", - "images", - "like_count", - "collect_count", - "comment_count", - "share_count", - "publish_time", - "ip_location", - "author" -]New value: +[ + "object_id", + "object_nonce_id", + "content_type", + "description", + "topic_tags", + "cover_image_url", + "video", + "images", + "like_count", + "collect_count", + "comment_count", + "share_count", + "publish_time", + "ip_location", + "author", + "points" +]
- Changed
wechat_get_video_detail_by_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: -[ - "object_id", - "object_nonce_id", - "content_type", - "description", - "topic_tags", - "cover_image_url", - "video", - "images", - "like_count", - "collect_count", - "comment_count", - "share_count", - "publish_time", - "ip_location", - "author" -]New value: +[ + "object_id", + "object_nonce_id", + "content_type", + "description", + "topic_tags", + "cover_image_url", + "video", + "images", + "like_count", + "collect_count", + "comment_count", + "share_count", + "publish_time", + "ip_location", + "author", + "points" +]
- Changed
wechat_search_videos2 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", - "next_page_token" -]New value: +[ + "items", + "next_page_token", + "points" +]
1 tool update
- Changed
wechat_search_videos1 field changed- changed
Input schema / properties / keyword / descriptionPrevious value: -"微信视频号搜索关键词,例如 露营、周末带娃;不要传链接或分页 token。"New value: +"微信视频号搜索关键词;视频搜索自然语言关键词例如 露营、周末带娃、品牌名或内容需求;不要传视频链接、公众号文章链接、用户主页链接、encrypted_object_id、user_id 或 page_token 作为 keyword。"
Related MCP Connectors
Weibo user/post search, suggestions, trends, details, comments, likes/reposts, transcript.
Zhihu/知乎 hot list, search/details, comments/replies, creators/articles, and video transcripts.
Search WeChat official account articles by keyword: title, account, date, link, full text.
Kuaishou hot, suggestions, video/user search, details, comments/replies, profiles/posts, transcript.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceWeChat Channels MCP by SocialDataX for videos and image posts, comments, creator profiles, speech-to-text transcripts, and WeChat Official Account articles.MIT
- AlicenseNot gradedqualityBmaintenanceWeibo MCP by SocialDataX for hot search, post search and details, comments and replies, creator profiles and posts, and video speech-to-text transcripts.MIT
- AlicenseNot gradedqualityBmaintenanceRead-only Douyin / 抖音 MCP by SocialDataX for hot search, work search/details, comments and replies, creator profiles, creator works, and creator series.57 npm2MIT
- AlicenseBqualityBmaintenanceA local-first MCP server that lets agents search and summarize a user's own WeChat history, with stable pagination, bulk chat workflows, unread/event queries, and gated enrichment tools.192MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
socialdatax_get_points_balanceARead-only Inspect
查询当前 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.