Skip to main content
Glama

Bilibili MCP Server

基于 bilibili-api-python 库的 MCP (Model Context Protocol) 服务器,提供完整的 Bilibili API 工具调用能力。

特性

  • 22个实用工具,覆盖视频、用户、搜索、评论、排行榜、消息等核心功能

  • 使用 stdio 传输方式,与 Claude Desktop 无缝集成

  • 支持环境变量配置登录凭证,安全便捷

  • 统一的响应格式,易于处理

  • 完整的类型注解和参数验证


Related MCP server: Bilibili MCP Server

配置

环境变量

复制 .env.example.env 并填写:

# Bilibili 登录凭证(可选,用于需要登录的操作)
BILI_SESSDATA=your_sessdata
BILI_JCT=your_bili_jct
BILI_BUVID3=your_buvid3

获取登录凭证:

  1. 登录 Bilibili 网页版

  2. 打开浏览器开发者工具 (F12) → Application/应用 → Cookies

  3. 复制 SESSDATA, bili_jct, buvid3 的值

Claude Desktop 配置

在 Claude Desktop 配置文件 claude_desktop_config.json 中添加:

uvx 方式配置(推荐)

{
  "mcpServers": {
    "bilibili": {
      "command": "uvx",
      "args": ["--from", "bilibili-mcp-python", "bilibili-mcp"],
      "env": {
        "BILI_SESSDATA": "your_sessdata",
        "BILI_JCT": "your_bili_jct",
        "BILI_BUVID3": "your_buvid3"
      }
    }
  }
}

工具详解

视频模块(Video)

视频相关操作,包含信息获取、互动、弹幕等功能。

工具名

功能

关键参数

需登录

bilibili_video_get_info

获取视频完整信息

bvid: BV号

bilibili_video_interact

点赞/投币/收藏/三连

bvid, action, cancel

bilibili_video_get_download_info

获取下载链接和清晰度

bvid, page_num

bilibili_video_get_danmaku

获取弹幕列表

bvid, page_num, from_seg

bilibili_video_send_danmaku

发送弹幕

bvid, message, progress

bilibili_video_get_ai_conclusion

获取AI视频总结

bvid

使用示例:

# 获取视频信息
bilibili_video_get_info(bvid="BV1xx411c7mD")

# 给视频三连
bilibili_video_interact(bvid="BV1xx411c7mD", action="triple")

# 发送弹幕(视频第10秒处)
bilibili_video_send_danmaku(
    bvid="BV1xx411c7mD",
    message="精彩!",
    progress=10000,  # 毫秒
    color="ff0000"
)

用户模块(User)

用户信息查询和关系管理。

工具名

功能

关键参数

需登录

bilibili_user_get_info

获取用户完整信息

uid: 用户UID

bilibili_user_get_contents

获取用户发布的内容

uid, content_type

bilibili_user_modify_relation

关注/取关/拉黑/移除粉丝

uid, action

bilibili_user_get_followings

获取关注列表

uid, page_num

bilibili_user_get_followers

获取粉丝列表

uid, page_num

content_type 类型说明:

  • video - 视频(支持关键词搜索)

  • article - 专栏文章

  • album - 相簿

  • bangumi - 追番列表

使用示例:

# 获取UP主信息
bilibili_user_get_info(uid=208259)

# 获取用户的所有视频
bilibili_user_get_contents(uid=208259, content_type="video")

# 关注用户
bilibili_user_modify_relation(uid=208259, action="follow")

全网内容搜索和热门发现。

工具名

功能

关键参数

需登录

bilibili_search

统一搜索

keyword, search_type

bilibili_get_hot_search

获取热门搜索词

search_type 类型说明:

  • all - 综合搜索

  • video - 视频

  • user - 用户

  • article - 专栏

  • live - 直播

使用示例:

# 搜索视频
bilibili_search(keyword="Python教程", search_type="video")

# 搜索用户
bilibili_search(keyword="老番茄", search_type="user")

# 获取热搜榜
bilibili_get_hot_search()

评论模块(Comment)

视频、动态、专栏的评论管理。

工具名

功能

关键参数

需登录

bilibili_comment_get

获取评论列表(懒加载)

oid, type_, mode, offset

bilibili_comment_send

发送评论/回复

oid, text, root

bilibili_comment_operate

点赞/点踩/删除/获取子评论

oid, rpid, action

type_ 类型说明:

  • video - 视频(oid为aid)

  • dynamic - 动态(oid为动态id)

  • article - 专栏(oid为cv号)

使用示例:

# 获取视频评论(首次)
bilibili_comment_get(oid=170001, type_="video", mode="main")

# 回复评论(root为评论ID)
bilibili_comment_send(
    oid=170001,
    type_="video",
    text="说得好!",
    root=12345678
)

# 点赞评论
bilibili_comment_operate(oid=170001, rpid=12345678, action="like")

排行榜模块(Rank)

各类排行榜和热门视频获取。

工具名

功能

关键参数

需登录

bilibili_get_rank

获取分区排行榜

rank_type, day

bilibili_get_hot

获取热门视频

page, page_size

rank_type 排行榜类型:

类型值

说明

类型值

说明

all

全站榜

game

游戏

bangumi

番剧

music

音乐

movie

电影

douga

动画

documentary

纪录片

ent

娱乐

guochuang

国创

life

生活

technology

科技数码

food

美食

knowledge

知识

sports

运动

dance

舞蹈

kichiku

鬼畜

original

原创

rookie

新人

...

还有更多

使用示例:

# 获取全站排行榜
bilibili_get_rank(rank_type="all")

