Skip to main content
Glama

bilibili_transcript

Fetch a Bilibili video's auto-generated subtitles as plain text for summarization or translation. Provide a BV id/URL and optional part index; returns actionable errors if subtitles are inaccessible.

Instructions

Fetch a video's auto-generated subtitle track as plain text.

Returns the transcript as text so an LLM can summarise or translate it. Some videos have no subtitles (or subtitles require login to access); in that case the tool returns an honest, actionable error rather than empty.

Return Format

{"success": bool, "data": {"bvid": str, "cid": int, "lang": str, "text": str, "word_count": int}, "message": str}

Examples

bilibili_transcript(bvid="BV1xx411c7mD") bilibili_transcript(bvid="https://www.bilibili.com/video/BV1xx411c7mD", part_index=2)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bvidYesVideo id or full bilibili.com/video/... URL (starts with BV).
part_indexNoWhich part (1-based) to transcribe for multi-part videos. Defaults to the first part.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
errorNo
messageNo
successNo
error_typeNo
suggestionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the full behavioral disclosure burden. It discloses that transcripts are auto-generated, returned as plain text, and that missing or login-required subtitles result in an honest, actionable error rather than an empty response. It also provides the exact return shape and example invocations, making behavior predictable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and use case, then compactly presents return format and examples. Every section serves tool selection or invocation, with no filler or redundant prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter fetch tool with an output schema, this covers purpose, accepted argument forms, multi-part behavior, failure mode, and return shape. The examples and error-handling note close the practical gaps an agent would face when calling the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents both parameters with 100% coverage, so the baseline is 3. The examples illustrate URL-form bvid and part_index usage, but they do not add new semantic meaning or edge-case detail beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a precise action: fetch a video's auto-generated subtitle track as plain text. This clearly distinguishes it from siblings like bilibili_video or show_bilibili_trending_card, which are about video metadata or status rather than transcripts. The return format block reinforces exactly what the tool produces.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when an LLM needs transcript text for summarisation or translation, and warns about videos without subtitles. However, it does not explicitly name alternative tools or state when not to use this tool, so an agent has to infer selection from the purpose rather than being handed an explicit routing rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.