Skip to main content
Glama
bilibili-agent-mcp
by Gsxcheng

弹幕获取与分析

bili_danmaku
Read-only

Retrieve Bilibili video danmaku to analyze audience reactions, extract timestamped comments, or save complete danmaku files as ASS, XML, or JSON for playback and processing.

Instructions

获取视频全部弹幕。mode=stats 返回总数、高频弹幕、弹幕密度与高能时间点(适合分析观众反应);mode=lines 返回带时间戳的弹幕文本(可按时间段过滤,过多时均匀抽样);mode=ass/xml/json 把完整弹幕保存为文件并返回路径(ASS 可直接被播放器加载)。对应 Bilibili-Evolved 的「下载弹幕」与弹幕转换器。

Input Schema

NameRequiredDescriptionDefault
modeNostats
pageNo分P序号(从1开始);番剧季为第几集。默认取链接里的 ?p= 或第1P
inputYes视频标识:B站视频/番剧链接、BV号、av号、ep号、ss号或 b23.tv 短链
limitNolines 模式最多返回条数
to_secondsNolines 模式:结束时间(秒)
from_secondsNolines 模式:起始时间(秒)
block_keywordsNoass 模式:屏蔽包含这些词的弹幕

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

The description adds real behavior beyond the annotations: stats aggregates (总数、高频弹幕、密度、高能时间点), uniform sampling in lines mode when the volume is too large, and that the file modes write a file and return its path. One tension: readOnlyHint=true while the tool writes files to disk, though the description at least discloses that side effect rather than hiding it.

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

Conciseness4/5

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

The mode enumeration is front-loaded and each clause maps to one mode's output, so the density is functional rather than padding. It is a single long sentence chain, however, without separators, which slightly hurts scanability.

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?

With no output schema and 7 parameters, the description compensates by describing the return shape for every mode, including the file-path return for ass/xml/json. An agent can call this correctly and know what to expect from each mode without further information.

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?

Schema description coverage is 86%, so parameters like input, page, from_seconds/to_seconds, limit and block_keywords are already documented in the schema. The description only adds the sampling behavior tied to limit, which is minor value on top of an already well-documented schema — the baseline 3.

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

Purpose4/5

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

States a specific verb and resource (获取视频全部弹幕) and then enumerates the five modes with what each returns, so the agent knows exactly what the tool produces. It does not differentiate itself from nearby siblings such as bili_comments or bili_subtitles, which is the only reason it falls short of a 5.

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

Usage Guidelines4/5

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

Each mode carries an implicit use case (stats '适合分析观众反应', lines for timestamped text with time-range filtering, ass/xml/json for file export playable in a player), giving clear selection context. There is no explicit 'when not to use this' or pointer to an alternative tool for comment/subtitle retrieval.

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