Bilibili Subtitle Fetch

by Initsnow

7 stars
483 downloads
Not rated
GitHub

About

MCP server for fetching Bilibili video subtitles with language and format options.

Details

Author
Initsnow
GitHub stars
7
Downloads
483
Categories
Automation

- Accepts BV numbers, full video links, and short URLs.
- Configurable preferred subtitle language.
- Output formats: plain text or timestamped.
- Automatic ASR (Whisper) fallback when no subtitle exists.
- Automatic cookie refresh when credentials are provided.
- Copied to clipboard after fetching.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Bilibili Subtitle Fetch
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install the server with uv tool install --python 3.13 bilibili-subtitle-fetch. Run bilibili-subtitle-fetch init to configure your Bilibili cookie, then fetch subtitles with bilibili-subtitle-fetch fetch <BV or URL>. The fetched subtitle is printed to stdout and automatically copied to the clipboard.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "bilibili subtitle fetch": {
            "bilibili-subtitle-fetch": {
                "command": "uvx",
                "args": [
                    "bilibili-subtitle-fetch"
                ]
            }
        }
    }
}

McpServers

{
    "bilibili-subtitle-fetch": {
        "command": "uvx",
        "args": [
            "bilibili-subtitle-fetch"
        ]
    }
}

Bilibili Subtitle Fetch

一个用于获取 Bilibili 视频字幕的 MCP Server,支持语言和输出格式选项。

uv tool install --python 3.13 bilibili-subtitle-fetch

支持以下输入:

- BV 号,例如 BV1fz4y1j7Mf
- 标准视频链接,例如 https://www.bilibili.com/video/BV1fz4y1j7Mf?p=2
- 短链,例如 https://b23.tv/FAm7Xn4

配置

凭据配置文件

首次使用时执行 bilibili-subtitle-fetch init,然后粘贴你的 Bilibili Cookie。

默认配置文件路径:

- Windows: %APPDATA%\bilibili-subtitle-fetch\config.toml
- Linux/macOS: ~/.config/bilibili-subtitle-fetch/config.toml

也可以通过 --config /path/to/config.toml 指定自定义路径。

配置文件会在 [credential] 下保存这些字段:

- sessdata - 访问需要登录态的字幕接口时必需
- bili_jct - 自动刷新时必需
- ac_time_value - 自动刷新时必需
- buvid3buvid4dedeuserid - 可选,但建议一并保存

sessdatabili_jctac_time_value 都存在时,服务会在发起需要登录态的请求前自动检查是否需要刷新 Cookie,并将新值回写到 config.toml,不需要手动执行刷新命令。

ASR 配置 (可选)

配置文件同样支持 [asr] 段落配置默认的音频转写行为:

- enable_asr - 是否开启 ASR 回退 (true/false)。开启后,如果视频未提供自带字幕,程序会自动下载音频并生成字幕。
- model_size - Whisper 模型大小,默认为 base。也可以选用 tinysmall 等。

运行参数

- --preferred-lang - 覆盖默认字幕语言
- --output-format - 覆盖默认输出格式
- --config - 使用自定义配置文件路径

CLI 用法

先执行 bilibili-subtitle-fetch init 配置 Cookie,然后可以直接在终端获取字幕:

bilibili-subtitle-fetch fetch BV1fz4y1j7Mf
bilibili-subtitle-fetch fetch "https://www.bilibili.com/video/BV1fz4y1j7Mf?p=2"

命令会把字幕输出到标准输出,并在成功后自动复制到剪贴板。

可选参数:

- --preferred-lang - 指定优先字幕语言
- --output-format text|timestamped - 指定输出格式
- --no-clipboard - 只输出,不复制到剪贴板
- --asr - 强制启用 ASR 语音识别回退
- --no-asr - 强制关闭 ASR 语音识别回退

获取 Bilibili 凭据

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.