# 获取游戏区三日榜
bilibili_get_rank(rank_type="game", day=3)

# 获取热门视频
bilibili_get_hot(page=1, page_size=20)

消息会话模块(Session)

私信、互动消息和系统通知管理。

工具名

功能

关键参数

需登录

bilibili_session_list

获取会话列表/聊天记录

talker_id, session_type

bilibili_session_send

发送私信

receiver_id, content

bilibili_session_interactions

获取互动消息

interaction_type

bilibili_session_notifications

获取通知/未读统计

notification_type

interaction_type 互动类型:

  • replies - 收到的回复

  • likes - 收到的赞

  • at - @我的消息

notification_type 通知类型:

  • unread - 未读消息统计

  • system - 系统消息

  • settings - 消息设置

使用示例:

# 获取会话列表
bilibili_session_list()

# 获取与某用户的聊天记录
bilibili_session_list(talker_id=208259)

# 发送私信
bilibili_session_send(receiver_id=208259, content="你好!")

# 获取收到的赞
bilibili_session_interactions(interaction_type="likes")

# 获取未读消息数
bilibili_session_notifications(notification_type="unread")

响应格式

所有工具返回统一的 JSON 格式:

{
  "success": true,
  "code": 0,
  "message": "ok",
  "data": { ... }
}

字段

类型

说明

success

boolean

是否成功

code

int

状态码,0表示成功

message

string

状态描述或错误信息

data

any

实际返回数据


工具权限速查

无需登录(只读操作)

  • 视频信息、弹幕、下载链接

  • 用户信息、用户公开内容

  • 搜索、热搜、排行榜、热门视频

  • 评论列表

需要登录(写入操作)

  • 视频互动(点赞/投币/收藏/三连)

  • 发送弹幕、获取AI总结

  • 关注/取关/拉黑等用户关系操作

  • 发送评论、评论互动

  • 所有消息会话相关操作


Available Tools

22 tools
bilibili_comment_getA

获取评论列表(新版懒加载模式)

Args: oid: 对象ID(视频aid/动态id/文章cv号) type_: 评论类型 mode: 获取模式 (main-主列表, hot-热门) offset: 偏移量,首次请求为空字符串,后续请求使用上次返回的 next_offset

Returns: 评论列表,包含 cursor 字段用于获取下一页

ParametersJSON Schema
NameRequiredDescriptionDefault
oidYes
modeNomain
type_Novideo
offsetNo

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the burden and adds valuable behavioral detail: it explains lazy-loading pagination, the offset semantics (empty for first request, then use next_offset from previous response), and the cursor field. This goes beyond a simple 'get' and helps the agent understand the tool's stateful behavior.

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 compact and well-organized into Args and Returns sections. Every line contributes to understanding the tool's usage, with no redundant filler. It front-loads the main purpose and then provides crucial parameter details.

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

Completeness4/5

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

Despite no output schema and no annotations, the description covers the essential semantics for a paginated comment-list fetcher: parameters, pagination flow, and the cursor field in the response. It does not describe the full response structure or error cases, but for a read-only list tool it is reasonably complete.

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

Parameters5/5

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

Schema coverage is 0%, and the description fully compensates. It explains each parameter: oid (object ID with type hints), type_ (comment type), mode (main vs hot), and offset (pagination mechanics including empty string for first request). This adds meaning that the schema does not provide.

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?

The description clearly states the tool fetches a comment list using a new lazy-loading mode, which is a specific verb+resource combination. It distinguishes itself from comment send/operate siblings by the 'get' action, but it doesn't explicitly contrast with other tools.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It explains how to paginate but not in which scenarios to choose this over other bilibili tools. The context is implied by the function name but not explicitly stated.

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

bilibili_comment_operateA

评论操作:点赞/取消点赞/点踩/取消点踩/删除/获取子评论

Args: oid: 对象ID(视频aid/动态id/文章cv号) rpid: 评论ID action: 操作类型 type_: 评论类型 page_index: 页码索引,从1开始(action=get_sub_comments时有效) page_size: 每页评论数,最大20(action=get_sub_comments时有效)

Returns: 操作结果

ParametersJSON Schema
NameRequiredDescriptionDefault
oidYes
rpidYes
type_Novideo
actionYes
page_sizeNo
page_indexNo

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the burden. It does disclose that page_index and page_size are only valid for get_sub_comments and max page size is 20, but it fails to mention side effects of delete (e.g., irreversible), authentication requirements, or what the operation result contains. The 'Returns: 操作结果' is uninformative.

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 description is concise with a bulleted argument list and no fluff. However, the Returns line is tautological and the action list is repeated in the argument description, slightly redundant.

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

Completeness2/5

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

Given no output schema, the description should explain the return format but only says '操作结果' (operation result). It also lacks information on authentication requirements, error handling, and whether delete is limited to own comments. The tool has six actions with different parameter needs, so more context is needed.

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

Parameters4/5

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

The description defines each parameter: oid as object ID with examples, action as operation type, type_ as comment type, and explains page_index/page_size scoping and limits. This compensates for the 0% schema description coverage, though action and type_ descriptions are somewhat generic.

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 description clearly states it performs comment operations including like, dislike, delete, and fetching sub-comments. It distinguishes from sibling tools bilibili_comment_get and bilibili_comment_send by covering actions like delete and like.

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?

No explicit guidance on when to use this tool versus alternatives. The action list implies usage, but no exclusions or recommendations are provided. It doesn't mention that for general comment retrieval one should use bilibili_comment_get.

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

bilibili_comment_sendB

发送评论/回复

