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
Visit Server

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 协议发布)

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured