Bilibili MCP tool for video metadata, transcripts, subtitles, and comment summarization
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag — we're steadily working through the catalog.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Bilibili MCP 是一个本地 MCP server,让 AI Agent 读取 Bilibili 内容。你可以读取字幕与评论、按主题搜索视频、按名称或关键词查找并了解 UP 主,也可以遍历自己账号的收藏夹。即使视频没有字幕,通过 setup 安装本地 ASR 模型后也能读到它的文字内容。
English · 客户端配置指南 · 工具参考 · 本地 ASR(可选) · 更新日志 · 最新 Release
搜索候选 → 本地 MCP → 字幕定位 · 章节 · 评论 · 收藏夹
setup 时选择下载 ASR 模型,详见本地 ASR(可选)。把以下提示词完整复制给 Agent:它会完成自己擅长的事(确认客户端、写入 server 配置、检查登录状态),所有涉及 Cookie 的环节都会暂停,交由你本人在本地终端完成。
前置条件:Node.js 20+
不想用 Agent 辅助时,按下面四步完成同样的流程:
确认环境 — 在终端运行 node --version 和 npx --version,确保 Node.js 为 v20 或更高版本。
添加服务 — 在 MCP 客户端中新增 stdio server:command 设为 npx,args 设为 -y, @xzxzzx/bilibili-mcp@latest。具体操作见客户端配置指南。
本地配置 — 在终端运行 npx -y @xzxzzx/bilibili-mcp@latest setup 配置凭证,再运行 npx -y @xzxzzx/bilibili-mcp@latest check 确认凭证已加载。npx -y @xzxzzx/bilibili-mcp@latest doctor --json 可获取不含秘密的本机配置状态。
输入不回显,Cookie 只进入本地隐藏提示符,不要粘贴到 Agent 聊天或客户端配置里。凭证字段怎么找:见从浏览器获取凭证字段。setup 还会询问是否安装可选的本地 ASR 模型(默认否),见本地 ASR(可选)。
验证登录 — 重连客户端后,让 Agent 调用 MCP 工具 check_bilibili_credentials 确认 configured: true 且 logged_in: true。doctor --json 只检查本机状态,不能代替这一步的实时登录验证。验证成功后,再让 Agent 调用一次 search_bilibili_videos(任选主题),能返回视频列表即安装完成。
凭证保存在 ~/.bilibili-mcp/config.json(Windows:%USERPROFILE%\.bilibili-mcp\config.json),不保证操作系统级加密。登录失败时的排查路径见客户端配置指南。
运行 setup 后,按回车选择扫码登录,用手机 B站 App 扫描终端里的二维码,再在手机上确认即可。无需从浏览器复制 Cookie,更简单方便。
无法扫码? 在登录方式菜单选择“手动 Cookie”,按照手动 Cookie 配置教程获取凭证并在本地终端输入。
Agent 返回带时间戳的字幕文本,以及热门评论与回复;含时间戳的评论会被优先保留。
Agent 返回 5 个候选,各带标题、UP 主、时长和 BVID。选中候选后,把 BVID 直接交给转录、元数据、章节或评论工具。
Agent 会先让你确认正确的 UP 主,再分批读取不同类型的内容。需要查看更多时,它会继续翻页;选中的视频还可以交给字幕、元数据、章节或评论工具深入查看。
每条命中附带原文上下文、时间点和可直达的 B 站时刻链接。
[!NOTE] **已验证的验收链路:**搜索视频 → 选择
BV1Eb411u7Fw的 P4 → 在字幕中搜索函数→ 返回上下文与可直达的?p=4&t=1.12证据链接。Bilibili 可能移除或变更该示例视频。
每次 MCP 调用最多读取一个 20 条的上游页面;Agent 使用返回的 next_cursor 继续调用,直到该字段不再出现。最终按收藏夹输出成功读取的标题与 BVID 列表,以及被跳过的条目计数。
前提是已经通过 setup 安装了模型且 doctor --json 报告 asr.status: ready,否则会返回 ASR_NOT_READY 并附带安装指引。原生字幕始终优先:只有确认没有可用字幕时才会启动一次本地转录,结果返回 data_source: "asr",并复用与字幕相同的时间戳、区间过滤、关键词搜索和时刻链接。详见本地 ASR。
Bilibili 会把部分视频的 AI 识别字幕标为 ai-zh、ai-en、ai-ja 等 ai-* 语言。为避免与人工字幕混淆,选中任意 ai-* 字幕时,get_video_transcript 与 get_video_info 的结果返回 data_source: "ai_subtitle"(不是 "subtitle";本地 ASR 仍是 "asr")。
ai_subtitle 是 Bilibili 的 AI 转录,可能不准确,不能当作人工校验过的引用。exclude_ai_subtitles: true(两个工具都有,默认 false):过滤全部 AI 字幕(ai-zh、ai-en 等),优先返回剩余的人工字幕;仅剩 AI 字幕时视为无字幕,get_video_transcript 可配合 fallback_to_asr / fallback_to_description,get_video_info 返回简介。force_asr: true(仅 get_video_transcript,默认 false):绕过字幕元数据与内容选择,直接用本地 ASR 转录当前这一 P;无需同时开启 fallback_to_asr,且优先于 exclude_ai_subtitles。ai-* 都会无条件双读并做确定性完整性评估,通过后才返回正文:跨读取稳定性(两次读取的正文不一致即不可用,适用于所有 ai-*)、语言(仅针对 ai-zh:≥80 Unicode 字母且 Han 占比 <10% 视为不匹配;其他 ai-* 语言不因非中文正文被拒绝);不通过时 fallback_to_asr: true 调用本地 ASR,否则遵循 fallback_to_description;video-info 返回简介且不缓存。同语言但语义不符(稳定却离题的正文)是已接受的限制,可用 force_asr 或 exclude_ai_subtitles 控制;人工字幕保持单读,第二次读取的传输、超时、认证或解析失败照常作为错误返回。有些视频没有任何字幕。安装本地 ASR 模型后,get_video_transcript 可以在你显式开启 fallback_to_asr 时,对已解析的这一 P 做一次本地转录。
**安装:**凭证配置完成后,setup 会询问是否安装本地 ASR 模型(默认否 [y/N],需要 Python 3.9+)。可选模型:
| 模型 | 大小 | 说明 |
|---|---|---|
| tiny | ~78 MB | 速度优先:适合快速提取和长视频初筛;准确率相对较低 |
| base | ~148 MB | 均衡:兼顾速度、质量和资源占用 |
| small | ~486 MB | 质量优先:耗时和内存占用更高;推荐,Enter 默认选中 |
Runtime 固定为 faster-whisper==1.2.1 与 ctranslate2==4.8.0,模型存放在用户目录 ~/.bilibili-mcp/asr/,不需要系统 FFmpeg;同一目录仅保留一个活跃模型。选择模型后还需选择设备偏好:auto(默认)先用程序生成的固定短 WAV 完整验证 cuda/float16,失败时说明脱敏原因并验证、保存 cpu/int8;cpu 跳过 GPU;cuda 验证失败则报错且不回退。doctor --json 会报告实际生效的 device、compute_type、readiness 与脱敏失败类别。
项目不会安装或修改 NVIDIA 驱动、CUDA、cuBLAS、cuDNN、系统 PATH、LD_LIBRARY_PATH 或全局 Python。GPU 验证失败后,你可以继续使用已经验证的 CPU,也可以自行修复 GPU 环境后重新运行 setup;每次重新运行都会再次验证设备。
**从旧版本升级:**已有 v1 ASR 安装无需重新下载模型。升级后的第一次明确 ASR 请求会自动验证 GPU/CPU,并在验证成功后继续完成本次转录;成功后会保存新状态,后续请求不再重复探测。若迁移失败或被取消,原状态保持待迁移,可在修复环境后重新运行 setup 重试。
**边界:**本地转录始终被约束在安全范围内——显式选择、资源受限、Cookie 隔离:
ai-* 都会先无条件双读评估,不通过时与无字幕一样构成确认缺失(默认返回简介或 SUBTITLE_UNAVAILABLE);只有在这种确认缺失状态、且你显式传了 fallback_to_asr: true 时才启动转录。force_asr: true 是显式授权直接转录当前这一 P,与是否存在字幕无关,无需同时开启 fallback_to_asr。setup 安装。ASR_NOT_READY、ASR_FAKE_IP_DNS、ASR_BUSY、ASR_TRANSCRIPTION_TIMEOUT 等错误码的完整语义和安全处理方式见工具参考;遇到 Fake-IP 诊断时,不需要关闭整个代理。
| 目标 | 工具 |
|---|---|
| 只有主题,还没有视频链接 | search_bilibili_videos |
| 知道名称或关键词,想找 UP 主候选(稳定 mid) | search_bilibili_creators |
| 从选定 UP 主(mid)读取概览、视频目录、合集、系列或动态 | get_bilibili_creator_content |
| 从我的收藏夹开始读取 | list_bilibili_favorite_videos |
| 快速获取字幕优先的视频上下文 | get_video_info |
| 完整转录、关键词定位,或无字幕时本地 ASR | get_video_transcript |
| 查看标题、作者、播放量等结构化信息 | get_video_metadata |
| 查看观众反馈和评论回复 | get_video_comments |
| 查看视频章节/进度条分段 | get_video_chapters |
| 引导用户配置 Cookie | get_credential_setup_instructions |
| 检查 Cookie 是否已配置且已登录 | check_bilibili_credentials |
| 检查 MCP 包是否需要更新 | check_mcp_update |
完整参数、JSON 示例和错误语义见工具参考。
Factual signals from GitHub, npm, and our automated checks — not a rating.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/bilibili-mcp-server)<a href="https://allmcps.com/mcp/bilibili-mcp-server"><img src="https://allmcps.com/api/badge/bilibili-mcp-server?style=directory" alt="Bilibili MCP Server on AllMCPs" /></a>