MCP server providing Bilibili API access for AI agents
Bilibili MCP server has well-structured tool definitions with complete JSON schemas and consistent naming patterns. All 10 tools follow verb_noun convention (bilibili_*). Descriptions are present and adequate (avg ~80 chars), though some lack actionable context for LLM selection. Parameter schemas are properly typed with enums, ranges, and constraints. However, output schemas are not documented, LLMs cannot predict response structure. Error handling is absent from visible code. No tool annotations (readOnlyHint, destructiveHint) despite all tools being read-only. Missing descriptions for some enum values (e.g., duration filter meanings are terse).
Get danmaku (弹幕/bullet comments) for a video segment.
Get items in a favorite folder. Requires authentication for private folders.
Get a user's favorite folder list. Requires authentication for private folders.
Get Bilibili hot search terms (热搜排行榜).
Search Bilibili for videos, users, or articles by keyword.
Get trending/popular videos on Bilibili.
Get Bilibili user profile information by UID.
Output schemas not documented. LLMs cannot predict response structure, field names, or types. Breaks downstream tool chaining and forces agents to guess at available fields.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only but lack explicit annotation. Agents cannot distinguish safe tools from destructive ones.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | <=2025-11-25 | v2 |
List videos uploaded by a Bilibili user.
Get comments for a Bilibili video.
Get detailed information about a Bilibili video by BV ID.
Descriptions lack actionable context. E.g., 'Get Bilibili hot search terms' does not explain when to use this vs bilibili_search, what format results are in, or whether results are paginated. LLMs cannot reliably select between similar tools.
No error handling guidance visible. Code does not show how tools handle invalid BVIDs, missing users, rate limits, or network failures. Agents have no recovery path on errors.
Enum descriptions are terse. E.g., duration filter '1=<10min, 2=10-30min' is in the description but not in the schema enum itself. Parameter descriptions should fully explain all enum values.