Args: oid: 对象ID(视频aid/动态id/文章cv号) text: 评论内容 type_: 评论类型 root: 根评论ID(回复评论时填写) parent: 父评论ID(回复评论时填写,通常与root相同)

Returns: 发送结果

ParametersJSON Schema
NameRequiredDescriptionDefault
oidYes
rootNo
textYes
type_Novideo
parentNo

TDQS

B3.2/5.0
Behavior1/5

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

With no annotations, the description must carry the full burden of behavioral disclosure. It only says 'Returns: 发送结果' (send result), which is vague. It does not mention authentication requirements, side effects, rate limits, or error behavior—critical for a write operation.

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 structure is clear with Args and Returns sections, and each parameter gets a succinct description. However, the Returns section ('发送结果') adds no information and could be omitted. Overall it is efficient but not perfectly lean.

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

Completeness2/5

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

For a tool with 5 parameters, no annotations, and no output schema, the description covers parameter semantics well but lacks behavioral context (auth, errors, response format) and usage guidance relative to sibling tools. The agent cannot fully predict prerequisites or outcomes.

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

Parameters5/5

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

The description explains every parameter beyond the schema: oid is object ID (video aid/dynamic id/article cv), text is content, type_ is comment type, root is root comment ID, and parent is parent comment ID (usually same as root). This fully compensates for the 0% schema description coverage and adds clarifying context.

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 description clearly states '发送评论/回复' (send comment/reply), a specific verb+resource. It also distinguishes replies from top-level comments via root/parent parameters, and the name differentiates it from sibling tools like comment_get and comment_operate. The intent is unambiguous.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. The only usage hints are parameter-level ('fill when replying'), not tool-selection context. It does not mention that bilibili_video_send_danmaku or bilibili_session_send are for other communication types, leaving the agent to infer applicability.

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

bilibili_get_hotB

获取热门视频

Args: page: 页码(从 1 开始) page_size: 每页视频数(默认 20)

Returns: 热门视频列表

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
page_sizeNo

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only implies a read operation through '获取' (get). It does not disclose pagination behavior, response structure, authentication needs, or any other behavioral traits.

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 description is brief and well-structured into purpose, args, and returns. It is front-loaded and contains no filler, though the returns line largely repeats the purpose, slightly reducing efficiency.

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

Completeness3/5

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

For a simple two-parameter read endpoint, it covers the basic purpose and parameters, but lacks usage alternatives, output details, and any behavioral caveats, making it minimally adequate rather than comprehensive.

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

Parameters4/5

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

The schema has 0% description coverage, but the description compensates by explaining 'page' starts from 1 and 'page_size' is the number of videos per page with default 20, adding meaning beyond the schema's type and default fields.

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?

The description states '获取热门视频' (Get hot videos), which clearly identifies the verb and resource. It is specific to videos, but does not explicitly differentiate from sibling tools like bilibili_get_rank or bilibili_get_hot_search.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description only states what it does, with no context on selection criteria or exclusions.

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

bilibili_get_rankB

获取排行榜

Args: rank_type: 排行榜类型(all=全站,bangumi=番剧,movie=电影,documentary=纪录片, guochuang_anime=国产动画,guochuang=国创,game=游戏,music=音乐, douga=动画,ent=娱乐,life=生活,technology=科技,cinephile=影视, fashion=时尚,knowledge=知识,food=美食,sports=运动,car=汽车, dance=舞蹈,kichiku=鬼畜,animal=动物,tv=电视剧,variety=综艺, original=原创,rookie=新人) day: 时间范围(仅对 PGC 类型有效:番剧/电影/纪录片等),3=三日榜,7=周榜

Returns: 排行榜列表

ParametersJSON Schema
NameRequiredDescriptionDefault
dayNo
rank_typeNoall

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It does not disclose any behavioral traits beyond parameter semantics—no mention of read-only nature, rate limits, pagination, or error behavior. The name implies a read operation, but explicit disclosure is absent.

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 description uses a structured Args/Returns format and is efficient. The rank_type enumeration is long but necessary, and the overall length is appropriate. No redundant sentences are present, though it could be slightly more compact.

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

Completeness3/5

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

With no output schema, the description only says '排行榜列表' (ranking list), lacking detail on item structure. Given the tool is a fetch/list operation, this may be enough for basic use, but for full completeness it should describe the returned list elements' fields.

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

Parameters5/5

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

Schema coverage is 0%, yet the description fully explains both parameters: rank_type lists all enum values with Chinese labels, and day clarifies its applicability to PGC types only. This adds significant meaning beyond the schema's bare enums, enabling correct parameter selection.

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?

The description clearly states '获取排行榜' (get ranking), which is a specific verb+resource. It does not explicitly distinguish itself from sibling tools like bilibili_get_hot, but the resource (rank) is distinct enough. A slightly higher score is not given because it lacks a comparative statement against alternatives.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus siblings such as bilibili_get_hot or bilibili_get_hot_search. It only lists parameters and return value, with no contextual hints about appropriate usage scenarios.

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

bilibili_session_interactionsB

获取互动消息(回复/点赞/@)

Args: interaction_type: 互动类型 - replies: 收到的回复 - likes: 收到的赞 - at: 收到的@消息 last_id: 最后一个ID,用于翻页 last_time: 最后一个消息的时间戳,用于翻页

Returns: 互动消息列表

ParametersJSON Schema
NameRequiredDescriptionDefault
last_idNo
last_timeNo
interaction_typeNoreplies

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It adds pagination mechanics via last_id and last_time, which is useful. However, it does not disclose authentication requirements, whether results are ordered, or any side effects, though as a read operation it is likely safe. More detail on return structure would improve transparency.

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 description is concise and structured as a docstring with Args and Returns sections. It front-loads the main purpose and each line provides necessary information without filler. It earns the space used.

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

