B站游戏视频总结概括MCP服务
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"bilibili_game_review_analyzer": {
"args": [
"bilibili-game-review-analyzer@latest"
],
"command": "uvx"
}
}
}
该服务需要配置环境变量:API_KEY、BASE_URL、MODEL
可用工具 (3 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
get_video_results 2 个参数 需填 1 项
根据关键词搜索相关的视频,返回视频标题和BV号。 Args: keyword: 搜索关键词 limit: 返回结果数量限制,默认为1 Returns: 视频列表,每个元素包含视频标题、BV号
必填参数:keyword
extract_videos_url 2 个参数 需填 1 项
根据关键词获取视频的播放地址。 Args: keyword: 视频关键词 limit: 最大返回视频数量,默认1 Returns: 视频播放地址列表,每个元素包含视频的标题、BV号、cid、视频播放地址
必填参数:keyword
get_video_summary_tool 2 个参数 需填 1 项
根据关键词搜索相关的视频,概括视频的内容。 Args: keyword: 视频关键词 limit: 最大返回视频内容数量,默认1 Returns: 视频的概括内容列表
必填参数:keyword
服务介绍
Bilibili Game Review Analyzer
基于 FastMCP 框架的 B 站视频分析服务,支持视频搜索、播放地址获取及 AI 内容概括。
功能特性
本项目提供以下三个 MCP 工具:
- get_video_results — 根据关键词搜索相关视频,返回视频标题和 BV 号
- extract_videos_url — 根据关键词获取视频的播放地址(含 cid)
- get_video_summary_tool — 根据关键词搜索视频,并使用大语言模型概括视频内容
技术栈
- Python 3.14+
- FastMCP — MCP 服务器框架
- bilibili-api-python — B 站 API 客户端
- LangChain + Qwen — 视频内容智能概括
环境要求
- Python >= 3.14
- uv 包管理器
项目结构
bilibili-game-review-analyzer/
├── pyproject.toml # 项目配置与依赖管理
├── uv.lock # 依赖锁定文件(自动生成)
├── .env.example # 环境变量模板(可复制为 .env)
├── .gitignore # Git 忽略文件
├── README.md # 项目文档
│
├── src/
│ └── bilibili_game_review_analyzer/ # 包根目录
│ ├── __init__.py # 包初始化,暴露公共 API
│ ├── __main__.py # 支持 python -m 直接运行
│ ├── server.py # MCP 服务器核心逻辑与工具注册
│ └── bilibili_client.py # B 站 API 客户端封装
│
└── tests/ # 测试目录(可选)
└── test_bilibili_client.py
安装步骤
- 克隆项目
git clone <repository-url>
cd bilibili-game-review-analyzer
- 使用 uv 安装依赖
uv sync
环境变量配置
在项目根目录创建 .env 文件,配置以下环境变量:
API_KEY=your_api_key_here
BASE_URL=your_api_base_url_here
MODEL=your_model_name_here
| 变量名 | 说明 |
|---|---|
| API_KEY | Qwen 模型的 API 密钥 |
| BASE_URL | Qwen 模型的 API 基础地址 |
| MODEL | 模型名称(如 qwen-vl-plus) |
建议将 .env 添加到 .gitignore 中,避免敏感信息泄露。可参考 .env.example 模板文件。
使用方式
方式一:直接运行(开发模式)
uv run python -m bilibili_game_review_analyzer
方式二:通过命令行入口运行
安装后可通过注册的脚本命令启动:
uv run bilibili-game-review
方式三:通过 MCP 客户端集成
服务器默认使用 stdio 传输协议运行,可与支持 MCP 标准的客户端(如 Claude Desktop、Cursor、Continue 等)集成。
本地开发测试配置(使用本地代码):
{
"mcpServers": {
"bilibili_game_review_analyzer": {
"command": "uvx",
"args": [
"--from",
"D:/path/to/bilibili-game-review-analyzer",
"bilibili-game-review-analyzer"
],
"env": {
"API_KEY": "your_api_key",
"BASE_URL": "your_base_url",
"MODEL": "your_model"
}
}
}
}
线上部署配置(发布到 PyPI 后):
{
"mcpServers": {
"bilibili_game_review_analyzer": {
"command": "uvx",
"args": ["bilibili-game-review-analyzer@latest"],
"env": {
"API_KEY": "your_api_key",
"BASE_URL": "your_base_url",
"MODEL": "your_model"
}
}
}
}
工具说明
get_video_results
根据关键词搜索相关视频,返回视频标题和 BV 号。
参数:
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| keyword | str | ✅ | — | 搜索关键词 |
| limit | int | ❌ | 1 | 返回结果数量限制 |
返回:视频列表 List[Dict],每个元素包含 title(标题)和 bvid(BV 号)
extract_videos_url
根据关键词获取视频的播放地址。
参数:
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| keyword | str | ✅ | — | 视频关键词 |
| limit | int | ❌ | 1 | 最大返回视频数量 |
返回:视频信息列表 List[Dict],每个元素包含 title、bvid、cid、video_url(播放地址)
get_video_summary_tool
根据关键词搜索视频,并使用大语言模型概括视频内容。
参数:
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| keyword | str | ✅ | — | 视频关键词 |
| limit | int | ❌ | 1 | 最大返回视频内容数量 |
返回:概括内容列表 List[str]
配置说明
项目通过 pyproject.toml 集中管理所有配置:
[project]
name = "bilibili_game_review_analyzer"
version = "0.1.0"
description = "B站视频搜索与总结 MCP 服务器"
requires-python = ">=3.10"
dependencies = [
"mcp>=1.0.0",
"bilibili-api-python>=16.0.0",
"python-dotenv>=1.0.0",
"langchain-qwq>=0.1.0",
]
[project.scripts]
bilibili-game-review = "bilibili_game_review_analyzer:main"
开发与测试
运行测试(如有):
uv run pytest
代码格式化与检查(建议使用 ruff):
uv run ruff check .
uv run ruff format .
注意事项
- 请确保环境变量正确配置,否则 LLM 调用将失败。
- B 站 API 存在访问频率限制,高频请求可能触发风控。
- 视频播放地址存在有效期,获取后请及时使用。
免责声明
- 本项目仅供个人学习研究使用,请勿用于商业用途。
- 本项目非 B 站官方产品,与哔哩哔哩公司无任何关联。
- 本项目使用的第三方库 bilibili-api-python 为开源项目,非 B 站官方提供的 API。
- 通过本项目获取的视频内容版权归原作者所有,未经授权不得转载或商用。
- 使用本项目时请严格遵守 B 站用户协议及相关法律法规,使用者需自行承担因使用本项目而产生的一切风险和责任。
- 本项目不对第三方库的合法性、稳定性及安全性做任何担保。
许可证
本项目使用 MIT 许可证,详见 LICENSE 文件。