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.
💡 Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Bilibili MCP 是一个本地 MCP server,让 AI Agent 读取 Bilibili 内容:读取字幕与评论,按主题搜索视频,遍历自己账号的收藏夹。即使视频没有字幕,通过 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),不保证操作系统级加密。登录失败时的排查路径见客户端配置指南。
Agent 返回带时间戳的字幕文本,以及热门评论与回复;含时间戳的评论会被优先保留。
Agent 返回 5 个候选,各带标题、UP 主、时长和 BVID。选中候选后,把 BVID 直接交给转录、元数据、章节或评论工具。
每条命中附带原文上下文、时间点和可直达的 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。
有些视频没有任何字幕。安装本地 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,模型存放在用户目录 ~/.bilibili-mcp/asr/,通过 CPU INT8 加载验证后才算就绪,不需要系统 FFmpeg;同一目录仅保留一个活跃模型。doctor --json 的 asr.status 和 asr.model 报告就绪状态与已选模型(纯信息字段,不影响凭证退出状态)。
**边界:**本地转录始终被约束在安全范围内——显式选择、资源受限、Cookie 隔离:
fallback_to_asr: true 才启动转录。setup 安装。ASR_NOT_READY、ASR_BUSY、ASR_TRANSCRIPTION_TIMEOUT 等错误码的完整语义见工具参考。
| 目标 | 工具 |
|---|---|
| 只有主题,还没有视频链接 | search_bilibili_videos |
| 从我的收藏夹开始读取 | 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 示例和错误语义见工具参考。
next_cursor。遍历是实时 best-effort,不是快照。skipped_count,不会为该页拉取替代条目。fallback_to_asr 时行为与过去完全一致;开启后也只在确认无字幕时运行一次转录,且需要本机已有 ready 模型。get_video_transcript 默认在无字幕时返回 SUBTITLE_UNAVAILABLE;描述降级(fallback_to_description)与关键词搜索、时间戳输出和时段过滤互斥。setup 在本地终端交互式输入,保存在本机全局配置中,不会写入项目或 MCP 客户端配置文件。SESSDATA、bili_jct、DedeUserID 或完整 Cookie。| 命令 | 用途 |
|---|---|
npm run build | 清理并编译 TypeScript 到 dist/ |
npm test | 运行 Vitest 测试 |
npm run watch | 监听 TypeScript 变更 |
npm start | 启动已构建的 stdio MCP server |
npm pack --dry-run | 检查 npm 发布包内容 |
MCP stdio 协议数据使用 stdout;调试日志必须写到 stderr。测试和日志中不要使用真实 Cookie。
遇到问题或有功能建议,请提交 GitHub Issue;一般讨论可前往 GitHub Discussions。
本项目基于 GNU General Public License v3.0 开源。
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>