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],每个元素包含 titlebvidcidvideo_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 文件。

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bilibili_game_review_analyzer-0.1.3.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bilibili_game_review_analyzer-0.1.3-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file bilibili_game_review_analyzer-0.1.3.tar.gz.

File metadata

File hashes

Hashes for bilibili_game_review_analyzer-0.1.3.tar.gz
Algorithm Hash digest
SHA256 ceaf9b69854cc33a1254ac493edf8139e8a5d1605dc63934f245a2a2ae36b396
MD5 e0af9a0593bb33a024601099f73a9551
BLAKE2b-256 a69b8c78e5b8cfb75dd2ece30cfbde213cbe48da26543774bbd2d77a9e220374

See more details on using hashes here.

File details

Details for the file bilibili_game_review_analyzer-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for bilibili_game_review_analyzer-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 06294b1bf93d0329dbfab72984a356c0a7ba1163b04f9e48fe9014b6c2c3ba7d
MD5 32db84c52539efed70256f55db2b9ad7
BLAKE2b-256 a3019d62e78610ba23d1e6bc929166bf8b72e59cb5261ef2f842128f4bf90c19

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page