这个MCP服务器提供了搜索和交互B站(哔哩哔哩)内容的功能,包括视频搜索、字幕获取和视频信息查询等。
现在同时提供两种服务:
- MCP 服务(默认
8000,SSE/stdio) - Flask REST API 服务(默认
8001)
- 搜索B站视频
- 获取视频字幕(自动生成的AI字幕)
- 查询视频详细信息
- 使用必剪API获取媒体文件的AI字幕
-
search_video
- 从B站搜索视频
- 输入:
keyword(string): 搜索关键词page(int, 可选): 页码,默认1page_size(int, 可选): 每页数量,默认20
-
get_video_subtitle
- 获取B站视频的字幕
- 输入:
bvid(string): 视频的BV号
-
get_video_info
- 获取B站视频的详细信息
- 输入:
bvid(string): 视频的BV号
-
get_media_subtitle
- 使用必剪API获取媒体文件的AI中文字幕
- 输入:
url(string): 媒体文件URL
- 克隆仓库
- 安装依赖:
pip install -r requirements.txt - 设置环境变量(从B站官网cookie获取):
sessdata: B站SESSDATAbili_jct: B站bili_jctbuvid3: B站buvid3
- 启动服务器:
python server.py
如需同时启动 MCP + Flask REST API:
python run_servers.pyGET /healthGET /api/video/search?keyword=关键词&page=1&page_size=20GET /api/video/info/<bvid>GET /api/video/subtitle/<bvid>POST /api/media/subtitle,JSON body:{ "url": "媒体地址" }
要将此服务器与桌面应用集成,请在应用的服务器配置中添加以下内容:
{
"mcpServers": {
"bilibili-mcp": {
"command": "python",
"args": [
"{绝对路径}/server.py"
],
"env": {
"sessdata": "你的B站SESSDATA",
"bili_jct": "你的B站bili_jct",
"buvid3": "你的B站buvid3"
}
}
}
}- 安装依赖:
pip install -r requirements.txt - 启动服务器:
python server.py - 同时启动 MCP + Flask:
python run_servers.py
- mcp: MCP SDK
- bilibili-api-python: B站API Python库
- aiohttp: 异步HTTP客户端/服务器框架
- brotlicffi: Brotli 压缩解码支持(修复 aiohttp 3.13+ 与 B站 API 的
br内容编码兼容问题)
修复 Brotli 解码错误
- 新增
brotlicffi依赖,修复 aiohttp 3.13+ 无法解码 B站返回的Content-Encoding: br响应的问题,影响所有工具(search_video、get_video_info、get_video_subtitle)
字幕获取优化(PR #1 by @Zhao-zzzzZ)
- 修复
get_video_subtitle:字幕列表获取改用.get()安全访问,避免视频无字幕时崩溃 - 修复 AI 字幕语言匹配条件,放宽为只需
lan == "ai-zh",兼容更多视频 - 异步化音频字幕获取:
get_audio_subtitle改为通过asyncio.to_thread包装为异步,避免阻塞事件循环 - 修复错误处理:
get_audio_subtitle将错误由返回值改为正确抛出APIError异常 - 修复
ResultRspSchema模型:result和remark字段改为可选,避免解析失败 - 补全
requirements.txt缺失的requests、pydantic、tabulate依赖 - 支持音频格式扩展至 mp4/m4s,改进音频 URL 选择策略
本项目采用MIT许可证。