这是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为支持MCP的AI客户端(如VSCode Roo插件)提供获取Bilibili视频字幕的功能。它实现了一个标准的MCP工具,允许AI直接访问和处理B站视频的文字内容。
主要功能点
- Bilibili视频字幕获取: 根据提供的视频URL或BV ID,自动查找并获取视频的字幕数据。
- MCP工具集成: 将字幕获取功能封装为一个标准的MCP工具('get_bilibili_subtitle'),方便AI客户端调用。
- API交互: 处理与Bilibili官方API的通信,包括获取视频信息和字幕列表。
- Cookie支持: 支持通过环境变量配置用户Cookie,提高访问成功率和应对可能的限制。
安装步骤
- 下载项目: 将本仓库的代码下载或克隆到你的本地计算机。
- 安装依赖: 打开命令行或终端,导航到项目代码所在的目录。执行以下命令安装所需的Python库:
这将安装 'fastmcp'(用于构建MCP服务器)和 'requests'(用于进行网络请求)等库。pip install -r requirements.txt
服务器配置 (用于MCP客户端)
这个服务器需要被你的MCP客户端(如VSCode Roo插件)启动和管理。在客户端的设置界面中,你需要添加一个新的MCP服务器配置。以下是关键配置项的说明(这些配置信息通常以JSON格式存储在客户端的配置文件中):
- 'name': 给服务器起一个你喜欢的名字,方便识别,例如 '"Bilibili 字幕服务器"'。
- 'type': 服务器的连接类型,本服务器使用标准输入/输出(StdIO),应设置为 '"stdio"'。
- 'description': 简要描述此服务器的功能,例如 '"让AI可以获取B站视频字幕"'。
- 'command': 启动服务器所执行的命令。这通常是你的Python解释器的路径或名称,例如 '"python"'、'"python3"' 或 '"py"'。请根据你的系统环境设置。
- 'args': 一个字符串数组,包含传递给 'command' 的参数。第一个参数通常是服务器脚本的路径。请将示例中的路径替换为你实际存放 'bilibili_mcp_server.py' 文件的完整路径,例如 '["/path/to/your/Bilibili-MCP/bilibili_mcp_server.py"]'。
- 'env': 一个字典,用于设置服务器进程的环境变量。非常重要,你需要在此设置Bilibili的Cookie,以便服务器能够正常获取字幕(某些视频或操作可能需要登录状态)。
- 键必须是 '"BILIBILI_COOKIE"'。
- 值是你从浏览器获取到的完整Bilibili网站Cookie字符串。请务必将整个Cookie字符串用英文双引号 '" "' 包裹起来。获取Cookie的方法请参考项目README文件。
- 示例格式:'{"BILIBILI_COOKIE": ""SESSDATA=...; bili_jct=...; ...""}'
配置示例 (JSON格式,请根据你的实际情况修改路径和Cookie):
{ "name": "Bilibili 字幕服务器", "type": "stdio", "description": "让AI可以获取B站视频字幕", "command": "python", // 或 python3 / py "args": [ "/你的实际路径/Bilibili-MCP/bilibili_mcp_server.py" // 修改为你的脚本完整路径 ], "env": { "BILIBILI_COOKIE": "\"你的完整Bilibili Cookie字符串\"" // 替换并用英文双引号包裹 } }
基本使用方法
在MCP客户端中完成配置并成功启动此服务器后,AI客户端将识别出服务器提供的工具。你现在可以通过AI界面调用这个工具来获取Bilibili视频的字幕。
- 工具名称: 'get_bilibili_subtitle'
- 输入参数: 这个工具接受一个名为 'video_input' 的字符串参数。将需要获取字幕的Bilibili视频URL(例如 'https://www.bilibili.com/video/BV1cVoTYqE4C')或其BV ID(例如 'BV1cVoTYqE4C')作为此参数的值提供给AI。
服务器将执行相应的操作,并将获取到的字幕数据(通常是JSON格式的字符串)作为工具的输出返回给AI客户端。
信息
分类
网页与API