bilibili-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BILI_JCT | No | Individual cookie value (bili_jct / CSRF token), merged with the cookie file. | |
| BILI_BUVID3 | No | Individual cookie value (buvid3), merged with the cookie file. | |
| BILI_BUVID4 | No | Individual cookie value (buvid4), merged with the cookie file. | |
| BILI_COOKIE | No | Full Cookie header; highest priority. Used to supply the login state to the server. | |
| BILI_FFMPEG | No | Path to the ffmpeg executable, used for cropping video keyframes. | |
| BILI_SESSDATA | No | Individual cookie value (SESSDATA), merged with the cookie file. | |
| BILI_CACHE_DIR | No | Cache directory (e.g. for video keyframes). | |
| BILI_LIVE_TEST | No | Enable real network tests. | |
| BILI_TEST_BVID | No | Optional: test video BV id used by test:live / verify. | |
| BILI_CONFIG_DIR | No | Override the cookie/config directory (defaults to %APPDATA%\bilibili-mcp on Windows and ~/.config/bilibili-mcp on macOS/Linux). | |
| BILI_DEDEUSERID | No | Individual cookie value (DedeUserID), merged with the cookie file. | |
| BILI_LIVE_WRITE | No | Enable reversible write tests. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| auth_statusA | 读取当前 B 站登录态、昵称、UID、硬币、等级、未读通知/私信数。MCP 不提取登录态;未登录时请使用 bilibili-login skill 从浏览器注入 Cookie。 |
| rank_listA | 获取 B 站排行榜(对应 /v/popular/rank/all)。返回标题、BV 号、链接、UP 主、分区、统计与标签。标签需逐条补齐,默认只补前 20 条。 |
| popular_listB | 获取 B 站综合热门视频(对应 /v/popular/all),支持分页与标签补齐。 |
| weekly_issuesB | 列出 B 站每周必看的期数、主题与链接(对应 /v/popular/weekly)。 |
| weekly_listA | 获取指定期数的每周必看视频列表(对应 /v/popular/weekly?num=395)。不传 number 时默认最新一期。返回标题、链接、标签等。 |
| precious_listC | 获取 B 站“入站必刷”列表(扩展能力)。 |
| video_infoB | 获取视频详情:标题、简介、封面、UP 主、统计、分P、标签、可用字幕语言。 |
| video_transcriptA | 读取视频字幕全文与时间分段。B 站 AI 字幕通常可用;无字幕时返回可用语言与改用 video_frames 的提示。支持多语言字幕。 |
| video_framesA | 截取视频关键帧并作为图片返回。默认取 15%/50%/85% 三帧;可传秒数、时间(1:23)或百分比。DASH 抽帧失败时回退 B 站缩略图雪碧图;无 ffmpeg 时返回整张雪碧图。 |
| video_commentsA | 读取视频评论区(热门或按时间),包含评论内容、作者、点赞数与部分回复。 |
| searchB | 按关键词搜索 B 站视频或用户;视频结果含 BV 号、链接、作者、标签。 |
| user_infoB | 获取 UP 主/用户的名片信息、等级、粉丝数、关注数。 |
| user_videosC | 获取指定 UP 主的投稿视频列表。 |
| list_followingsA | 获取当前账号(或指定用户)的关注列表,支持分页。 |
| list_followersB | 获取当前账号(或指定用户)的粉丝列表。 |
| list_favoritesA | 不传 folder_id 时列出收藏夹;传 folder_id 时读取该收藏夹的视频内容(支持分页)。 |
| notificationsA | 读取 B 站消息中心通知。kind=unread 返回未读数;reply 返回“回复我的”;at 返回“@ 我的”;like 返回“收到的赞”。 |
| messagesA | 不传 talker_id 时列出私信会话;传 talker_id 时读取与该用户的聊天记录(按时间升序)。 |
| dynamic_feedA | 读取关注动态流,包含作者、文本、图片、视频卡片与互动数。支持翻页:用返回的 next_offset 作为 offset 继续,或直接传 page;B 站每页 20 条。 |
| historyB | 读取当前账号的观看历史(扩展能力)。 |
| toviewB | 读取当前账号的“稍后再看”列表。 |
| related_videosC | 读取某个视频的相关推荐列表。 |
| like_videoA | 点赞或取消点赞视频。默认只预览,不执行;confirm=true 才真正发送请求。可逆。 |
| coin_videoA | 给视频投 1-2 枚硬币。默认只预览;confirm=true 才执行。硬币不可撤销,请先确认余额与数量。 |
| favorite_videoA | 把视频加入或移出指定收藏夹。默认只预览;confirm=true 才执行。不传 folder_id 时会返回可用收藏夹列表。 |
| post_commentA | 在视频或动态下发表评论,可选本地图片;提供 root/parent 可回复某条评论。默认只预览;confirm=true 才发布。评论是公开内容。 |
| post_dynamicA | 发布一条动态(文本,可选本地图片路径)。默认只预览;confirm=true 才发布。动态是公开内容。 |
| follow_userA | 关注或取关某个用户。默认只预览;confirm=true 才执行。可逆。 |
| send_messageA | 给指定用户发送私信。默认只预览;confirm=true 才发送。私信会立即送达对方。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 29 tools
Most tools target clearly different resources+actions: reads (video_info, user_info, video_comments), news sources (rank_list, popular_list, weekly_list, precious_list), and writes (like_video, coin_video, post_comment, send_message). The main risk is weekly_issues vs weekly_list, whose boundaries (episode metadata vs videos of an episode) could confuse an agent, plus the cluster of distinct-but-similar list sources.
Everything is snake_case, but conventions are mixed: some names are verb_noun (list_followings, list_followers, list_favorites, post_comment, follow_user), while many use noun+list or bare nouns (rank_list, popular_list, weekly_list, precious_list, notifications, messages, history, toview). It stays readable but is not a predictable single pattern.
29 tools is on the heavy side for any single server, but the B站 domain is genuinely broad (feeds, search, users, comments, frames, and seven distinct write actions). Each tool maps to a real endpoint, so it is defensible though borderline.
Coverage is strong across the video-lifecycle: discover (search/rank/popular/weekly), inspect (video_info, video_frames, video_transcript, video_comments, user_info), and act (like/coin/favorite/comment/dynamic/follow/message) with a preview-confirm safety pattern. Minor gaps remain (no thread-level comment retrieval beyond video_comments, no edit/delete of own content).