SocialDataX 微信 WeChat MCP
Server Details
WeChat video and image posts, comments, users, transcripts, Official Account articles and stats.
- Status
- Healthy
- Uptime
- 100.0% over 75 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 26 tools
The set is organized into clear sub-domains (公众号 articles, 视频号 videos/users, points balance), but many tools are near-duplicates distinguished only by input form: video detail by_url vs by_encrypted_object_id, user info by_url vs by_user_id, posted videos by_url vs by_user_id, comments by_url vs by_object_id, speech-text submit by_url vs by_encrypted_object_id. Descriptions do give routing hints ('已有链接时直接使用...'), which keeps it workable, but an agent must read carefully to avoid misselection between the paired variants.
Almost all tools follow a consistent wechat_<verb>_<resource>_<qualifier> pattern with systematic by_url / by_id / by_account_id suffixes, which is predictable and readable. The single socialdatax_get_points_balance uses a different namespace/prefix, a minor deviation for what is a different resource.
26 tools is on the heavy side for the domain, and much of the volume comes from mirrored URL-vs-ID variants rather than genuinely new capabilities. It is functional but could be consolidated (e.g. one tool accepting either a link or an ID), so it sits at the borderline.
Coverage is broad: search, detail, stats, comments and replies for 公众号 articles; search, detail, comments, replies, user profiles, posted works, share links and speech-to-text for 视频号; plus account lookup and hot search. Minor gaps remain (e.g. no explicit 视频号 hot list, no account-level aggregate stats), but core read workflows have no dead ends.
Available Tools
26 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_image_posts_by_account_idARead-onlyInspect
根据公众号账号 ID 获取发布的贴图列表;account_id 可从详情的 account.account_id 复用。
返回的 article_url 可继续用于公众号文章详情和评论工具;普通文章列表请用 wechat_get_mp_account_articles_by_account_id。
| Name | Required | Description | Default |
|---|---|---|---|
| account_id | Yes | 公众号账号 ID;可直接使用微信公众号文章详情返回的 account.account_id,例如 gh_114e76fd6e5d。 | |
| page_token | No | 首次留空;翻页原样传回 next_page_token,保持 account_id 不变。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页公众号贴图 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| account_id | Yes | 公众号账号 ID |
| next_page_token | Yes | 首次留空;翻页原样传回 next_page_token,并保持 account_id 不变。 |
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 workflow context beyond that: the returned article_url is reusable with the article detail and comment tools, which tells the agent how to chain calls. It does not mention pagination limits or return shape, but the output schema and page_token description cover those.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact clauses lead with the action and resource, then add the sibling routing and chaining hints. Every sentence carries distinct information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description correctly avoids explaining return values while still flagging the actionable article_url field. Given the simple 2-parameter read-only tool, the description plus schema and annotations leave no gaps 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% and the account_id description already explains reusing account.account_id with an example, so the description's note about account_id largely restates the schema. It adds no new format or constraint detail beyond what the schema provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('获取发布的贴图列表' by account ID) and explicitly contrasts with the sibling tool for regular articles (wechat_get_mp_account_articles_by_account_id). An agent can distinguish this from the article-list and image-post-search tools without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names the alternative for ordinary articles explicitly, tells the agent where account_id comes from (detail response's account.account_id), and explains how to continue the workflow using the returned article_url. When-to-use and what-to-use-instead are both stated.
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 原样传回;只能用于同一篇文章下同一条一级评论的回复分页链路。请在 3 天内继续翻页;令牌失效时请从首页重新获取。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页公众号文章评论回复 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| reply_count | Yes | 该一级评论的回复总数 |
| next_page_token | Yes | 公众号文章评论回复分页令牌;首次请求留空,继续翻页时将上一页返回的完整 next_page_token 原样传回;只能用于同一篇文章下同一条一级评论的回复分页链路。请在 3 天内继续翻页;令牌失效时请从首页重新获取。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true and openWorldHint=true already declare the safety and scope profile, so the description only needs to add context. It adds the notable auto-selection behavior when comment_id is omitted, which is genuinely useful, but says nothing about pagination lifetime, token expiry, or result shape (those live only in the schema).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence front-loads the purpose first and the optional-parameter behavior second, with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and 100% schema coverage, the description needn't explain return values or token details. It covers purpose plus the one non-obvious routing behavior; only an explicit pointer to the sibling comments tool 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 all three parameters are fully documented in the schema, including pagination and token-expiry rules. The description only restates the comment_id semantics, adding essentially nothing beyond the structured fields; 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 names a specific verb and resource: fetch comment replies for a WeChat Official Account article, given its URL or share text. It is implicitly distinguished from the sibling comments tool (replies vs. top-level comments), but it never names that sibling, so an agent must infer which one to call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly explains the optional comment_id path: pass a top-level comment ID to target a comment, or omit it and the service auto-selects a comment that has replies. That covers parameter choice but gives no guidance on when to use this tool versus wechat_get_mp_article_comments_by_url or the video-reply equivalent.
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_urlARead-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 原样传回;只能用于同一篇公众号文章的评论分页链路。请在 3 天内继续翻页;令牌失效时请从首页重新获取。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页公众号文章评论 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| comment_count | Yes | 文章留言总数,可能包含回复,不等于一级评论条数 |
| featured_count | Yes | 精选一级评论总数 |
| next_page_token | Yes | 公众号文章评论分页令牌;空字符串表示已结束,应停止翻页;非空时将完整令牌原样传回 page_token,并保持文章链接不变;请在 3 天内继续翻页,令牌失效时从首页重新获取。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description's pagination hint is a useful behavioral trait, but it largely duplicates what the page_token schema field already spells out in more detail (3-day token validity, same-article-only chain), so it adds little beyond structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short clauses separated by a semicolon, with the core purpose front-loaded and no filler. Slight redundancy with the schema's page_token documentation keeps it from being maximally tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and both parameters are fully documented in the schema. The description covers purpose and pagination adequately; only the relationship to the comment-replies sibling and result ordering/limits are unaddressed, which are minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains that url accepts a link or share text and how page_token works, including the 3-day expiry. The description adds no syntax, format, or edge-case meaning beyond that, 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?
States a specific verb and resource: retrieve the comment list for a WeChat Official Account article, keyed by URL or share text containing the URL. This clearly separates it from video-comment siblings, though it never explicitly contrasts with wechat_get_mp_article_comment_replies_by_url (replies vs. top-level comments), leaving that distinction to the tool name.
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 second clause gives concrete pagination guidance ('reuse the returned next_page_token when continuing'), which is real usage instruction. However, there is no statement of when to choose this over the sibling replies tool or the URL-vs-object-id comment variants, so selection guidance 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_detail_by_urlARead-onlyInspect
已有微信公众号文章链接或包含链接的分享文案时,获取普通文章或贴图的详情、正文和按顺序排列的图片。
阅读正文优先使用 content_text,图片使用 image_urls;content_html 保留原始正文结构。 统计或评论请使用对应工具;account.account_id 可用于账号信息和发布列表查询。
| 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 | 正文内嵌视频号卡片列表 |
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 meaningful output-side behavior: prefer content_text for body reading, image_urls for images, content_html preserves original structure, and account.account_id can feed account info/published-list queries — context not derivable from annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the trigger condition, then output-field guidance, then sibling routing — each sentence earns its place. Slightly dense multi-clause packing, but 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?
An output schema exists, so return shape need not be explained, but the description usefully points at the key fields and cross-tool reuse of account.account_id. For a one-parameter read tool this is essentially complete; only the absence of explicit sibling names keeps it below 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single url parameter is fully documented in the schema, including that share text containing a link is acceptable. The description restates the 'link or share text' acceptance but adds no format or edge-case detail beyond the schema, 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+resource: retrieving details, body text, and ordered images for a WeChat Official Account article or image-post from a URL. It explicitly narrows scope to '普通文章或贴图' (normal articles or image posts), which distinguishes it from the video, comment, and stats siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Sets a clear precondition — '已有微信公众号文章链接或包含链接的分享文案时' (when you already have the link or share text containing it) — and explicitly routes stats/comments to other tools ('统计或评论请使用对应工具'). It does not name the specific sibling tools, so the routing requires the agent to map to the named siblings itself.
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_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 |
| recommend_count | No | 文章推荐数(爱心,原在看);与点赞数不同,当前不可用时为 null。 |
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 a genuinely useful behavioral nuance beyond the annotations: the tool will parse a share post that merely contains the link, not only a bare URL, which affects how an agent may pass input. It does not mention any limits (e.g., private/deleted articles) or rate constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that states input and output with no filler. It is arguably under-specified rather than over-long, but nothing in it is wasted.
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 tool with annotations and an output schema, the description covers what is needed: what it returns conceptually (互动统计) and what input shapes are accepted. The main gap is disambiguation from sibling URL-based article tools, which an agent must resolve by name similarity.
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?
Only one parameter, and schema description coverage is 100% with a concrete example URL. The description restates the same share-text tolerance already documented in the schema, so it adds no syntax, format, or edge-case meaning beyond the structured field. 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 names a specific verb and resource — 获取文章互动统计 — and pins down the input form (article link or share text containing the link). It implicitly separates itself from siblings like wechat_get_mp_article_detail_by_url by targeting 互动统计 rather than article content, though it never states that contrast 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?
There is no when-to-use or when-not-to-use guidance, and no alternative is named despite many closely related siblings (article detail, comments, comment replies). An agent must infer from the phrase 互动统计 alone whether this or get_mp_article_detail_by_url is the right call.
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 and openWorldHint, so the safety profile is covered. The description adds meaningful behavior beyond them: the tool first resolves the author from the URL before listing works, and the result includes both videos and image-text posts, with pagination via page_token. It does not mention auth requirements, cost, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that is front-loaded with the input-acceptance rule, then the output, then pagination. Nothing is wasted, though the run-on construction packs three distinct facts into one clause chain rather than separating them.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the description covers the input resolution step and pagination nature. Combined with full schema coverage and read-only annotations, an agent has what it needs to call the tool correctly; only the sibling-routing detail 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%; both url and page_token are heavily documented in the schema, including the strict 'pass next_page_token verbatim' rule. The description only restates pagination support and adds no format or constraint detail 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 (get the user's published works list) and explains the input mechanism: it resolves the author from a WeChat Channels work URL or share text. It never names the obvious alternative (wechat_get_user_posted_videos_by_user_id), so sibling differentiation is left to the tool name rather than the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the input: use this when you only have a work link or share text and need the author's post list. There is no explicit when-not guidance and no mention of when to prefer the by_user_id sibling instead, so the routing decision is left for the agent to infer.
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, so the safety profile is covered. The description adds useful scope context (returns both videos and image-text posts) and notes pagination support, but does not disclose return format, ordering, or result limits. Against annotation-covered safety, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence, front-loaded with the core purpose and using semicolons to separate the usage condition and pagination note. Efficient, though dense punctuation slightly reduces scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary, and annotations cover safety. The description supplies purpose, a usage hint, content-type scope, and pagination awareness, which is enough for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters carry exhaustive schema-level documentation (the v2_...@finder constraint and the strict page_token copy rules). The description's mention of page_token pagination adds nothing beyond the schema, so the baseline 3 is correct.
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 ('获取用户发布作品列表') and clarifies scope ('含视频和图文'). The name makes the distinction from the by_url sibling obvious, but the description itself never names or contrasts with that alternative, so it stops short of a 5.
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 conditional hint ('用户已提供合法 user_id 时直接使用'), which implies this is the path to take when a user_id is on hand rather than a URL. However, it names no alternative tool and provides no explicit when-not-to-use guidance, leaving the by_url vs by_user_id routing to inference.
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 the safety profile is covered. The description goes further by disclosing ID-provenance behavior and the constraint against passing a reply item's comment_id, which is real behavioral context beyond the annotations. It does not discuss rate limits or pagination chain behavior in the prose, keeping it from 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 purpose is front-loaded in the opening clause, and the following clauses are routing instructions that each carry operational weight rather than filler. It is a dense semicolon-chained sentence, which is slightly harder to scan than fully separated statements but appropriate for the branching logic it encodes.
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 tool that sits at the end of a multi-step ID-resolution chain, the description covers how to source each required ID and when to ask the user, which is the main completeness risk. An output schema exists so return values need not be explained, and the pagination chain is documented in the schema; the only minor gap is no explicit statement of the reply-vs-comment distinction against the sibling comment 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%, so every parameter is already fully documented in the schema, including the reply-comment_id caveat and page_token pagination rules. The description largely restates the schema's object_id/object_nonce_id/comment_id semantics rather than adding syntax or format detail beyond it, 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 first clause states a specific verb and resource — retrieving comment replies (获取评论回复) — and names the exact identifier combination (object_id, object_nonce_id, 一级评论 comment_id) that scopes it. This implicitly separates it from siblings like wechat_get_video_comments_by_object_id, but no sibling is named explicitly, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit routing rules: use directly when the user supplies a complete valid ID set; when only a work link, encrypted_object_id, or object_id+object_nonce_id is available, call the appropriate tool and backfill from work-detail or first-level-comment results; ask the user when work-location info is missing. It also names a when-not constraint ('不要传回复项的 comment_id'). This is textbook when/when-not/alternatives 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_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, so the safety profile is covered. The description adds useful acquisition-path context (where the id pair comes from, and the fallback to the detail tool), but discloses nothing about pagination behavior, rate limits, or result shape beyond what the schema/output schema already carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The trigger condition is front-loaded and the whole thing is a single semicolon-delimited sentence with no filler. It is dense but efficiently sized for the amount of routing information it carries.
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, output-schema-backed list tool, the definition covers the material gaps: how to obtain the required id pair, the fallback when only an encrypted_object_id is available, and the sibling tool to call first. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every parameter is documented in the schema itself, including the page_token pagination contract. The description's parameter-related content is largely a restatement of the schema's object_id/object_nonce_id guidance, so it adds little beyond the structured fields — 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 comment list) and scopes it to the case where the caller already holds the video's object_id/object_nonce_id pair. The identifier-based scoping implicitly distinguishes it from sibling wechat_get_video_comments_by_url, 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?
It gives clear routing preconditions: use directly if the user supplied a valid id pair, otherwise source the ids from the work-detail or first-level-comment results, and if only an encrypted_object_id exists, call the detail tool first. It does not, however, contrast against wechat_get_video_comments_by_url, so the when-to-use-this-over-that choice is only partly resolved.
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_urlBRead-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, so the safe-read profile is covered. The description adds the useful nuance that input may be raw share text rather than a clean link, but says nothing about rate limits, pagination semantics, or result ordering. Adequate but thin against an annotation-backed baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that identifies the input forms and the returned resource with zero filler. Nothing is wasted or buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and annotations cover the safety profile, so the description only needs to establish input flexibility and selection context. It handles the former but omits the sibling-routing guidance that would matter most given the crowded comment-tool namespace.
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 the url and page_token parameters are fully documented in the schema, including the share-text example and the exact next_page_token round-trip rule. The description merely restates the url flexibility and adds no syntax or format detail beyond the schema, 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 (评论列表) scoped to a WeChat Channels video URL or share text. It is clear what the tool does, but it never distinguishes itself from the close sibling wechat_get_video_comments_by_object_id, which fetches the same resource by a different identifier.
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 when-to-use, when-not-to-use, or alternative named. With ~24 siblings including several near-identical comment tools, the agent is left to infer that this one is selected only when it holds a URL rather than an object_id. No prerequisites or exclusions are given.
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_articlesARead-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 不变。请在 3 天内续页;令牌失效后需重新搜索。 | |
| 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 不变。请在 3 天内续页;令牌失效后需重新搜索。 |
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 useful behavioral context beyond annotations: search-card titles and publish times may differ from article details, and exact values should come from the detail endpoint. It does not need to repeat the annotation-declared read-only/open-world behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then gives concise routing guidance for alternative tools. Most sentences are useful, though the first sentence partially repeats capabilities already clear from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and annotations covering read-only/open-world behavior, the description provides what an agent needs: purpose, misuse constraints, pagination support, and sibling routing. It also includes the important caveat that displayed search-card metadata may not match article detail values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents keyword, sort_type, page_token, and publish_time_range in detail, including pagination token continuity and expiry. The description mentions sorting, time filtering, and pagination at a high level but adds no parameter syntax beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: searching WeChat official-account articles by keyword, with sorting, publish-time filtering, and pagination. It also distinguishes the tool from related siblings by telling the agent not to pass article URLs or account IDs, and by routing full-text and account-article use cases elsewhere.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit alternatives: use wechat_get_mp_article_detail_by_url for full text from an article_url, and wechat_get_mp_account_articles_by_account_id for articles from a specific account. It also warns against passing article links or account IDs as search input, which directly prevents common misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wechat_search_mp_image_postsARead-onlyInspect
按关键词搜索公众号贴图,支持综合、最新、最热排序与分页。
将结果的 article_url 作为 url 传给 wechat_get_mp_article_detail_by_url 获取正文和全部图片, 或传给 wechat_get_mp_article_comments_by_url 获取评论。搜索卡片可能包含正文片段,精确标题和发布时间以详情为准。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | 公众号贴图搜索词,例如城市摄影、光谷书房;不要传链接或账号 ID。 | |
| sort_type | No | general 综合、time_descending 最新、hot 最热。 | general |
| page_token | No | 首次留空;翻页原样传回 next_page_token,保持 keyword 和 sort_type 不变。请在 3 天内续页;令牌失效后需重新搜索。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 本页公众号贴图搜索结果 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| next_page_token | Yes | 下一页分页令牌;空字符串表示已结束,应停止翻页;非空时完整原样传回 page_token,并保持 keyword 和 sort_type 不变。请在 3 天内续页;令牌失效后需重新搜索。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly and openWorld, but the description adds real data-fidelity context: search cards may contain only a body snippet, and exact title/publish time must be taken from detail. That is a behavioral trait an agent would otherwise get wrong by trusting the card.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact lines: capability first, then the chaining instructions, then the caveat about card fidelity. Every sentence carries new information and nothing is repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the description supplies the two things an agent needs to act: how to chain to the detail/comments tools and that card snippets are not authoritative. Nothing material is missing for a read-only search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents sort_type semantics, the 3-day page_token validity, and the keyword constraints, so the schema does the heavy lifting. The description only restates that 综合/最新/最热 sorting and pagination exist, adding no syntax or format detail beyond it — baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: keyword search over 公众号贴图 (image posts), plus sorting and pagination. It is distinguishable from wechat_search_mp_articles (text articles) and wechat_get_mp_account_image_posts_by_account_id (by account ID) by the keyword/account axis, though it never names those siblings 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?
Gives clear downstream usage: feed article_url to wechat_get_mp_article_detail_by_url for body and images, or to wechat_get_mp_article_comments_by_url for comments. It does not state when to prefer this over wechat_search_mp_articles, so the exclusion case is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
2 tool updates
- Changed
wechat_search_mp_articles2 fields changed- changed
Output schema / properties / items / items / properties / publish_time / descriptionPrevious value: -"发布时间,秒级 Unix 时间戳;不可用时为 null"New value: +"搜索源返回的发布时间,秒级 Unix 时间戳;可能与详情不同,精确发布时间以详情为准;不可用时为 null" - changed
Output schema / properties / items / items / properties / title / descriptionPrevious value: -"公众号文章标题"New value: +"搜索卡片展示标题;精确标题以文章详情为准"
- Changed
wechat_search_mp_image_posts3 fields changed- changed
Output schema / properties / items / items / properties / article_url / descriptionPrevious value: -"公众号贴图链接"New value: +"公众号贴图链接;作为 url 传给 wechat_get_mp_article_detail_by_url 获取正文和图片,也可用于评论查询" - changed
Output schema / properties / items / items / properties / publish_time / descriptionPrevious value: -"发布时间,秒级 Unix 时间戳;不可用时为 null"New value: +"搜索源返回的发布时间,秒级 Unix 时间戳;可能与详情不同,精确发布时间以详情为准;不可用时为 null" - changed
Output schema / properties / items / items / properties / title / descriptionPrevious value: -"公众号贴图标题"New value: +"搜索卡片展示文本,可能含正文片段;精确标题以贴图详情为准"
6 tool updates
- Added
wechat_get_mp_account_image_posts_by_account_id - Changed
wechat_get_mp_article_comment_replies_by_url2 fields changed- changed
Input schema / properties / page_token / descriptionPrevious value: -"公众号文章评论回复分页令牌;首次请求留空,继续翻页时将上一页返回的完整 next_page_token 原样传回;只能用于同一篇文章下同一条一级评论的回复分页链路。"New value: +"公众号文章评论回复分页令牌;首次请求留空,继续翻页时将上一页返回的完整 next_page_token 原样传回;只能用于同一篇文章下同一条一级评论的回复分页链路。请在 3 天内继续翻页;令牌失效时请从首页重新获取。" - changed
Output schema / properties / next_page_token / descriptionPrevious value: -"公众号文章评论回复分页令牌;首次请求留空,继续翻页时将上一页返回的完整 next_page_token 原样传回;只能用于同一篇文章下同一条一级评论的回复分页链路。"New value: +"公众号文章评论回复分页令牌;首次请求留空,继续翻页时将上一页返回的完整 next_page_token 原样传回;只能用于同一篇文章下同一条一级评论的回复分页链路。请在 3 天内继续翻页;令牌失效时请从首页重新获取。"
- Changed
wechat_get_mp_article_comments_by_url4 fields changed- changed
Input schema / properties / page_token / descriptionPrevious value: -"公众号文章评论分页令牌;首次请求留空,继续翻页时将上一页返回的完整 next_page_token 原样传回;只能用于同一篇公众号文章的评论分页链路。"New value: +"公众号文章评论分页令牌;首次请求留空,继续翻页时将上一页返回的完整 next_page_token 原样传回;只能用于同一篇公众号文章的评论分页链路。请在 3 天内继续翻页;令牌失效时请从首页重新获取。" - changed
Output schema / properties / comment_count / descriptionPrevious value: -"文章评论总数"New value: +"文章留言总数,可能包含回复,不等于一级评论条数" - changed
Output schema / properties / featured_count / descriptionPrevious value: -"精选评论总数"New value: +"精选一级评论总数" - changed
Output schema / properties / next_page_token / descriptionPrevious value: -"公众号文章评论分页令牌;空字符串表示已结束,应停止翻页;非空时将完整令牌原样传回 page_token,并保持文章链接不变。"New value: +"公众号文章评论分页令牌;空字符串表示已结束,应停止翻页;非空时将完整令牌原样传回 page_token,并保持文章链接不变;请在 3 天内继续翻页,令牌失效时从首页重新获取。"
- Changed
wechat_get_mp_article_stats_by_url1 field changed- added
Output schema / properties / recommend_countAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "文章推荐数(爱心,原在看);与点赞数不同,当前不可用时为 null。" +}
- Changed
wechat_search_mp_articles2 fields changed- changed
Input schema / properties / page_token / descriptionPrevious value: -"公众号文章搜索分页令牌;首次留空,继续翻页原样传回 next_page_token,并保持 keyword、sort_type 和 publish_time_range 不变。"New value: +"公众号文章搜索分页令牌;首次留空,继续翻页原样传回 next_page_token,并保持 keyword、sort_type 和 publish_time_range 不变。请在 3 天内续页;令牌失效后需重新搜索。" - changed
Output schema / properties / next_page_token / descriptionPrevious value: -"下一页分页令牌;空字符串表示已结束,应停止翻页;非空时完整原样传回 page_token,并保持 keyword、sort_type 和 publish_time_range 不变。"New value: +"下一页分页令牌;空字符串表示已结束,应停止翻页;非空时完整原样传回 page_token,并保持 keyword、sort_type 和 publish_time_range 不变。请在 3 天内续页;令牌失效后需重新搜索。"
- Added
wechat_search_mp_image_posts
2 tool updates
- Changed
wechat_get_user_posted_videos_by_url1 field changed- added
Output schema / properties / items / items / properties / is_pinnedAdded value: +{ + "default": false, + "description": "是否在用户主页置顶", + "type": "boolean" +}
- Changed
wechat_get_user_posted_videos_by_user_id1 field changed- added
Output schema / properties / items / items / properties / is_pinnedAdded value: +{ + "default": false, + "description": "是否在用户主页置顶", + "type": "boolean" +}
3 tool updates
- Changed
wechat_get_video_comment_replies_by_comment_id2 fields changed- added
Output schema / properties / items / items / properties / image_urlsAdded value: +{ + "description": "评论图片完整链接列表;没有时为空数组。链接可能失效,有效期未知;需长期保存时及时下载,图片格式以文件内容为准。", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / items / items / properties / stickersAdded value: +{ + "description": "评论表情包列表;按原顺序返回,没有时为空数组", + "items": { + "properties": { + "thumbnail_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "表情包缩略图链接;没有时为 null;链接可能失效,有效期未知" + }, + "url": { + "description": "表情包原图链接;可能是静态图片或动图。链接可能失效,有效期未知;需长期保存时及时下载,图片格式以文件内容为准。", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + }, + "type": "array" +}
- Changed
wechat_get_video_comments_by_object_id2 fields changed- added
Output schema / properties / items / items / properties / image_urlsAdded value: +{ + "description": "评论图片完整链接列表;没有时为空数组。链接可能失效,有效期未知;需长期保存时及时下载,图片格式以文件内容为准。", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / items / items / properties / stickersAdded value: +{ + "description": "评论表情包列表;按原顺序返回,没有时为空数组", + "items": { + "properties": { + "thumbnail_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "表情包缩略图链接;没有时为 null;链接可能失效,有效期未知" + }, + "url": { + "description": "表情包原图链接;可能是静态图片或动图。链接可能失效,有效期未知;需长期保存时及时下载,图片格式以文件内容为准。", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + }, + "type": "array" +}
- Changed
wechat_get_video_comments_by_url2 fields changed- added
Output schema / properties / items / items / properties / image_urlsAdded value: +{ + "description": "评论图片完整链接列表;没有时为空数组。链接可能失效,有效期未知;需长期保存时及时下载,图片格式以文件内容为准。", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / items / items / properties / stickersAdded value: +{ + "description": "评论表情包列表;按原顺序返回,没有时为空数组", + "items": { + "properties": { + "thumbnail_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "表情包缩略图链接;没有时为 null;链接可能失效,有效期未知" + }, + "url": { + "description": "表情包原图链接;可能是静态图片或动图。链接可能失效,有效期未知;需长期保存时及时下载,图片格式以文件内容为准。", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + }, + "type": "array" +}
3 tool updates
- Changed
wechat_get_video_comment_replies_by_comment_id1 field changed- added
Output schema / properties / items / items / properties / author / properties / has_wechat_channels_accountAdded value: +{ + "default": false, + "description": "是否开通微信视频号", + "type": "boolean" +}
- Changed
wechat_get_video_comments_by_object_id1 field changed- added
Output schema / properties / items / items / properties / author / properties / has_wechat_channels_accountAdded value: +{ + "default": false, + "description": "是否开通微信视频号", + "type": "boolean" +}
- Changed
wechat_get_video_comments_by_url1 field changed- added
Output schema / properties / items / items / properties / author / properties / has_wechat_channels_accountAdded value: +{ + "default": false, + "description": "是否开通微信视频号", + "type": "boolean" +}
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 返回项获取。"
Related MCP Connectors
Weibo user/post search, suggestions, trends, details, comments, likes/reposts, transcript.
Weibo (微博) data without login: hot searches, posts by keyword, comments, creator profiles.
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.
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.1MIT
- 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.1MIT
- AlicenseNot gradedqualityBmaintenanceRead-only Douyin / 抖音 MCP by SocialDataX for hot search, work search/details, comments and replies, creator profiles, creator works, and creator series.03MIT
- 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.