bilibili-mcp

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.

Category
访问服务器

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;锁定后随 mcp 1.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

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选