SocialDataX B站 Bilibili MCP
Server Details
Bilibili public video, article, dynamic, creator, comments, reactions, and transcript tools.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 22 tools
Each tool targets a distinct resource and input mode, and the by_id/by_url variants are clearly separated by input type. The descriptions explicitly warn against passing the wrong ID types (e.g., comment_id vs post_id), making misselection unlikely.
The vast majority follow a consistent bilibili_<verb>_<object>_by_<identifier> pattern, with get/search/submit as clear verbs. The one account-level tool (socialdatax_get_points_balance) breaks the bilibili prefix but is a minor deviation.
22 tools is slightly above the ideal 3-15 range, but the count is justified by the broad Bilibili data surface: content, comments, user content, search, download, transcription, and account balance. Many tools are paired id/url variants of the same logical operation, which inflates the count without adding conceptual clutter.
The set covers the core Bilibili content lifecycle well: details, comments/replies, likes/reposts, user posted content, search, video download, speech-to-text submission/status, and points balance. Minor gaps exist (e.g., no user social graph or dynamic/user search), but they are workarounds rather than dead ends.
Available Tools
22 toolsbilibili_get_content_comment_replies_by_comment_idARead-onlyInspect
根据内容评论目标和一级评论 ID 获取评论回复;用户已提供完整合法的 ID 组合时直接使用;已有内容 ID 或链接但缺少必需 ID 时,调用对应一级评论工具补全;缺少内容定位信息时向用户索取;不要传评论回复项的 comment_id。
| Name | Required | Description | Default |
|---|---|---|---|
| comment_id | Yes | B 站一级评论 ID;用户已提供时直接使用,否则可从一级评论结果 items[].comment_id 复制;不要自行构造,不要传评论回复项的 comment_id。 | |
| page_token | No | Bilibili 评论回复分页令牌。首次请求留空。继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;page_token 是不透明分页令牌;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。只能用于同一内容下同一条一级评论的回复分页链路,也就是同一 comment_object_id、comment_object_type 和一级 comment_id;不能跨能力、内容或评论复用。 | |
| comment_object_id | Yes | 被评论对象 ID;用户已提供时直接使用,否则从一级评论结果复制 comment_object_id;必须与同一条一级评论的 comment_id 和 comment_object_type 一起使用;不要自行构造。 | |
| comment_object_type | Yes | 被评论对象类型编号;用户已提供时直接使用,否则从一级评论结果复制 comment_object_type;必须与同一条一级评论的 comment_id 和 comment_object_id 一起使用;不要自行构造。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页内容评论回复列表。 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多评论回复。继续获取评论回复下一页时,必须将返回的完整 next_page_token 原样作为 page_token 传回;只能用于同一内容下同一条一级评论的回复分页链路,也就是同一 comment_object_id、comment_object_type 和一级 comment_id。不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容;不能跨能力、内容或评论复用。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=true, so the description needn't restate those. It adds valuable behavioral context: the pagination semantics documented, though largely in the schema's page_token description, is reinforced in the tool description. The instruction not to construct IDs from scratch and to use values from the top-level comment result adds behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence that front-loads the primary purpose and then provides concise routing guidance. Every clause earns its place; 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?
The tool has a clear output schema (next_page_token documented), 100% schema coverage, and annotations for safety. The description covers the main usage decisions. The only minor gap is that it doesn't explicitly mention the relationship to the sibling reply-fetching tools beyond the top-level comment tools, but given the output schema and annotations, this is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and each parameter already has detailed descriptions in the schema (copy from top-level comment results, do not construct, must be used together). The tool description adds the explicit instruction about not passing a reply item's comment_id, which complements the schema, but the description itself adds only marginal value over the already-rich schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (获取/retrieve), resource (评论回复/replies to a top-level comment), and target (by content comment target and top-level comment ID). It distinguishes from the sibling tools bilibili_get_content_comments_by_id and bilibili_get_content_comments_by_url, which fetch top-level comments, whereas this one fetches replies to a specific comment.
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 provides usage guidance: use directly when a complete legal ID combination is given; call the corresponding top-level comment tool to complete missing IDs; ask the user when content location info is missing. Also states a clear exclusion — do not pass the comment_id of a reply item. This exceeds typical guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_get_content_comments_by_idARead-onlyInspect
根据 Bilibili 内容 ID 获取视频、专栏或动态的一级评论列表。
| Name | Required | Description | Default |
|---|---|---|---|
| sort_type | No | 评论排序方式:hot=最热,time_descending=最新。默认 hot。 | hot |
| content_id | Yes | Bilibili 内容 ID;用于获取一级评论。视频优先传 bvid(BV...);如果只有视频 aid,建议传 av{aid}(如 av116668525186915)以明确表示视频评论区;不建议直接传裸数字 aid,因为裸数字也可能是专栏/动态评论区 ID。专栏可传 cv 专栏 ID(如 cv9689859),动态/opus 可传 /opus/{id} 或 /dynamic/{id} 路径中的数字 post_id。不要传 comment_object_id、comment_id、链接或分享文案。 | |
| page_token | No | Bilibili 一级评论分页令牌。首次请求留空。继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;page_token 是不透明分页令牌;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。只能用于同一内容、同一排序和同一入口的评论分页链路;content_id 入口 / by_id 工具返回的 token 只能继续用于 content_id 入口 / by_id 工具,url 入口 / by_url 工具返回的 token 只能继续用于 url 入口 / by_url 工具;不能跨能力、入口、内容或排序复用。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页内容评论列表。 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| comment_count | Yes | 平台返回的评论总数,通常包含一级评论和回复;不是当前页数量,也不等于 items 中一级评论条数;不可用时为 null。 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多一级评论。继续获取一级评论下一页时,必须将返回的完整 next_page_token 原样作为 page_token 传回,并沿用本次调用入口;content_id 入口 / by_id 工具返回的 token 只能继续用于 content_id 入口 / by_id 工具,url 入口 / by_url 工具返回的 token 只能继续用于 url 入口 / by_url 工具。不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容;不能跨能力、入口、内容或排序复用。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=true, and the description's '获取' aligns with this. The description adds useful behavioral context beyond annotations: it explicitly limits results to first-level comments and, through the page_token parameter description, discloses strict opaque pagination rules (no modification, no cross-content/sort/entry reuse).
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 with no filler. It efficiently conveys the core purpose and scope without repeating structured information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema descriptions, output schema, and readOnly annotation make the definition substantially complete for correct invocation. The only notable gap is the absence of an explicit statement about when to prefer this tool over the by_url or reply siblings, though the names and parameter guidance largely compensate.
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 itself provides rich, precise meanings for all three parameters, including detailed guidance for content_id formats and opaque token handling. The top-level description adds no additional parameter semantics beyond what the schema already supplies, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('获取') and resource ('一级评论列表') scoped to videos, articles, and dynamics keyed by Bilibili content ID. This clearly distinguishes it from sibling tools such as the by_url variant and the replies-by-comment_id tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Use is implied by the description and tool name: this is the ID-based entry point for first-level comments. However, the description never explicitly states 'use by_url when you have a URL' or contrasts with the reply tool, so the agent must infer tool selection from sibling names rather than receive direct routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_get_content_comments_by_urlARead-onlyInspect
根据 Bilibili 视频、专栏或动态链接、短链接或分享文案获取一级评论列表。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Bilibili 视频、专栏或动态链接,t.bilibili.com 动态链接、短链接或包含链接的分享文案;用于获取该内容的一级评论;不要传用户主页链接、BV 号、aid、纯数字 ID 或 comment_id。 | |
| sort_type | No | 评论排序方式:hot=最热,time_descending=最新。默认 hot。 | hot |
| page_token | No | Bilibili 一级评论分页令牌。首次请求留空。继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;page_token 是不透明分页令牌;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。只能用于同一内容、同一排序和同一入口的评论分页链路;content_id 入口 / by_id 工具返回的 token 只能继续用于 content_id 入口 / by_id 工具,url 入口 / by_url 工具返回的 token 只能继续用于 url 入口 / by_url 工具;不能跨能力、入口、内容或排序复用。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页内容评论列表。 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| comment_count | Yes | 平台返回的评论总数,通常包含一级评论和回复;不是当前页数量,也不等于 items 中一级评论条数;不可用时为 null。 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多一级评论。继续获取一级评论下一页时,必须将返回的完整 next_page_token 原样作为 page_token 传回,并沿用本次调用入口;content_id 入口 / by_id 工具返回的 token 只能继续用于 content_id 入口 / by_id 工具,url 入口 / by_url 工具返回的 token 只能继续用于 url 入口 / by_url 工具。不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容;不能跨能力、入口、内容或排序复用。 |
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 itself does not add behavioral context such as pagination behavior, response structure, or the non-reusable page token rules; those are deferred to 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?
The description is a single front-loaded sentence that captures the tool's scope and input types without wasted words. It is appropriately concise because the detailed parameter behavior lives in the input 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?
The schema and output schema together provide rich context: URL format restrictions, sort enum, opaque page_token constraints, and likely response fields. The main description is sufficient for selecting the tool when given a URL, though it could slightly improve by explicitly calling out the by_id alternative or the top-level-only scope in the tool's own text.
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 thoroughly documents the url, sort_type, and page_token parameters, including the opaque-token rules. The main description adds no additional parameter semantics, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: retrieve a first-level comment list based on a Bilibili video, article, dynamic link, short link, or share text. This precise verb-and-resource phrasing also distinguishes it from the by_id comment tool and the comment-replies sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies the main use case: when you have a Bilibili content URL and want top-level comments. However, it does not explicitly reference sibling alternatives or state when not to use this tool, even though the schema's url description adds exclusions like 'do not pass BV number, aid, or numeric ID'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_get_content_detail_by_idARead-onlyInspect
根据 Bilibili 内容 ID 自动识别并读取视频详情、专栏详情或动态详情;传 BV 号、av{aid} 形式的视频 aid、post_id 或 cv 专栏 ID。
| Name | Required | Description | Default |
|---|---|---|---|
| content_id | Yes | Bilibili 内容 ID;读取视频详情时优先传 bvid(BV...)。如果只有视频 aid,建议传 av{aid}(如 av116668525186915)以明确表示视频;不建议直接传裸数字 aid,因为裸数字也可能是专栏/动态 post_id,容易混淆并会按自动识别处理。读取专栏详情时传 cv 专栏 ID(如 cv9689859);读取动态/opus 详情时可传 /opus/{id} 或 /dynamic/{id} 路径中的数字 post_id。不要传链接或分享文案。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| post | Yes | 专栏/动态详情;当输入解析为专栏或动态链接时返回,否则为 null。 |
| video | Yes | 视频详情;当输入解析为普通视频链接时返回,否则为 null。 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| content_id | Yes | 统一内容 ID;便于从详情继续串内容相关工具。视频固定返回 bvid(BV...);专栏/动态固定返回 post_id,且与 post.post_id 相同。可直接复用到 bilibili_get_content_detail_by_id 或 bilibili_get_content_comments_by_id。 |
| content_type | Yes | 内容类型:video=视频详情;article=专栏详情;dynamic=动态详情,包含带图片的动态。 |
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 valuable behavioral context: the tool auto-detects content type across videos, articles, and dynamics, and handles ambiguous IDs via automatic recognition. This exceeds annotation coverage without contradicting it.
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 names the action, the resource types, and the accepted ID forms. It contains no filler, redundant annotation repetition, or structural noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity—multiple content types and ambiguous ID formats—the schema and description together provide rich invocation guidance, and an output schema exists so return-value explanations are unnecessary. The only minor gap is that alternative-tool routing for URL-based input is left to inference from sibling names rather than stated explicitly.
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 for content_id is 100%, and the schema already explains preferred formats, ambiguous bare-number handling, and disallowed inputs. The tool description mentions the same ID families at a higher level but adds little meaning beyond what the schema already provides, 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 clearly states a specific action ('自动识别并读取' / automatically identify and read) and a specific resource ('视频详情、专栏详情或动态详情'). It also distinguishes this tool from the sibling by naming the input mode (by ID) and enumerating accepted ID formats, so an agent can tell it apart from bilibili_get_content_detail_by_url without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear input-format guidance and an explicit 'do not pass links' exclusion, but it does not explicitly state when to prefer this tool over bilibili_get_content_detail_by_url or other siblings. The usage context is implied by the tool name and sibling list, but the description itself leaves alternative-tool routing implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_get_content_detail_by_urlARead-onlyInspect
根据 Bilibili 链接或分享文案自动识别并读取视频详情、专栏详情或动态详情;支持视频/专栏/动态链接、t.bilibili.com 动态链接、短链接或分享文案。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Bilibili 视频、专栏或动态链接,t.bilibili.com 动态链接、短链接或包含链接的分享文案;读取视频详情、专栏详情或动态详情时优先传完整链接;不要传用户主页链接、BV 号、aid 或纯数字 ID。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| post | Yes | 专栏/动态详情;当输入解析为专栏或动态链接时返回,否则为 null。 |
| video | Yes | 视频详情;当输入解析为普通视频链接时返回,否则为 null。 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| content_id | Yes | 统一内容 ID;便于从详情继续串内容相关工具。视频固定返回 bvid(BV...);专栏/动态固定返回 post_id,且与 post.post_id 相同。可直接复用到 bilibili_get_content_detail_by_id 或 bilibili_get_content_comments_by_id。 |
| content_type | Yes | 内容类型:video=视频详情;article=专栏详情;dynamic=动态详情,包含带图片的动态。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
注解已声明 readOnlyHint 为 true,描述无需重复只读性质;描述额外提供了“自动识别”“分享文案/短链接支持”等行为特征,超越了注解本身。描述与注解无矛盾。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
描述为一句紧凑的句子,目的和支持格式前置,没有空话、套话或对工具名的机械重复。每个分句都提供了有效信息。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
该工具只有一个参数,输入 schema 完整,且具备 readOnly/openWorld 注解和输出 schema,说明已覆盖正确调用所需的核心信息。缺少对 by_id 兄弟工具的显式引导,但工具名和参数描述已足以消除歧义。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
输入 schema 对 url 参数的覆盖率为 100%,已详细说明合法输入类型以及禁止传入用户主页、BV 号、aid 和纯数字 ID。工具描述中的链接类型列表基本是 schema 的重复,未带来额外参数语义。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
描述以具体动作“自动识别并读取”和明确资源“视频详情、专栏详情或动态详情”开头,并列出了接受的链接/分享文案形式。这与按 ID、评论、点赞和用户信息等兄弟工具清楚区分开来。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
描述给出了明确的使用情境:当拿到 Bilibili 链接、短链接或分享文案并需要内容详情时使用。但未显式点名替代工具(如 ID 类工具 bilibili_get_content_detail_by_id),因此虽清晰但未达 5 分。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_get_content_likes_and_reposts_by_post_idARead-onlyInspect
根据 Bilibili 专栏/动态 post_id 获取赞与转发列表;不要传视频 BV 号、aid、cv 专栏 ID、链接或分享文案。
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes | Bilibili 专栏/动态 post_id;即 /opus/{id}、/dynamic/{id} 或 t.bilibili.com/{id} 路径里的数字 ID。也可以从内容详情返回的 post.post_id 复制。专栏搜索结果的 content_id=cv... 不能直接用于赞与转发;从专栏搜索结果出发时,先获取详情,再使用详情里的 post.post_id 或 post.share_url。不要传视频 BV 号、aid、cv 专栏 ID、链接或分享文案。 | |
| page_token | No | Bilibili 专栏/动态赞与转发列表分页令牌。首次请求留空。继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;page_token 是不透明分页令牌;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。只能用于同一专栏/动态的同一 post_id 或同一 url 赞与转发分页链路;继续翻页时必须使用同一个入口,by_post_id 返回的 token 只能继续传给 by_post_id,by_url 返回的 token 只能继续传给 by_url;不能跨能力或内容复用。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页赞与转发动作记录列表,每项包含动作类型、B 站展示文案、补充说明和互动用户。 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| post_id | Yes | 本次赞与转发列表对应的专栏/动态 post_id;可用于后续不带当前 page_token 的新查询。继续当前分页时必须沿用原入口和 next_page_token,不要用本字段切换入口。不是评论 ID、用户 ID 或 cv 专栏 ID。 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多结果。继续获取赞与转发下一页时,必须将返回的完整 next_page_token 原样作为 page_token 传回,并沿用本次调用入口;by_post_id 返回的 token 只能继续传给 by_post_id,by_url 返回的 token 只能继续传给 by_url。不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容;不能跨能力、入口或专栏/动态复用。 |
| like_repost_count | Yes | 赞与转发合计总数,不是当前页数量;当前不区分赞和转发分别计数;不可用时为 null。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is covered by structured metadata. The description's main behavioral addition is the input-type prohibition, which is more of a usage rule than a behavioral trait; the pagination-token behavior is documented in the schema rather than in the description field. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the operation and then states the critical constraint. There is no filler or redundant repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The input schema plus the description cover the full invocation path: what post_id is, where to get it, what not to pass, how to paginate, and the detail-first workflow when coming from search results. The output schema exists, and read-only safety is provided by annotations, so nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the parameter descriptions already thoroughly document valid post_id formats, invalid values, and the opaque page_token rules. The description's top-level exclusions add a small amount of emphasis but largely restate schema guidance, so it stays at baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: '根据 post_id 获取赞与转发列表' (get likes and reposts by post_id). It also explicitly forbids passing video BV, aid, cv article ID, links, or share text, which sharply distinguishes it from URL-based and content-id-based siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly says what inputs are unacceptable and provides a workflow: when starting from article search results, fetch the detail first, then use post.post_id or post.share_url. It does not explicitly name the by_url sibling as the alternative for link inputs, but the negative constraints make the intended scope clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_get_content_likes_and_reposts_by_urlARead-onlyInspect
根据 Bilibili 专栏/动态链接、移动端链接、b23.tv 短链接或分享文案获取赞与转发列表。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Bilibili 专栏/动态链接、移动端链接、t.bilibili.com 动态链接、b23.tv 短链接或包含链接的分享文案;支持 /opus/{id}、/dynamic/{id}、t.bilibili.com/{id}、t.bilibili.com/h5/dynamic/detail/{id} 等同一专栏/动态的常见 B 站链接形态。从专栏搜索结果出发时,先获取详情,再使用详情里的 post.share_url 或 post.post_id。不要传视频链接、其他链接或用户主页链接。 | |
| page_token | No | Bilibili 专栏/动态赞与转发列表分页令牌。首次请求留空。继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;page_token 是不透明分页令牌;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。只能用于同一专栏/动态的同一 post_id 或同一 url 赞与转发分页链路;继续翻页时必须使用同一个入口,by_post_id 返回的 token 只能继续传给 by_post_id,by_url 返回的 token 只能继续传给 by_url;不能跨能力或内容复用。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页赞与转发动作记录列表,每项包含动作类型、B 站展示文案、补充说明和互动用户。 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| post_id | Yes | 本次赞与转发列表对应的专栏/动态 post_id;可用于后续不带当前 page_token 的新查询。继续当前分页时必须沿用原入口和 next_page_token,不要用本字段切换入口。不是评论 ID、用户 ID 或 cv 专栏 ID。 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多结果。继续获取赞与转发下一页时,必须将返回的完整 next_page_token 原样作为 page_token 传回,并沿用本次调用入口;by_post_id 返回的 token 只能继续传给 by_post_id,by_url 返回的 token 只能继续传给 by_url。不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容;不能跨能力、入口或专栏/动态复用。 |
| like_repost_count | Yes | 赞与转发合计总数,不是当前页数量;当前不区分赞和转发分别计数;不可用时为 null。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=true, so the agent knows the operation is non-destructive. The definition adds behavioral context beyond these annotations: the page_token parameter description discloses that tokens are opaque, must be passed verbatim, are bound to a single URL/post_id pagination chain, and cannot be reused across endpoints. This is valuable behavioral information that helps agents paginate correctly.
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 with no wasted words. It states the action and input scope immediately, allowing an agent to quickly understand the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema, the presence of an output schema, and the readOnly/openWorld annotations, the definition is nearly complete. The only minor gap is that the top-level description does not mention the paginated nature of the result, though this is captured in the page_token parameter description.
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 url and page_token already have detailed descriptions. The top-level description adds no extra parameter semantics beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('获取' / get) and resource ('赞与转发列表' / likes and reposts list), and enumerates the supported input forms (专栏/动态链接、移动端链接、b23.tv 短链接、分享文案). This makes it easily distinguishable from siblings like bilibili_get_content_comments_by_url and bilibili_get_content_detail_by_url.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on the expected input forms and a workflow hint (from article search results, get detail first, then use post.share_url or post.post_id). The url parameter description further excludes video links, other links, and user profile links, which guides correct use. It does not explicitly name sibling alternatives, but the by_url/by_post_id distinction is clear from the tool name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_get_user_info_by_profile_urlARead-onlyInspect
根据 B 站用户主页链接、短链接或分享文案获取用户资料;不要传视频链接。如果上一步结果已返回 user_id,可直接使用 user_id 入口。
| Name | Required | Description | Default |
|---|---|---|---|
| profile_url | Yes | B 站用户主页链接、短链接或分享文案;不要传 user_id,不要传视频链接、BV 号或 aid;已有 user_id 时使用 by_user_id 工具。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| bio | Yes | 用户简介;不可用时为空字符串。 |
| name | Yes | B 站用户名称;不可用时为空字符串。 |
| gender | Yes | 用户性别:male 表示男,female 表示女,unknown 表示未知或未公开。 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| user_id | Yes | B 站用户 user_id;用于标识作者或用户。 |
| birthday | Yes | 公开生日,通常为 MM-DD;不可用时为 null。 |
| verified | Yes | 是否有 B 站个人或机构认证。 |
| live_info | Yes | 用户直播状态摘要;没有直播间或不可用时为 null。 |
| avatar_url | Yes | 用户头像链接;不可用时为 null。 |
| profile_url | Yes | B 站用户主页链接;可用于打开用户主页;不可用时为 null。 |
| charging_url | Yes | 充电入口链接;不可用时为 null。 |
| charging_count | Yes | 累计充电人数;未开通或不可用时为 null。 |
| follower_count | Yes | 粉丝数;不可用时为 null。 |
| profile_notice | Yes | B 站空间公告;没有公告或不可用时为 null。 |
| following_count | Yes | 关注数;不可用时为 null。 |
| video_view_count | Yes | 累计视频播放数;不可用时为 null。 |
| posted_audio_count | Yes | 用户公开投稿音频数量;不可用时为 null。 |
| posted_video_count | Yes | 用户公开投稿视频数量;不可用时为 null。 |
| verification_label | Yes | B 站认证说明;没有认证或不可用时为 null。 |
| received_like_count | Yes | 累计获赞数;不可用时为 null。 |
| posted_content_count | Yes | 用户公开投稿总数,对应 B 站空间投稿页的「投稿」总数;不可用时为 null。 |
| posted_image_text_count | Yes | 用户公开投稿图文数量,对应 B 站空间投稿页的「图文」分类;不可用时为 null。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds useful input-format context (short links and share text accepted, video links rejected) but does not disclose additional behavioral traits such as rate limits or parsing edge cases. This is adequate but not exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff. The core purpose is stated first, followed by the key exclusions and a routing hint. Every sentence earns its place and the structure is easy to scan.
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 read-only tool with a fully documented schema and an output schema present, the description is complete. It tells the agent what to pass, what not to pass, and when to prefer the alternative user_id entry, leaving no critical gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single parameter's description already explains accepted formats and exclusions. The tool description mostly repeats this information, adding no new semantic detail beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('获取用户资料' / get user info) and the specific resource (user profile URL, short link, or share text), and it explicitly excludes video links. It differentiates from the sibling by_user_id and content-specific tools by focusing on profile-based user info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear when-to-use and when-not-to-use guidance: do not pass video links, and if an earlier step already returned user_id, use the user_id entry instead. The schema reinforces this by naming the by_user_id tool directly, so an agent can route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_get_user_info_by_user_idARead-onlyInspect
根据 Bilibili 用户 user_id 获取用户资料。
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | B 站用户 user_id,通常是 space.bilibili.com/{user_id} 路径里的数字 ID;可从搜索、详情、评论或用户资料结果中的 author.user_id 或 user_id 复制;不要传用户主页链接,不要传视频链接、昵称、BV 号或 aid。已有用户主页链接时使用 by_profile_url 工具。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| bio | Yes | 用户简介;不可用时为空字符串。 |
| name | Yes | B 站用户名称;不可用时为空字符串。 |
| gender | Yes | 用户性别:male 表示男,female 表示女,unknown 表示未知或未公开。 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| user_id | Yes | B 站用户 user_id;用于标识作者或用户。 |
| birthday | Yes | 公开生日,通常为 MM-DD;不可用时为 null。 |
| verified | Yes | 是否有 B 站个人或机构认证。 |
| live_info | Yes | 用户直播状态摘要;没有直播间或不可用时为 null。 |
| avatar_url | Yes | 用户头像链接;不可用时为 null。 |
| profile_url | Yes | B 站用户主页链接;可用于打开用户主页;不可用时为 null。 |
| charging_url | Yes | 充电入口链接;不可用时为 null。 |
| charging_count | Yes | 累计充电人数;未开通或不可用时为 null。 |
| follower_count | Yes | 粉丝数;不可用时为 null。 |
| profile_notice | Yes | B 站空间公告;没有公告或不可用时为 null。 |
| following_count | Yes | 关注数;不可用时为 null。 |
| video_view_count | Yes | 累计视频播放数;不可用时为 null。 |
| posted_audio_count | Yes | 用户公开投稿音频数量;不可用时为 null。 |
| posted_video_count | Yes | 用户公开投稿视频数量;不可用时为 null。 |
| verification_label | Yes | B 站认证说明;没有认证或不可用时为 null。 |
| received_like_count | Yes | 累计获赞数;不可用时为 null。 |
| posted_content_count | Yes | 用户公开投稿总数,对应 B 站空间投稿页的「投稿」总数;不可用时为 null。 |
| posted_image_text_count | Yes | 用户公开投稿图文数量,对应 B 站空间投稿页的「图文」分类;不可用时为 null。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint true and openWorldHint true. The description itself adds no behavioral context beyond 'get user profile'—it does not mention response shape, error behavior, rate limits, or any data caveats. Since annotations cover the safety profile, this is a low but non-contradictory score.
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 with no redundancy. It front-loads the action and resource, which is appropriate for a simple read-only lookup 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 one-parameter, read-only lookup with an output schema and safety annotations, the definition is nearly complete. The main gap is that the by_profile_url alternative routing appears only in the parameter description, not in the tool description, but the overall definition still gives an agent enough to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage of user_id with a rich, detailed description including acceptable sources and exclusions. The main description adds no additional parameter meaning, so the schema-description heavy lifting keeps this at baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (获取/get) and the resource (用户资料/user profile), and identifies the key by user_id. It does not explicitly differentiate from the sibling bilibili_get_user_info_by_profile_url in the description body, though the tool name and parameter description do make the distinction.
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 top-level description gives no usage context, but the user_id parameter description provides explicit routing guidance: use by_profile_url when a profile URL is already available, and do not pass links, nicknames, BV numbers, or aids. This is practical guidance even though it lives in the schema rather than the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_get_user_posted_articles_by_profile_urlARead-onlyInspect
根据 B 站用户主页链接、短链接或分享文案获取公开发布单篇专栏列表;不要传视频链接。如果上一步结果已返回 user_id,可直接使用 user_id 入口。
| Name | Required | Description | Default |
|---|---|---|---|
| page_token | No | Bilibili 用户发布单篇专栏分页令牌。首次请求留空。继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;page_token 是不透明分页令牌;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。只能用于同一用户的单篇专栏列表分页链路,不能跨能力或用户复用。 | |
| profile_url | Yes | B 站用户主页链接、短链接或分享文案;不要传 user_id,不要传视频链接、BV 号或 aid;已有 user_id 时使用 by_user_id 工具。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页用户发布单篇专栏列表。 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| article_count | Yes | 用户主页公开单篇专栏总数;不是当前页数量;不可用时为 null。 |
| 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 safety is covered. The description adds value beyond annotations by scoping the operation to 公开发布 (publicly published) content only and by stating input exclusions (video links, BV, aid, user_id). The pagination behavior (opaque token, pass back unchanged) is disclosed in the parameter schema rather than the description, but that is acceptable given the schema's richness. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two compact sentences: the first front-loads purpose and the primary exclusion, the second gives routing guidance for the common prior-step scenario. Every clause earns its place; there is no filler, redundancy, or boilerplate.
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 2-parameter list-fetch tool, the combination is nearly complete: the description covers purpose, input forms, exclusions, and routing; the schema covers pagination semantics; output schema covers return values; annotations cover read-only/open-world safety. The only minor gap is that the description does not clarify ordering or error behavior of the list, but these are secondary given the output schema and pagination docs. It is a tightly integrated definition.
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 parameter descriptions are already exceptionally detailed — page_token documents opaque-token handling and non-modifiability, and profile_url documents accepted input forms plus exclusions. Per the baseline rule, the description need not compensate. The main description mostly restates what the schema already says (e.g., don't pass video links), so it adds little marginal parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (获取/get), a specific resource (公开发布单篇专栏列表 = publicly posted article list), and the accepted input forms (用户主页链接、短链接或分享文案). It distinguishes itself from the sibling bilibili_get_user_posted_articles_by_user_id by explicitly noting that a user_id entry exists, so an agent can tell the two apart without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use context (has a profile URL/short link/share text) and clear exclusions: '不要传视频链接' and, in the parameter docs, '不要传 user_id...已有 user_id 时使用 by_user_id 工具'. It also names the exact alternative ('user_id 入口' / by_user_id tool) and the precondition ('如果上一步结果已返回 user_id'). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_get_user_posted_articles_by_user_idBRead-onlyInspect
根据 Bilibili 用户 user_id 获取公开发布单篇专栏列表。
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | B 站用户 user_id,通常是 space.bilibili.com/{user_id} 路径里的数字 ID;可从搜索、详情、评论或用户资料结果中的 author.user_id 或 user_id 复制;不要传用户主页链接,不要传视频链接、昵称、BV 号或 aid。已有用户主页链接时使用 by_profile_url 工具。 | |
| page_token | No | Bilibili 用户发布单篇专栏分页令牌。首次请求留空。继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;page_token 是不透明分页令牌;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。只能用于同一用户的单篇专栏列表分页链路,不能跨能力或用户复用。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页用户发布单篇专栏列表。 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| article_count | Yes | 用户主页公开单篇专栏总数;不是当前页数量;不可用时为 null。 |
| 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, lowering the burden. The description adds useful scope details by specifying '公开发布' (publicly published) and '单篇专栏' (single-column articles), but it does not disclose pagination behavior or other traits beyond what the schema already covers. It meets the minimum but does not go further.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no filler or duplication of schema content. It is adequately front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has an output schema and annotations, the short description is sufficient for an agent to understand the core operation. Pagination details are present in the schema, and the returning list format is likely covered by the output schema, so no critical information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with rich parameter descriptions for both user_id and page_token. The tool description adds no additional parameter nuance, so the baseline score of 3 applies per the high-coverage rule.
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 ('获取' / fetch) and a specific resource ('公开发布单篇专栏列表' / list of public single-column articles) keyed by user_id. It clearly distinguishes the tool from the by_profile_url variant, though it does not explicitly name that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives such as bilibili_get_user_posted_articles_by_profile_url. The parameter schema mentions using by_profile_url when a profile URL is available, but that is not part of the tool description itself, leaving the agent without explicit when-to-use/when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_get_user_posted_dynamics_by_profile_urlARead-onlyInspect
根据 B 站用户主页链接、短链接或分享文案获取公开发布动态列表;不要传视频链接。如果上一步结果已返回 user_id,可直接使用 user_id 入口。
| Name | Required | Description | Default |
|---|---|---|---|
| page_token | No | Bilibili 用户发布动态分页令牌。首次请求留空。继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;page_token 是不透明分页令牌;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。只能用于同一用户的动态列表分页链路,不能跨能力或用户复用。 | |
| profile_url | Yes | B 站用户主页链接、短链接或分享文案;不要传 user_id,不要传视频链接、BV 号或 aid;已有 user_id 时使用 by_user_id 工具。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页用户发布动态列表。 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| dynamic_count | Yes | 用户主页公开动态数量;不是当前页数量;不可用时为 null。 |
| 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 the description adds the public-only scope and input restrictions, which are useful beyond annotations. It does not contradict annotations, though it does not mention auth or rate limits; the read-only annotation covers the main safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first states the action and accepted input, the second gives an important routing/negative instruction. No wasted words, and the key purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated list tool with output schema, readOnly annotations, and detailed parameter descriptions, this is complete. It covers input types, what not to pass, page-token continuation via schema, and the alternative user_id route.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with detailed parameter documentation for profile_url and page_token, including the opaque-token continuation rule. The tool description reinforces accepted input forms and exclusions, but adds little parameter meaning beyond the schema's already comprehensive descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states the specific action (获取公开发布动态列表) and the accepted input forms (主页链接、短链接、分享文案), while explicitly excluding video links and user_id. This clearly distinguishes it from sibling tools like by_user_id variants and content/video 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 explicitly tells the agent when to use this tool (profile URL/short link/share text) and when not to (no video links; if user_id is already available, use the user_id entry). This is explicit routing guidance with an alternative path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_get_user_posted_dynamics_by_user_idARead-onlyInspect
根据 Bilibili 用户 user_id 获取公开发布动态列表。
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | B 站用户 user_id,通常是 space.bilibili.com/{user_id} 路径里的数字 ID;可从搜索、详情、评论或用户资料结果中的 author.user_id 或 user_id 复制;不要传用户主页链接,不要传视频链接、昵称、BV 号或 aid。已有用户主页链接时使用 by_profile_url 工具。 | |
| page_token | No | Bilibili 用户发布动态分页令牌。首次请求留空。继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;page_token 是不透明分页令牌;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。只能用于同一用户的动态列表分页链路,不能跨能力或用户复用。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页用户发布动态列表。 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| dynamic_count | Yes | 用户主页公开动态数量;不是当前页数量;不可用时为 null。 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多用户发布动态。继续获取下一页时,必须将返回的完整 next_page_token 原样作为 page_token 传回;只能用于同一用户的动态列表分页链路。不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容;不能跨能力或用户复用。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers the safety profile, and the description adds only the 'public' scope of the dynamics. It does not disclose pagination behavior, rate limits, or ordering, though the page_token description and output schema partially compensate.
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 concise, front-loaded sentence states the verb, resource, and identifier type with no filler. It is appropriately sized for a simple read operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list operation, the sparse top-level description is sufficient because the schema provides strong parameter and pagination guidance and an output schema exists. A brief mention of the by_profile_url alternative in the main description would make it fully self-contained.
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% parameter documentation coverage, including detailed guidance on user_id and the opaque page_token. The top-level description adds no parameter meaning beyond what the schema already explains.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: fetch a list of public posted dynamics for a Bilibili user identified by user_id. It names a specific verb and resource, and the focus on user_id distinguishes it from profile-URL-based siblings, though it does not explicitly contrast them.
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 top-level description implies the use case (have a user_id and want their public dynamics) but gives no explicit when-not or alternatives. The user_id parameter description does provide a clear alternative to use by_profile_url when a profile URL is already available, but that guidance is in the schema rather than the tool description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_get_user_posted_videos_by_profile_urlARead-onlyInspect
根据 B 站用户主页链接、短链接或分享文案获取公开发布视频列表;不要传视频链接。如果上一步结果已返回 user_id,可直接使用 user_id 入口。
| Name | Required | Description | Default |
|---|---|---|---|
| sort_type | No | 用户发布视频排序方式:time_descending=最新发布,view_count_descending=最多播放,collect_count_descending=最多收藏。默认 time_descending。 | time_descending |
| page_token | No | Bilibili 用户发布视频列表分页令牌。首次请求留空。继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;page_token 是不透明分页令牌;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。只能用于同一用户和同一排序方式的视频列表分页链路,不能跨能力、用户或排序复用。 | |
| profile_url | Yes | B 站用户主页链接、短链接或分享文案;不要传 user_id,不要传视频链接、BV 号或 aid;已有 user_id 时使用 by_user_id 工具。 |
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 supply readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that only publicly posted videos are returned and accepts several profile URL forms, but it does not disclose additional behavioral details beyond that; pagination behavior is handled in the schema. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences convey purpose, accepted input forms, and key exclusions without filler. The most important routing information is front-loaded ahead of the schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, full parameter descriptions, annotations, and explicit sibling differentiation, the definition provides everything needed to select and invoke the tool correctly. The guidance to avoid video links and to switch to the user_id tool is especially valuable.
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 each parameter already has detailed documentation, including sort_type enums and the opaque page_token contract. The description mostly reiterates the profile_url constraints rather than adding new parameter-level meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action and resource type: '获取公开发布视频列表' from a B站用户主页链接, short link, or share text. It explicitly excludes wrong inputs ('不要传视频链接'), which distinguishes it from by_user_id and sibling content 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?
Provides clear when-to-use guidance: use when given a profile URL/short link/share text; do not use for video links. It also explicitly routes to the user_id tool when user_id is already available, making the choice between by_profile_url and by_user_id unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_get_user_posted_videos_by_user_idARead-onlyInspect
根据 Bilibili 用户 user_id 获取公开发布视频列表。
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | B 站用户 user_id,通常是 space.bilibili.com/{user_id} 路径里的数字 ID;可从搜索、详情、评论或用户资料结果中的 author.user_id 或 user_id 复制;不要传用户主页链接,不要传视频链接、昵称、BV 号或 aid。已有用户主页链接时使用 by_profile_url 工具。 | |
| sort_type | No | 用户发布视频排序方式:time_descending=最新发布,view_count_descending=最多播放,collect_count_descending=最多收藏。默认 time_descending。 | time_descending |
| page_token | No | Bilibili 用户发布视频列表分页令牌。首次请求留空。继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;page_token 是不透明分页令牌;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。只能用于同一用户和同一排序方式的视频列表分页链路,不能跨能力、用户或排序复用。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页用户发布视频列表。 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多用户发布视频。继续获取下一页时,必须将返回的完整 next_page_token 原样作为 page_token 传回;只能用于同一用户和同一排序方式的视频列表分页链路。不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容;不能跨能力、用户或排序复用。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this read-only, and the description adds meaningful behavioral details: it retrieves only publicly posted videos, and the page_token description discloses that pagination tokens are opaque, must be passed unchanged, and are scoped to the same user and sort type. It does not cover rate limits or error behavior, but those are secondary for a read-only list retrieval.
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 top-level description is a crisp single sentence, and parameter docs are detailed and logically organized. The page_token description is slightly redundant in its list of forbidden transformations, but every sentence serves a purpose in protecting the opaque-token contract.
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 readOnlyHint/openWorldHint annotations and an output schema, the description plus parameter docs cover what the tool does, when to use it, how to paginate, and how to sort. Nothing essential for correct selection and 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?
Even though schema coverage is 100%, the descriptions go far beyond basic schemas: user_id identifies exact sources and forbidden values, sort_type defines each enum option, and page_token details the opaque-token contract with explicit prohibitions and reuse restrictions. This materially helps the agent invoke the tool correctly.
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 clear verb (获取) and resource (公开发布视频列表) scoped by user_id, and the tool name reinforces that this is the user_id-based variant among sibling by_profile_url tools. It tells an agent exactly what it retrieves: a user's publicly posted Bilibili videos.
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 user_id parameter description explicitly says to use by_profile_url when the agent already has a user homepage link, providing a direct routing rule to a sibling tool. It also enumerates forbidden inputs (links, nickname, BV, aid) and tells where to obtain a valid user_id, which is strong guidance for selecting and using this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_get_video_download_linksARead-onlyInspect
根据 Bilibili 视频链接或分享文案获取本地 CLI 下载和 ffmpeg 合并所需的视频下载地址 manifest。
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Bilibili 视频链接、短链接或包含视频链接的分享文案;用于获取本地 CLI 下载和 ffmpeg 合并所需的视频下载地址 manifest;多 P 视频链接会按 URL 中的 p 参数选择对应分 P;不要传用户主页链接、专栏/动态链接、BV 号或 aid。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| aid | Yes | B 站视频数字 aid,即老 AV 号的数字部分;仅作为备用视频标识。没有 bvid 时,建议拼成 av{aid} 作为 content_id 传入,避免裸数字和专栏/动态 ID 混淆。 |
| cid | Yes | 本次下载地址对应的视频分 P cid。 |
| bvid | Yes | B 站视频 BV 号;读取视频详情时可作为 bilibili_get_content_detail_by_id 的 content_id 输入,优先使用 bvid;获取视频评论时也优先复用 bvid。 |
| page | Yes | 本次下载地址对应的分 P 序号;不可用时为 null。 |
| title | Yes | 视频标题;不可用时为空字符串。 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| headers | Yes | 本地下载时建议携带的 HTTP headers,通常包含 Referer 和 User-Agent。 |
| platform | Yes | 平台标识,固定为 bilibili。 |
| expires_at | Yes | 下载地址过期时间,秒级 Unix 时间戳;无法可靠判断时为 null。 |
| selected_quality | Yes | 服务端默认选择的清晰度描述;不可用时为空字符串。 |
| download_manifest | Yes | 本地 CLI 下载和合并所需的 manifest。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
注释已声明readOnlyHint=true和openWorldHint=true,描述未与之矛盾。描述额外说明了多P视频按p参数选择分P的行为,这有价值。但未提及可能的错误、权限要求或返回细节,不过输出schema存在,故整体尚可。评分3合理。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
描述为一句紧凑的句子,清晰罗列了用途和输入限制,无冗余信息。信息密度高且前置,结构合理。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
工具只有一个参数且schema覆盖完整,有输出schema,注释涵盖只读和开放世界。描述提供了输入限制和用途,对于此类简单工具已足够完整。唯一可增强的是对返回值或输出的简要说明,但输出schema已覆盖,故评分4。
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覆盖100%,url参数的描述已包含输入限制和多P行为,描述未添加超越schema解析的新语义。虽然描述重复了部分信息,但未显著增加价值,符合基线3。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
描述明确说明了工具的作用:根据Bilibili视频链接或分享文案获取视频下载地址manifest,用于本地CLI下载和ffmpeg合并。动词“获取”和资源“视频下载地址 manifest”表述清晰,且与同级工具(评论、用户信息、搜索等)明显区分,目的明确无歧义。
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?
描述详细说明了输入类型(链接、短链接、分享文案),并明确列出不接受的输入(用户主页、专栏/动态、BV号、aid),提供了明确的使用约束。还说明了多P视频的选择逻辑,增强了使用指导。但未直接与其他工具对比或说明“何时用此工具而非其他”,因此略欠完善。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_get_video_speech_text_jobARead-onlyInspect
根据用户提供的有效 job_id,或 submit 工具返回的 job_id 查询 Bilibili 口播转文字任务状态;每次最多等待 240 秒,不触发重处理,也不要重复提交任务。
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | 口播转文字任务 ID;用户已提供时直接使用,否则使用 bilibili_submit_video_speech_text_by_video_url 或 bilibili_submit_video_speech_text_by_bvid 返回的 job_id;不要传 BV 号、aid 或视频链接。 |
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 mark the tool readOnlyHint=true, and the description adds valuable behavioral context: each call waits up to 240 seconds, does not trigger reprocessing, and must not lead to duplicate submissions. This is meaningful beyond the structured annotations, though slightly more detail on polling/return behavior would be possible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that front-loads the core action and then packs the essential constraints (wait time, no reprocessing, no resubmission) into the same sentence. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter, high schema coverage, an output schema, and readOnly annotations, the description supplies everything needed for correct invocation: how to obtain job_id, the 240-second wait behavior, and anti-duplicate guidance. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains that job_id must be the task ID from a user or a submit tool and not a BV/aid/video link. The tool description repeats the source of job_id but adds little parameter-level nuance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: querying the status of a Bilibili speech-to-text task via job_id. It clearly differentiates itself from the sibling submit tools, which create tasks, by pointing to the job_id returned by those 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 says when to use the tool (query existing job status), how to obtain the job_id (user-provided or from submit tools), and what not to do (do not trigger reprocessing, do not resubmit, do not pass BV/aid/link). This routes agents away from the submit siblings and prevents misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_search_articlesARead-onlyInspect
搜索 Bilibili 专栏文章。用户需要按搜索词查找专栏时使用;已有视频、专栏或动态链接,或已有内容 ID 时使用对应的统一详情或评论工具;支持 page_token 翻页、排序和分区筛选。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | 搜索 Bilibili 专栏文章的搜索词,可传关键词或短语,例如品牌名、话题、人物名或产品名;不要传视频链接、专栏/动态链接、用户主页链接、BV 号、aid、专栏/动态 ID 或 page_token。 | |
| category | No | 专栏分区筛选:all=全部分区,animation=动画,gaming=游戏,film_and_tv=影视,lifestyle=生活,hobbies=兴趣,light_novel=轻小说,technology=科技,notes=笔记。 | all |
| sort_type | No | 专栏排序方式:general=综合排序,time_descending=最新发布,view_count_descending=最多点击/阅读,like_count_descending=最多喜欢,comment_count_descending=最多评论。 | general |
| page_token | No | Bilibili 专栏搜索分页令牌。首次请求留空。继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;page_token 是不透明分页令牌;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。只能用于同一关键词、排序方式和分区筛选的专栏搜索链路,不能跨能力、关键词或筛选条件复用。消费多页搜索结果时,建议按 content_id 作为稳定键合并结果。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页专栏搜索结果。 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多专栏搜索结果。继续获取专栏搜索下一页时,必须将返回的完整 next_page_token 原样作为 page_token 传回;只能用于同一关键词、排序方式和分区筛选的专栏搜索链路;消费多页搜索结果时,建议按 content_id 作为稳定键合并结果。不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容;不能跨能力、关键词或筛选条件复用。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile, so the bar is lower. The description adds the capability summary (page_token pagination, sorting, category filtering), which is useful behavioral context, but does not elaborate on result limits, error behavior, or implications of the open-world hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the purpose, then usage routing, then capability summary. Every clause earns its place with no filler or repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Combined with a 100%-coverage schema, an output schema, and safety annotations, the description covers purpose, usage conditions, exclusions, and capabilities. The only gap is that it doesn't surface the open-world implication that incomplete search results don't imply absence, though the annotation already signals this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema descriptions are unusually thorough: negative examples for keyword, full enum expansions, and opaque-token rules for page_token. The description's mention of pagination/sorting/filtering adds little beyond the schema, so the high-coverage baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource pair ('搜索 Bilibili 专栏文章'), clearly stating this tool searches column articles. It differentiates from siblings by contrasting with detail/comment tools for existing links/IDs, and from bilibili_search_videos by the article vs video resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use ('用户需要按搜索词查找专栏时使用') and when-not-to-use guidance ('已有视频、专栏或动态链接,或已有内容 ID 时使用对应的统一详情或评论工具'), naming the alternative tool category. Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_search_videosARead-onlyInspect
搜索 Bilibili 视频。用户需要按搜索词查找视频时使用;已有视频、专栏或动态链接,或已有内容 ID 时使用对应的统一详情或评论工具;支持 page_token 翻页、排序、发布时间和时长筛选。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | 搜索 Bilibili 视频的搜索词,可传关键词或短语,例如品牌名、话题、人物名或产品名;不要传视频链接、专栏/动态链接、用户主页链接、BV 号、aid、专栏/动态 ID 或 page_token。 | |
| sort_type | No | 排序方式:general=综合排序,view_count_descending=最多播放,time_descending=最新发布,danmaku_count_descending=最多弹幕,collect_count_descending=最多收藏。 | general |
| page_token | No | Bilibili 视频搜索分页令牌。首次请求留空。继续翻页时必须将上一页返回的完整 next_page_token 原样作为 page_token 传回;page_token 是不透明分页令牌;不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容。只能用于同一关键词、排序、发布时间筛选和时长筛选的搜索链路,不能跨能力、关键词或筛选条件复用。消费多页搜索结果时,建议按 content_id 作为稳定键合并结果。 | |
| duration_range | No | 视频时长筛选:all=全部时长,under_10_minutes=10分钟以下,between_10_and_30_minutes=10-30分钟,between_30_and_60_minutes=30-60分钟,over_60_minutes=60分钟以上。 | all |
| publish_time_range | No | 发布时间筛选:all=全部日期,day=最近一天,week=最近一周,half_year=最近半年;如需自定义日期范围,直接同时填写 publish_time_start_date 和 publish_time_end_date。 | all |
| publish_time_end_date | No | 自定义发布时间结束日期,格式 YYYY-MM-DD;需要自定义日期范围时必须和 publish_time_start_date 同时填写,且 publish_time_range 保持 all。 | |
| publish_time_start_date | No | 自定义发布时间开始日期,格式 YYYY-MM-DD;需要自定义日期范围时必须和 publish_time_end_date 同时填写,且 publish_time_range 保持 all。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | 当前页视频搜索结果。 |
| points | Yes | 本次成功调用的积分消耗与调用完成时的账户积分余额。 |
| next_page_token | Yes | 下一页不透明分页令牌;为空表示没有更多视频搜索结果。继续获取视频搜索下一页时,必须将返回的完整 next_page_token 原样作为 page_token 传回;只能用于同一关键词、排序、发布时间筛选和时长筛选的搜索链路;消费多页搜索结果时,建议按 content_id 作为稳定键合并结果。不得修改、截断、缩写、脱敏、掩码、省略、规范化、重组或自行生成,不得用省略号替换中间内容;不能跨能力、关键词或筛选条件复用。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, lowering the burden on the description. The description adds useful behavioral context: it supports page_token pagination, sorting, publish-time filtering, and duration filtering. It discloses no destructive behavior because there is none.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence with no filler: it front-loads the core purpose, then gives routing guidance, then enumerates the supported capabilities. Every clause contributes actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter search tool, the combination is fully adequate: the description explains when to use it, the schema covers all parameter semantics at 100%, an output schema exists, and annotations declare the read-only and open-world behavior. Nothing needed 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%, so the schema already thoroughly documents all 7 parameters, including the keyword exclusion rules, page_token invariants, and filter enum meanings. The tool description only summarizes the supported filter dimensions without adding parameter-level meaning beyond what the schema provides, which is the baseline case.
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 specific verb-resource pair: 'search Bilibili videos' (搜索 Bilibili 视频), and clarifies the exact trigger condition: a user needs to find videos by search term. It also explicitly distinguishes itself from detail/comment lookup tools for existing links or IDs, and from the sibling search tool for 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 explicitly says when to use this tool ('when the user needs to search videos by search term') and when not to ('when already have a video/article/dynamic link or content ID, use the corresponding detail or comment tool'). It names the exclusion category but not specific sibling tool names, which are available in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_submit_video_speech_text_by_bvidAInspect
根据 Bilibili BV 号提交 P1 口播转文字任务;提交后最多等待 240 秒,未完成时返回 job_id 和下一步查询动作。
| Name | Required | Description | Default |
|---|---|---|---|
| bvid | Yes | Bilibili 视频 BV 号(BV...);用于转写视频 P1;如需转写 P2 或后续分 P,请改用 by_video_url 工具并在 URL 中传 p 参数;不要传视频链接、aid 或用户主页链接。 |
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 mark this as non-read-only, non-idempotent, and non-destructive. The description adds meaningful behavioral context beyond those hints: the tool submits an async task, waits up to 240 seconds, and returns a job_id with a follow-up query action if the task is incomplete. It does not mention rate limits or authentication, but those are not critical for a simple async submission.
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 states the core action, the input kind, and the post-submission behavior. There is no repetition of schema or annotation content, and every clause adds useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter async submission tool with a rich output schema, the definition covers the input, the wait behavior, and the fallback job_id path. The only minor gap is that the description refers to '下一步查询动作' without explicitly naming the sibling polling tool bilibili_get_video_speech_text_job, but the output schema likely provides the exact follow-up action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema fully documents the bvid parameter, including format and invalid input. The description itself does not add parameter-level meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb (提交/submit), a specific resource (Bilibili BV 号), and the exact task (P1 口播转文字). It distinguishes this tool from its sibling by_video_url variant by identifying the key input type as BV号, while the input schema further tells the agent what not to pass.
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/schema explicitly says to use this tool when a BV号 is available, and provides an explicit alternative: use by_video_url with a p parameter for P2 or later parts. It also explicitly excludes video links, aid, and user homepage links, giving the agent clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bilibili_submit_video_speech_text_by_video_urlAInspect
根据 Bilibili 视频链接、短链接或分享文案提交口播转文字任务;每次处理一个分 P,提交后最多等待 240 秒,未完成时返回 job_id 和下一步查询动作。
| Name | Required | Description | Default |
|---|---|---|---|
| video_url | Yes | Bilibili 视频链接、b23.tv 短链接或包含视频链接的分享文案;多 P 视频可在普通视频 URL 中使用 p 参数选择一个分 P,例如 ?p=2;普通视频链接未传 p 时转写 P1,短链接按解析后的目标分 P 转写;每次只转写一个分 P;不要传 BV 号或用户主页链接。 |
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?
The description discloses valuable async behavior: wait up to 240 seconds, and if incomplete return job_id plus a next-step query action. This goes beyond the annotations, which only signal non-readonly, non-idempotent behavior. It could be richer by naming the query tool or describing success responses, but the output schema covers some of that.
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 states the core action, then adds the per-part scope and the timeout/job_id behavior. Every clause earns its place and there is no redundant restatement of the tool name or 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 only one parameter, a well-detailed input schema, an output schema, and helpful annotations, the description covers what an agent needs: input types, per-part behavior, wait time, and fallback response with job_id. The 'next query action' is vague, but the sibling bilibili_get_video_speech_text_job makes the intended follow-up identifiable.
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 video_url parameter description already explains accepted URL forms, the p parameter behavior, and exclusions. The tool description largely restates rather than adds to this, so it does not need to compensate; 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 uses a specific verb ('submit') and resource ('speech-to-text task'), and clearly scopes the input to Bilibili video links, short links, or share text. It also adds the 'one sub-P per call' constraint, which distinguishes it from related submit/query siblings like bilibili_submit_video_speech_text_by_bvid.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear input context: use URL/short-link/share-text, do not pass BV IDs or profile links, and one sub-P is processed at a time. It does not explicitly name the by-BV sibling as the alternative or name the follow-up query tool, so it falls short of fully explicit 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
22 tool updates
- First observed
bilibili_get_content_comment_replies_by_comment_id - First observed
bilibili_get_content_comments_by_id - First observed
bilibili_get_content_comments_by_url - First observed
bilibili_get_content_detail_by_id - First observed
bilibili_get_content_detail_by_url - First observed
bilibili_get_content_likes_and_reposts_by_post_id - First observed
bilibili_get_content_likes_and_reposts_by_url - First observed
bilibili_get_user_info_by_profile_url - First observed
bilibili_get_user_info_by_user_id - First observed
bilibili_get_user_posted_articles_by_profile_url - First observed
bilibili_get_user_posted_articles_by_user_id - First observed
bilibili_get_user_posted_dynamics_by_profile_url - First observed
bilibili_get_user_posted_dynamics_by_user_id - First observed
bilibili_get_user_posted_videos_by_profile_url - First observed
bilibili_get_user_posted_videos_by_user_id - First observed
bilibili_get_video_download_links - First observed
bilibili_get_video_speech_text_job - First observed
bilibili_search_articles - First observed
bilibili_search_videos - First observed
bilibili_submit_video_speech_text_by_bvid - First observed
bilibili_submit_video_speech_text_by_video_url - First observed
socialdatax_get_points_balance
Related MCP Connectors
TikTok public post, comment, reply, creator, search, and video speech-to-text transcript tools.
YouTube public video, comment, reply, channel, search, and speech-to-text transcript tools.
Track Bilibili creators and get the latest updates on videos, dynamics, and articles. Fetch user p…
Zhihu public hot-list, content, creator, comment, and reply tools.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceBilibili MCP by SocialDataX for video, article, and dynamic search and details, comments and replies, likes and reposts, creator data, download links, and transcripts.MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI assistants to directly operate Bilibili, providing 27 tools for login, search, content publishing, data analysis, and interaction.98MIT
- FlicenseNot gradedqualityDmaintenanceEnables interaction with Bilibili (B站) platform through API and web scraping. Supports video search, article search, video info retrieval, comment fetching, danmaku extraction, and article content access.4-
- AlicenseAqualityCmaintenanceEnables agents to search, explore trending content, retrieve video metadata and hot comments, and obtain subtitle transcripts for summarisation on Bilibili, with an anonymous tier and an optional account tier for personalized feeds.101MIT
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.
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 Chinese description reinforces that this is a query operation. The description adds context about the account-level API Key scope, but it does not disclose details such as response format, rate-limit implications, or whether the balance is cached or real-time.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence with the key information front-loaded. The bilingual repetition and enumeration of 'balance / remaining points / points' is slightly redundant but not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this is a zero-parameter read-only balance lookup, the description is complete. An output schema is present, so return values do not need to be described, and the annotations cover the safety profile.
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 schema description coverage is 100%, so there is nothing for the description to explain about inputs. The description still usefully clarifies that 'points balance' refers to remaining credits.
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, resource, and scope: querying the SocialDataX points balance for the current API Key account. It is fully distinguishable from the unrelated zhihu_ sibling tools even without inspecting schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is reasonably implied by the name and description, but there is no explicit guidance about when to check the balance, how it relates to other tools, or when this tool would not be appropriate. No alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.