bilibili-mcp
An MCP server for interacting with Bilibili, enabling AI assistants to search videos, fetch comments and subtitles, publish content, and manage interactions. It also adds private message reading, stable TV login, and an automated comment workflow requiring human confirmation.
README
bilibili-mcp
🍴 优化版 Fork · 基于 adoresever/bilibili-mcp 二次开发
原作者:adoresever(原始项目采用 MIT 协议,版权归原作者所有)。 本仓库在原始版本基础上,新增了私信读取工具、TV 通道扫码登录,以及一套**「搜索 → 审核 → 定时回复」的自动化运营脚本**,用于围绕指定运营目标、在相关视频评论区安全可控地铺内容。优化工作由 77rickliu(Rick) 完成。
B站(Bilibili)MCP Server —— 让 AI 助手直接操作B站。
支持 OpenClaw / Claude Code / Cursor / Cline 等所有 MCP 客户端。
29 个工具,覆盖登录认证、搜索采集、内容发布、数据分析、互动运营。
功能
登录认证
| Tool | 功能 | 说明 |
|---|---|---|
bili_login |
扫码登录 | 生成二维码(base64图片),AI直接展示给用户扫码 |
bili_login_check |
登录状态检查 | 轮询扫码状态,扫码成功后自动保存凭证 |
bili_check_credential |
凭证验证 | 检查当前登录是否有效,返回用户名等信息 |
TV 通道登录(本仓库新增):除 MCP 内扫码外,另提供
bili_login_helper.py,使用QrCodeLoginChannel.TV通道生成二维码并轮询。TV 通道的 cookie 来自cookie_info,不受 Web 端url字段偶发为空的影响,登录更稳。.venv/Scripts/python.exe bili_login_helper.py
数据采集
| Tool | 功能 | 说明 |
|---|---|---|
bili_search |
搜索视频 | 按关键词搜索,支持按播放量/最新/弹幕排序 |
bili_comments |
获取评论 | 获取视频热门评论,含子评论 |
bili_subtitle |
获取字幕 | 获取视频AI字幕(语音转文字) |
bili_danmaku |
获取弹幕 | 获取视频弹幕列表 |
bili_video_info |
视频详情 | 获取播放量、评论数、收藏数等 |
bili_reply |
回复评论 | 发表评论或回复评论(支持楼中楼) |
bili_crawl |
批量采集 | 搜索+评论+字幕一步到位 |
内容发布
| Tool | 功能 | 说明 |
|---|---|---|
bili_send_dynamic |
发图文动态 | 发布文字/图文动态,支持定时发布、话题关联 |
bili_upload_video |
上传视频 | 单P视频上传,支持封面、标签、分区选择 |
bili_upload_video_multi |
多P上传 | 多分P视频合并投稿 |
bili_send_opus |
图文专栏 | 发布图文长内容(Opus) |
bili_video_zones |
分区查询 | 获取常用分区ID,辅助视频上传 |
数据分析
| Tool | 功能 | 说明 |
|---|---|---|
bili_hot_videos |
热门视频 | 获取当前B站热门视频列表 |
bili_hot_buzzwords |
热搜关键词 | 获取B站热搜词/热门话题 |
bili_weekly_hot |
每周必看 | 获取每周必看推荐视频 |
bili_rank |
排行榜 | 全站及17个分区排行榜 |
bili_user_info |
用户信息 | 获取UP主粉丝数、等级、总播放量等 |
bili_user_videos |
用户视频 | 获取UP主投稿列表,支持排序和搜索 |
互动运营
| Tool | 功能 | 说明 |
|---|---|---|
bili_favorite_lists |
收藏夹列表 | 获取自己或他人的收藏夹 |
bili_favorite_content |
收藏夹内容 | 获取收藏夹内视频,支持搜索 |
bili_send_message |
发私信 | 给指定用户发送文字私信 |
bili_list_messages |
私信会话列表(本仓库新增) | 列举私信会话,支持只列未读;返回 talker_id / 未读数 / 最后一条消息 |
bili_read_session |
读取私信会话(本仓库新增) | 按 talker_id 读取某段会话完整消息,兼容两层嵌套 JSON 内容 |
bili_unread_messages |
未读消息 | 获取私信、@、回复、点赞等未读数 |
bili_received_replies |
收到的回复 | 获取评论回复通知(含他人回复我的评论) |
bili_received_at_and_likes |
@和点赞 | 获取@提及和点赞通知 |
自动化运营(本仓库新增)
围绕指定运营目标设计的一套草稿 + 人工审核工作流,由 auto_daily.py 与 auto_send.py 两个脚本组成,配合 MCP 工具使用。
设计原则
- 绝不自动发送:
auto_daily.py只负责准备与汇报,把计划写入auto_plan.json(confirmed=False);真正发送必须由人在审核通过后,手动带--confirm触发。 - 降低风控与重复:20 条目标评论会自然铺到 4+ 个视频(每视频最多 5 条);3 条候选文案按
A/B/C/A/B/C…轮流分配,平均铺开。 - 无外链推广:默认文案不携带注册链接,更自然、更安全。
auto_daily.py —— 每日准备与汇报
- 按日期轮换选用一个关键词(在脚本
KEYWORDS中配置,例如<关键词A>/<关键词B>/<关键词C>) - 搜索并选取 20 条目标评论(跨多个视频、按赞排序的前几条,单视频 ≤5 条)
- 每次生成 3 条不同风格候选文案(A 纯体验口播 / B 场景种草 / C 换角度口播),供用户审核
- 检查未读私信并全部列举;同时检测他人回复我的评论并列举(与私信同等呈现)
- 发送间隔预置为 60–120s 随机
- 输出结构化报告,计划写入
auto_plan.json
auto_send.py —— 人工确认后发送
- 读取
auto_plan.json,对 20 条目标逐条回复,间隔 60–120s 随机 - 文案默认采用 3 条候选轮流分配;可用
--text "..."整体覆盖为单一自定义文案 - 安全护栏:必须带
--confirm(或环境变量AUTO_CONFIRM=1)才会真正发送,否则直接拒绝,避免被定时任务或误操作误发
# 准备(草稿,不发送)
.venv/Scripts/python.exe auto_daily.py
# 人工审核 auto_plan.json 后,确认发送
.venv/Scripts/python.exe auto_send.py --confirm
# 或统一用自定义文案
.venv/Scripts/python.exe auto_send.py --confirm --text "这是一条自定义评论文案示例"
典型用法:把
auto_daily.py挂到定时任务(如工作日固定时间),脚本生成报告与候选文案供你审核;确认后手动运行auto_send.py --confirm完成发布。
快速开始
1. 克隆项目
git clone https://github.com/77rickliu/bilibili-mcp.git
cd bilibili-mcp
2. 安装依赖
pip install -r requirements.txt
需要 Python 3.10+,视频上传自动截取封面需要 ffmpeg。
依赖版本锁定(本仓库新增):
requirements.txt中mcp已锁定为>=1.0.0,<2.0.0。MCP 2.0.0 移除了FastMCP,会导致原版启动报ImportError;锁定后随mcp1.x 稳定可用。
3. 登录
方式一:通过 AI 工具登录(推荐)
接入 MCP 后,直接对 AI 说"登录B站",AI 会调用 bili_login 生成二维码展示给你扫码,全程无需终端操作。
方式二:TV 通道命令行登录(更稳定)
python bili_login_helper.py
方式三:原版命令行登录
python bili_login.py
4. 测试运行
npx @modelcontextprotocol/inspector python mcp_server.py
接入 AI 工具
OpenClaw
npm i -g mcporter
npx mcporter config add bilibili-mcp "python /path/to/bilibili-mcp/mcp_server.py"
或直接把 GitHub 链接粘贴到 OpenClaw 对话框,让它自动配置。
Claude Code
在项目目录创建 .mcp.json:
{
"mcpServers": {
"bilibili-mcp": {
"command": "python",
"args": ["/path/to/bilibili-mcp/mcp_server.py"]
}
}
}
Cursor / Cline
在设置中添加 MCP Server,command 填 python,args 填 mcp_server.py 的完整路径。
使用示例
接入后,你可以直接用自然语言让 AI 操作:
- "登录B站"(AI会展示二维码给你扫)
- "搜索B站上关于AI Agent的热门视频"
- "获取这个视频的评论,分析用户需求"
- "获取视频字幕,总结视频内容"
- "帮我回复这条评论"
- "批量采集OpenClaw相关视频的评论和字幕"
- "帮我发一条B站动态,配上这几张图片"
- "把这个视频上传到B站科技区"
- "看看B站现在什么最火"
- "获取科技区排行榜前10的视频"
- "分析这个UP主的粉丝和投稿数据"
- "我有多少未读私信和回复?"
- "检索一下我的私信会话,并读取其中一段的完整内容"(本仓库新增能力)
- "看看我的收藏夹里有什么"
技术栈
- bilibili-api-python — B站 API 封装库,提供搜索、评论、字幕、弹幕等全部接口
- MCP (Model Context Protocol) — Anthropic 提出的开放协议,标准化 AI 与工具的交互
- FastMCP — MCP Python SDK(本仓库锁定
mcp<2.0.0以兼容FastMCP)
项目结构
bilibili-mcp/
├── mcp_server.py # MCP Server 主文件(29个tool)
├── bili_login.py # 命令行扫码登录(备用)
├── bili_login_helper.py # TV通道扫码登录(本仓库新增,登录更稳)
├── auto_daily.py # 每日自动准备与汇报脚本(草稿,不发送)【本仓库新增】
├── auto_send.py # 人工确认后发送脚本(带 --confirm 护栏)【本仓库新增】
├── auto_plan.json # 自动任务计划产出(自动生成,已 gitignore)
├── bili_credential.json # 登录凭证(自动生成,勿提交,已 gitignore)
├── requirements.txt # Python 依赖(锁定 mcp<2.0.0)
├── README.md # 项目说明
├── LICENSE # MIT 开源协议
└── .gitignore # Git 忽略文件
注意事项
- 首次使用通过 AI 对话即可完成登录,无需终端操作
- 凭证保存在本地,不会上传(见
.gitignore) - 请求间隔自动控制,避免频率过快
- 回复评论/发私信功能请谨慎使用,遵守B站社区规则
- 视频上传未指定封面时,自动从视频第3秒截取(需要ffmpeg)
- 自动化脚本默认草稿模式,务必人工审核
auto_plan.json后再--confirm发送 - 本项目仅用于学习和研究
致谢 / 原作者
- 原始项目与核心 MCP 工具来自 adoresever/bilibili-mcp,采用 MIT 协议,版权归原作者 adoresever 所有。
- 本仓库的私信读取工具(
bili_list_messages/bili_read_session)、TV 通道登录(bili_login_helper.py)、自动化运营脚本(auto_daily.py/auto_send.py)及依赖版本锁定,由 77rickliu(Rick) 在原始项目基础上新增与优化。
License
MIT(继承自原项目;新增代码同样以 MIT 协议发布)
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。