Skip to main content

Bilibili Game Review Analyzer

基于 FastMCP 框架的 B 站视频分析服务,支持视频搜索、播放地址获取及 AI 内容概括。

功能特性

本项目提供以下三个 MCP 工具:

  1. get_video_results — 根据关键词搜索相关视频,返回视频标题和 BV 号
  2. extract_videos_url — 根据关键词获取视频的播放地址(含 cid)
  3. 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

安装步骤

  1. 克隆项目
git clone <repository-url>
cd bilibili-game-review-analyzer
  1. 使用 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"],
      "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 文件。

Metadata

Release files for bilibili-game-review-analyzer 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bilibili-game-review-analyzer 0.1.3
File Size Uploaded
bilibili_game_review_analyzer-0.1.3.tar.gz 5.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bilibili-game-review-analyzer 0.1.3
File Interpreter ABI Platform
bilibili_game_review_analyzer-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 15.1 kB

Release files / bilibili_game_review_analyzer-0.1.3.tar.gz

Download URL bilibili_game_review_analyzer-0.1.3.tar.gz
Size 5.9 kB
Tags Source
SHA-256 checksum
How to use checksums
ceaf9b69854cc33a1254ac493edf8139e8a5d1605dc63934f245a2a2ae36b396
BLAKE2b-256 checksum
How to use checksums
a69b8c78e5b8cfb75dd2ece30cfbde213cbe48da26543774bbd2d77a9e220374
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release files / bilibili_game_review_analyzer-0.1.3-py3-none-any.whl

Download URL bilibili_game_review_analyzer-0.1.3-py3-none-any.whl
Size 9.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
06294b1bf93d0329dbfab72984a356c0a7ba1163b04f9e48fe9014b6c2c3ba7d
BLAKE2b-256 checksum
How to use checksums
a3019d62e78610ba23d1e6bc929166bf8b72e59cb5261ef2f842128f4bf90c19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page