Completeness3/5

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

For a simple listing tool, the description covers the main parameters and return type ('互动消息列表'). However, it does not specify the structure of the returned messages, whether last_id and last_time are required together, or any error cases. Given there is no output schema or annotations, more detail would improve completeness for agent decision-making.

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

Parameters4/5

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

The schema coverage is 0%, but the description compensates by explaining each parameter: interaction_type enumerates the types, last_id is the last ID for pagination, and last_time is the timestamp for pagination. This goes beyond the raw schema, which only provides types and defaults, and gives functional meaning.

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?

The description clearly states the tool retrieves interaction messages (replies, likes, @messages) with a specific verb and resource. The enum for interaction_type clarifies the scope, distinguishing it from sibling tools like session_list or session_send. However, it does not explicitly contrast with bilibili_session_notifications, which could be seen as overlapping.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives. It merely states what it does and parameter meanings. There is no mention of scenarios or exclusions, so users must infer usage from the name.

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

bilibili_session_listA

获取会话列表或聊天记录

如果不提供 talker_id,则获取会话列表; 如果提供 talker_id,则获取与该用户的聊天记录。

Args: talker_id: 会话对象UID(不填则获取会话列表) session_type: 会话类型 1:私聊, 2:通知, 3:应援团, 4:全部(默认,仅列表有效) begin_seqno: 起始Seqno用于翻页,默认0获取最新消息(仅聊天记录有效)

Returns: 会话列表或聊天记录

ParametersJSON Schema
NameRequiredDescriptionDefault
talker_idNo
begin_seqnoNo
session_typeNo

TDQS

A4.5/5.0
Behavior4/5

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

Without annotations, the description handles the burden well. It discloses the conditional behavior and parameter effects, including noted limitations (e.g., session_type only for list, begin_seqno only for chat records). However, it doesn't mention potential pagination limits or data format details.

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 well-structured and front-loaded: a one-line summary, then conditional logic, then parameter details. It's compact but thorough, with no redundant fluff.

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

Completeness4/5

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

Despite no output schema and no annotations, the description provides enough to correctly invoke the tool for both modes. The Returns line is terse but acceptable. It could be improved by describing the structure of the returned data, but given the tool's simplicity, it's adequate.

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

Parameters5/5

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

Schema description coverage is 0%, but the description fully compensates by explaining each parameter's meaning, default values, allowed values for session_type, and applicability per mode. This is exactly what's needed.

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 description clearly states the tool retrieves either a session list or chat history, with explicit conditional logic based on talker_id. This distinguishes it from sibling tools that handle notifications or sending.

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?

It provides clear conditional usage instructions: without talker_id for list, with talker_id for chat records. It also explains which parameters apply to which mode. However, it doesn't explicitly discuss alternatives among sibling tools or when not to use it.

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

bilibili_session_notificationsB

获取通知和设置信息

Args: notification_type: 通知类型 - unread: 未读消息数量统计(默认) - system: 系统消息列表 - settings: 消息设置

Returns: 通知或设置信息

ParametersJSON Schema
NameRequiredDescriptionDefault
notification_typeNounread

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, and the description only says '获取通知和设置信息' with a vague Returns clause. It does not disclose side effects, auth requirements, rate limits, or the structure of the returned data, leaving the behavioral profile under-specified.

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 description is concise and front-loaded with the purpose, followed by an Args list and a Returns line. It avoids excessive prose, though the Returns section is vague and the arg description somewhat duplicates the schema enum.

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

Completeness2/5

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

With three distinct return modes (unread, system, settings), the description gives no details on the shape or content of each return type. There is no output schema and no annotations, so the description should carry more weight but does not.

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

Parameters4/5

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

The description adds meaning to the single parameter by explicitly defining each enum value: unread=未读消息数量统计 (unread count), system=系统消息列表 (system message list), settings=消息设置 (message settings). This goes beyond the schema's bare enum names and compensates for the 0% schema description coverage.

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?

The description states '获取通知和设置信息' (get notifications and settings info), and the Args section clarifies three notification types. It clearly indicates a retrieval action for notifications/settings, but it does not explicitly differentiate from sibling notification-related tools.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not mention any sibling tools or provide context for when to prefer this over bilibili_session_list or other notification-related tools.

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

bilibili_session_sendA

发送私信文本消息

Args: receiver_id: 接收者 UID content: 消息内容(纯文本)

Returns: 发送结果

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
receiver_idYes

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states '发送结果' (send result) and does not mention side effects, authorization requirements, rate limits, or failure modes. The send action implies mutation but no further transparency is offered.

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 highly concise, using short labeled sections for Arguments and Returns. Every line is informative, with no fluff or repetition, making it easy to scan and understand.

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

Completeness3/5

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

For a simple send operation, the description covers the core parameters and states a return value, but the return is vague ('发送结果'). It lacks any mention of possible errors or success indicators, which is a gap given no output schema or annotations. Still, the low complexity makes it minimally adequate.

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

Parameters4/5

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

The schema has 0% description coverage, so the description compensates by explicitly listing both parameters with meaning: receiver_id is UID and content is plain text message. This adds clear value beyond the schema's type-only definitions, though it omits constraints like length or format.

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 description uses a specific verb+resource structure: '发送私信文本消息' (send private message text). It clearly identifies the action and distinguishes it from sibling tools like bilibili_session_list or bilibili_session_notifications.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention context, prerequisites, or exclude any scenarios, leaving the agent to infer that it is for sending messages only.

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

bilibili_user_get_contentsA

获取用户内容(视频/专栏/相簿/追番/动态)

Args: uid: 用户UID content_type: 内容类型 (video-视频, article-专栏, album-相簿, bangumi-追番) page_num: 页码,从1开始 page_size: 每页数量,最大50 keyword: 搜索关键词(仅video类型有效) offset: 动态分页偏移量(仅dynamic类型有效),为空时从第一条动态开始

Returns: 内容列表,dynamic类型返回结果中包含 next_offset 用于下次请求

ParametersJSON Schema
NameRequiredDescriptionDefault
uidYes
offsetNo
keywordNo
page_numNo
page_sizeNo
content_typeNovideo

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals important operational details: page_num/page_size pagination (max 50), keyword only valid for video, offset for dynamic type, and the presence of next_offset in dynamic responses. It does not cover error handling or auth, but overall it provides substantial behavior context.

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 compact and front-loaded with the main purpose, followed by a clear Args list and a Returns note. Every line adds value, and the structure is easy to scan without redundant phrasing.

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

Completeness4/5

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

For a tool with 6 parameters and no output schema, the description covers all parameter semantics and dynamic pagination behavior. It lacks explicit details about the structure of returned content items or error scenarios, but given the tool's moderate complexity, this is a minor gap and overall sufficiently complete.

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

Parameters5/5

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

Schema description coverage is 0%, so the description fully compensates. It explains each parameter (uid, content_type, page_num, page_size, keyword, offset), including type-specific constraints like keyword only for video and offset only for dynamic. This adds meaning far beyond the bare schema titles.

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 description clearly states the tool's function: '获取用户内容' (get user content) and enumerates the specific content types (video/article/album/bangumi/dynamic). This distinguishes it from sibling tools like bilibili_user_get_info (user info) and bilibili_user_get_followers/followings.

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 purpose implies usage (fetching a user's posted content), but there is no explicit 'when to use' or 'when not to use' guidance, nor reference to alternative tools. It lacks exclusions or decision criteria, so it only meets the 'implied usage' level.

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

bilibili_user_get_followersA

获取用户粉丝列表

Args: uid: 用户UID page_num: 页码,从1开始 page_size: 每页数量,默认20 order: 排序方式 (desc-倒序, asc-正序)

Returns: 粉丝列表,注意:非自己只能查看前5页

ParametersJSON Schema
NameRequiredDescriptionDefault
uidYes
orderNodesc
page_numNo
page_sizeNo

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden for behavioral disclosure. It adds a meaningful constraint: '非自己只能查看前5页' (non-own can only view first 5 pages), which is valuable. However, it does not explicitly state that the operation is read-only, nor does it mention authentication or rate limits, leaving some transparency gaps.

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 concise and well-structured with clear 'Args' and 'Returns' sections. Every line provides essential info: parameter explanations and a critical limitation. No redundant or filler content.

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

Completeness4/5

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

The description covers parameters and a key usage constraint (5-page limit). Since there is no output schema, the return description '粉丝列表' is somewhat vague but sufficient for a simple list tool. It could benefit from specifying the return structure, but overall it is complete enough for a tool of this complexity.

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

Parameters4/5

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

The schema provides no descriptions for the parameters (0% coverage), so the description must compensate. It explains all four parameters: uid, page_num, page_size, and order, including the meaning of order ('desc-倒序, asc-正序'). This adds useful semantics beyond the bare schema.

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?

The description clearly states the tool's purpose with a specific verb and resource: '获取用户粉丝列表' (Get user follower list). It is easy to distinguish from the sibling tool bilibili_user_get_followings based on the word '粉丝' (followers), even though the description does not explicitly mention the alternative.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. The description only provides parameters and a limitation note but does not mention any exclusions, prerequisites, or when to choose another tool. The usage context is entirely implicit.

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

bilibili_user_get_followingsA

获取用户关注列表

Args: uid: 用户UID page_num: 页码,从1开始 page_size: 每页数量,默认20 order: 排序方式 (desc-倒序, asc-正序)

Returns: 关注列表,注意:非自己只能查看前5页

ParametersJSON Schema
NameRequiredDescriptionDefault
uidYes
orderNodesc
page_numNo
page_sizeNo

TDQS

A3.6/5.0
Behavior3/5

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

The description discloses a key behavioral limitation—'非自己只能查看前5页' (non-self users can only view the first 5 pages)—which is important context beyond the schema. However, it omits other behavioral aspects like authentication requirements or error handling, and since no annotations are provided, the description carries the full burden but is not exhaustive.

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 description is compact and well-structured, front-loading the purpose and using a clear Args/Returns format. It avoids unnecessary verbosity, though it repeats default values already present in the schema, which is a minor redundancy.

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

Completeness3/5

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

The description adequately covers parameter semantics and includes a critical pagination restriction. However, since there is no output schema, it lacks details about the structure of each item in the followings list, and it doesn't mention authentication prerequisites or error scenarios, leaving the tool somewhat incomplete for an agent.

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

Parameters4/5

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

With 0% schema description coverage, the description compensates by explaining each parameter: uid (user ID), page_num (starts at 1), page_size (default 20), and order (desc/asc with Chinese explanations). This adds meaningful semantics beyond the raw schema, especially for the 'order' enum values.

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 description uses a specific verb '获取' (get) and resource '用户关注列表' (user followings list), which clearly distinguishes it from sibling tools like bilibili_user_get_followers (which retrieves followers).

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention sibling tools or exclusions beyond stating it returns a list of followings, leaving the usage context implied rather than explicit.

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

bilibili_user_get_infoC

获取用户完整信息

Args: uid: 用户UID

Returns: 用户基础信息、关系统计、UP主数据

ParametersJSON Schema
NameRequiredDescriptionDefault
uidYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It only lists high-level return categories and implies a read operation via '获取', but it does not disclose authentication needs, error behavior, data freshness, rate limits, or any side effects.

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 concise and well-structured with Args and Returns sections. Every sentence is purposeful and there is no redundant prose.

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

Completeness3/5

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

For a simple one-parameter read tool, the description covers the core purpose and return categories. However, the absence of annotations, output schema, and usage guidance leaves the agent without enough context for robust invocation and expectation setting.

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

Parameters2/5

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

The only parameter uid is described as '用户UID', which simply restates the schema's meaning without adding practical guidance on how to obtain or validate the UID. With 0% schema description coverage, the description should compensate but does not.

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?

The description clearly states the action '获取用户完整信息' (get complete user info) and enumerates return categories (basic info, relationship stats, UP data), which distinguishes it from sibling tools like bilibili_user_get_followers. However, '完整信息' is somewhat broad and does not precisely delimit the exact scope.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as bilibili_user_get_contents or bilibili_user_get_followings. It does not state use cases, prerequisites, or when not to use it.

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

bilibili_user_modify_relationA

修改用户关系:关注/取关/拉黑/取消拉黑/移除粉丝

Args: uid: 目标用户UID action: 关系操作类型

Returns: 操作结果

ParametersJSON Schema
NameRequiredDescriptionDefault
uidYes
actionYes

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of disclosing behavioral traits. It only lists actions and a vague return ('操作结果') without addressing side effects (e.g., what 'remove_fans' actually does), permissions, rate limits, or reversibility for mutations. This is a significant gap for a mutation tool.

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 concise and well-structured: a one-line purpose statement, a short Args list, and a Returns line. Every sentence earns its place, and the format is easy to parse. There is no wasted text.

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

Completeness2/5

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

Given the tool's complexity (five action types) and lack of annotations or output schema, the description is incomplete. It fails to clarify what each action entails, what the operation result looks like, or any side effects. This makes it insufficient for an agent to confidently invoke the tool in nuanced scenarios.

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 schema has zero description coverage, so the description must compensate. It provides brief explanations ('uid: 目标用户UID', 'action: 关系操作类型') and clarifies the enum actions in Chinese, which adds minimal value beyond the schema's titles. However, it does not elaborate on parameter constraints, relationships between parameters, or the precise meaning of actions like 'remove_fans' in context.

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 description clearly states the tool's purpose with a specific verb ('修改' / modify) and resource ('用户关系' / user relationship), followed by a list of concrete actions (关注/取关/拉黑/取消拉黑/移除粉丝). This distinguishes it from sibling tools like user_get_info or user_get_followers, which are read-only.

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?

The description clearly implies when to use the tool: whenever you need to change a user relationship (follow, unblock, etc.). It is the only sibling tool for modifying relations, so the context is clear. However, it does not explicitly state when not to use it or mention alternatives for related actions (e.g., viewing followers), so it stops short of a 5.

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

bilibili_video_get_ai_conclusionA

获取视频AI总结

Args: bvid: 视频的BV号

Returns: AI生成的视频总结内容

ParametersJSON Schema
NameRequiredDescriptionDefault
bvidYes

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations available, the description carries the full burden of behavioral disclosure. It only states the purpose and return type, without mentioning side effects, permissions, rate limits, or error conditions. For a read-only 'get' tool, this minimalism may be acceptable, but it offers no explicit assurance of non-mutating behavior.

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 succinct, using a structured Args/Returns format. Every element serves a purpose, and there is no unnecessary elaboration.

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

Completeness4/5

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

Given the tool's simplicity (one parameter, no annotations, no output schema), the description covers the essential input and output. However, it omits potential edge cases like missing videos or unavailable AI summaries, which leaves slight gaps in understanding.

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

Parameters4/5

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

The description defines 'bvid' as '视频的BV号' (the video's BV number), which adds meaning beyond the input schema's bare 'Bvid' property. This clarifies the parameter's intention, though it lacks examples or format details.

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 description clearly states the tool's function using the verb '获取' (get) and the resource '视频AI总结' (video AI summary). This is specific and distinguishes it from sibling tools like bilibili_video_get_info and bilibili_video_get_danmaku.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention any prerequisites, exclusions, or preferred use cases, leaving the agent to infer usage solely from the tool name.

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

bilibili_video_get_danmakuA

获取视频弹幕列表

Args: bvid: 视频的BV号 page_num: 分P序号,从0开始 from_seg: 起始弹幕分段,默认0 to_seg: 结束弹幕分段,默认None表示不限制

Returns: 弹幕列表

ParametersJSON Schema
NameRequiredDescriptionDefault
bvidYes
to_segNo
from_segNo
page_numNo

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses segmentation behavior via from_seg and to_seg parameters and states the return type, but it does not mention authentication, rate limits, or error handling. The read-only nature is implied by 'get' but not explicitly confirmed.

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 concise and well-organized with Args and Returns sections. Each line contributes necessary information without redundancy, making it easy for an agent to quickly parse.

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

Completeness3/5

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

As a simple retrieval tool, the description covers the function and parameters. However, without an output schema, the return value is only described as 'danmaku list' with no structure, and it omits potential edge cases or limits, leaving some context gaps.

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

Parameters4/5

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

The description adds meaning to all four parameters beyond the schema, explaining bvid as the BV number, page_num as starting from 0, and the defaults for from_seg and to_seg. This compensates well for the 0% schema description coverage, though it does not define 'segment' size.

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 description clearly states '获取视频弹幕列表' (Get video danmaku list), specifying a clear verb (get) and resource (danmaku list for a video). This distinguishes it from sibling tools like bilibili_video_send_danmaku, which is for sending danmaku.

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 for fetching danmaku for a specific video, but it does not provide explicit guidance on when to use this tool versus alternatives. It lacks exclusion criteria or mentions of when not to use it.

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

bilibili_video_get_download_infoA

获取视频下载链接和播放器信息

Args: bvid: 视频的BV号 page_num: 分P序号,从0开始

Returns: 包含下载链接、清晰度列表、播放器配置等信息

ParametersJSON Schema
NameRequiredDescriptionDefault
bvidYes
page_numNo

TDQS

A3.8/5.0
Behavior2/5

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

With no annotations provided, the description must carry the burden of behavioral disclosure. It mentions the return contents (download links, quality list, player config) but does not disclose important behaviors such as whether authentication is required, whether download links expire, or any error conditions. This is a significant gap for a tool that returns potentially sensitive or time-limited data.

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 concise and well-structured, with a front-loaded purpose statement followed by clearly labeled Args and Returns sections. Every sentence contributes necessary information, with no redundant content.

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

Completeness3/5

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

The tool has no output schema, so the description must explain return values; it does provide a summary ('包含下载链接、清晰度列表、播放器配置等信息') but remains vague with '等信息' (and so on). Given the tool's moderate complexity and lack of annotations, the description covers the essentials but lacks detail on return structure, error handling, and special conditions, making it adequate but incomplete.

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

Parameters5/5

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

The schema has 0% description coverage, but the description fully compensates by explaining both parameters: 'bvid: 视频的BV号' and 'page_num: 分P序号,从0开始' (part index starting from 0). This adds clear meaning beyond the bare schema and clarifies the default behavior of page_num.

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 description clearly states the tool's function: '获取视频下载链接和播放器信息' (get video download links and player info). This is a specific verb-resource pair and distinguishes it from sibling tools like bilibili_video_get_info or bilibili_video_get_danmaku, which serve different purposes.

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 usage is implied by the purpose: when a user needs download URLs or player configuration for a Bilibili video, this tool is appropriate. However, there is no explicit mention of when not to use it or which alternative tools to consider instead, leaving some ambiguity in choosing among video-related tools.

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

bilibili_video_get_infoA

获取视频完整信息(包括基础信息、统计数据、分P列表、标签)

Args: bvid: 视频的BV号,如 BV1xx411c7mD

Returns: 视频完整信息,包含 title, desc, stat, pages, tags 等

ParametersJSON Schema
NameRequiredDescriptionDefault
bvidYes

TDQS

A4.2/5.0
Behavior3/5

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

There are no annotations, so the description carries the full burden. It describes return fields (title, desc, stat, pages, tags) which gives some insight into behavior, but it does not disclose whether authentication is required, any rate limits, or any potential errors. The operation is implicitly read-only, but this is not explicitly stated.

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 compact and front-loaded, with the main statement in the first line, followed by a simple Args/Returns structure. Every sentence adds value without redundancy.

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?

Given the tool's simplicity—one parameter, no output schema, no annotations—the description covers the essential aspects: purpose, parameter meaning, and the shape of return data. It lacks explicit failure conditions, but for a basic getter this is sufficient.

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

Parameters5/5

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

The schema only provides the type string with no description, but the description's Args section explains bvid as the video's BV number with an example (BV1xx411c7mD). This fully compensates for the 0% schema coverage.

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 description clearly states '获取视频完整信息' (get complete video information) and enumerates what's included: basic info, statistics, p-list, tags. This specific verb+resource framing distinguishes it from sibling tools like bilibili_video_get_danmaku or bilibili_video_get_ai_conclusion.

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 this tool is for when you need the full video metadata, but it does not explicitly state when to use it over alternatives or mention any exclusions. The sibling tool names hint at alternatives, but the description itself provides no direct guidance.

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

bilibili_video_interactA

视频互动:点赞/投币/收藏/三连

Args: bvid: 视频的BV号 action: 互动类型 (like-点赞, coin-投币, favorite-收藏, triple-三连) cancel: 是否取消操作(仅对like/favorite有效) coin_num: 投币数量(1或2,action=coin时有效) media_id: 收藏夹ID(action=favorite时有效,不填则使用默认收藏夹)

Returns: 操作结果

ParametersJSON Schema
NameRequiredDescriptionDefault
bvidYes
actionYes
cancelNo
coin_numNo
media_idNo

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses parameter constraints (e.g., cancel only for like/favorite, coin_num valid for coin) but does not mention authentication requirements, rate limits, side effects on video interaction counts, or any potential irreversibility. This is a mutation tool with significant missing behavioral context.

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 structured with a one-line summary, a clear Args section with each parameter on its own line, and a Returns line. Every sentence adds value, and the format is easy to scan. No redundant or vague filler.

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

Completeness3/5

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

The parameter coverage is excellent, but the tool lacks an output schema and annotations. The return value is only described as '操作结果' (operation result), which is vague. Additionally, authentication prerequisites and potential error cases are not addressed, making the description incomplete for a mutation tool with 5 parameters.

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

Parameters5/5

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

The input schema contains only titles and no descriptions, so the description fully compensates. It explains each parameter in detail: bvid as the video BV number, action with its enum meanings, cancel with its validity scope, coin_num with valid values (1 or 2), and media_id with its conditional requirement and default behavior.

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 description opens with '视频互动:点赞/投币/收藏/三连' (video interaction: like/coin/favorite/triple), which clearly specifies the verb and resource. It distinguishes from sibling tools by focusing on user interactions rather than retrieval or sending danmaku.

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?

Usage is implied through the action types and parameter conditions, but there is no explicit statement about when to use this tool versus alternatives like bilibili_video_send_danmaku. No exclusions or alternative tool names are mentioned.

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

bilibili_video_send_danmakuA

发送弹幕

Args: bvid: 视频的BV号 message: 弹幕内容 page_num: 分P序号,从0开始 progress: 发送时间(毫秒),0表示开头 color: 颜色(十六进制),默认ffffff(白色) font_size: 字体大小 (18-小, 25-普通, 36-大) mode: 弹幕模式 (1-滚动, 4-底部, 5-顶部)

Returns: 发送结果

ParametersJSON Schema
NameRequiredDescriptionDefault
bvidYes
modeNo
colorNoffffff
messageYes
page_numNo
progressNo
font_sizeNo

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool sends a danmaku but does not mention side effects (e.g., public posting), authentication requirements, rate limits, or what the '发送结果' (send result) contains. It lacks behavioral context beyond the basic action implied by the name.

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 well-organized and front-loaded with a one-line summary ('发送弹幕'), followed by a concise bullet-style Args list. Each parameter gets a single line with meaning and default. No unnecessary information or repetition exists, making it easy to scan.

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

Completeness3/5

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

The description thoroughly covers parameters but is incomplete in other respects. It has no output schema and only says 'Returns: 发送结果' without specifying the result structure or error cases. It also omits authentication needs and any behavioral side effects. For a write operation with multiple parameters, this is adequate but leaves gaps for an AI agent.

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

Parameters5/5

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

Schema description coverage is 0%, and the description fully compensates by explaining every parameter: bvid is the BV number, message is the content, page_num starts from 0, progress is in milliseconds, color is hex with a default, font_size has three options, and mode maps 1/4/5 to scrolling/bottom/top. This adds meaningful semantics beyond the enum/defaults in the schema, enabling correct invocation.

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 description clearly states '发送弹幕' (send danmaku), specifying the exact action and resource (a Bilibili video). It distinguishes from sibling tools like bilibili_video_get_danmaku, which retrieves danmaku, and bilibili_comment_send, which sends comments. The verb+resource combination is specific and unambiguous.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool vs alternatives. It does not mention prerequisites (e.g., authentication) or when not to use it. The only implied usage is 'when you want to send a danmaku,' but there are no explicit comparisons to sibling tools such as bilibili_comment_send or bilibili_video_interact.

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. Dates show when Glama detected each change.

  1. 22 tool updatesv0.1.0
    • First observedbilibili_comment_get
    • First observedbilibili_comment_operate
    • First observedbilibili_comment_send
    • First observedbilibili_get_hot
    • First observedbilibili_get_hot_search
    • First observedbilibili_get_rank
    • First observedbilibili_search
    • First observedbilibili_session_interactions
    • First observedbilibili_session_list
    • First observedbilibili_session_notifications
    • First observedbilibili_session_send
    • First observedbilibili_user_get_contents
    • First observedbilibili_user_get_followers
    • First observedbilibili_user_get_followings
    • First observedbilibili_user_get_info
    • First observedbilibili_user_modify_relation
    • First observedbilibili_video_get_ai_conclusion
    • First observedbilibili_video_get_danmaku
    • First observedbilibili_video_get_download_info
    • First observedbilibili_video_get_info
    • First observedbilibili_video_interact
    • First observedbilibili_video_send_danmaku

TDQS

B3.4/5.0
Disambiguation4/5

Most tools target distinct resources and actions. The only potential overlap is between bilibili_get_hot, bilibili_get_rank, and bilibili_get_hot_search, but they return different content types. bilibili_comment_operate's get_sub_comments action overlaps somewhat with bilibili_comment_get, but this is a minor issue.

Naming Consistency3/5

The naming pattern is mixed: many tools use bilibili_<domain>_<verb>_<noun>, but some like bilibili_get_hot, bilibili_get_rank, and bilibili_search omit the domain. Verb choices also vary (get, send, modify, interact, operate), and session tools use nouns like 'notifications' and 'interactions'. Still, all names are snake_case and readable.

Tool Count3/5

At 22 tools, the set is on the heavier side but within a reasonable range for a platform like Bilibili. The number covers multiple domains (videos, users, comments, sessions, search, rankings) without being excessive. It feels slightly heavy but not bloated.

Completeness4/5

The tool set covers most core Bilibili workflows: reading video/user/comment data, interacting via likes/follows/danmaku/comments/private messages, and accessing search and rankings. Missing operations like video upload/delete or profile editing are minor and not typically needed for an MCP server.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that provides services for the bilibili.com API, supporting functions such as obtaining user information and video search.
    3
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    F
    maintenance
    An MCP server that enables users to search Bilibili videos, access trending rankings, and retrieve detailed information about videos, content creators, and anime schedules. It allows AI applications to interact directly with Bilibili content via simple API interfaces.
    69
    192
    MIT
  • F
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that provides tools for parsing and retrieving Bilibili video information, including video details, download links, and collection listings.
    5
    13
    1
    -
  • A
    license
    A
    quality
    A
    maintenance
    Bilibili MCP server enabling video search, comment management, danmaku, user info, dynamics, live streaming analysis, and more via 31 tools.
    31
    27
    3
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/YunGaoluo/bilibili-mcp-python'

If you have feedback or need assistance with the MCP directory API, please join our Discord server