@xzxzzx/bilibili-mcp 1.4.1 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +161 -23
- package/README_EN.md +161 -24
- package/dist/bilibili/http.js +2 -2
- package/dist/bilibili/http.js.map +1 -1
- package/dist/bilibili/subtitle.js +1 -1
- package/dist/bilibili/subtitle.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +63 -9
- package/dist/server.js.map +1 -1
- package/dist/utils/credential-guidance.d.ts +24 -0
- package/dist/utils/credential-guidance.d.ts.map +1 -0
- package/dist/utils/credential-guidance.js +49 -0
- package/dist/utils/credential-guidance.js.map +1 -0
- package/dist/utils/credentials.d.ts +2 -0
- package/dist/utils/credentials.d.ts.map +1 -1
- package/dist/utils/credentials.js +20 -0
- package/dist/utils/credentials.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ Bilibili MCP server — 让 Claude、Cursor、Codex 等 AI 客户端直接读取
|
|
|
9
9
|
🌐 [English Documentation](https://github.com/365903728-oss/bilibili-mcp/blob/master/README_EN.md) · 📜 [更新日志](https://github.com/365903728-oss/bilibili-mcp/blob/master/CHANGELOG.md) · 📦 [npm](https://www.npmjs.com/package/@xzxzzx/bilibili-mcp) · 🚀 [Release v1.4.0](https://github.com/365903728-oss/bilibili-mcp/releases/tag/v1.4.0)
|
|
10
10
|
|
|
11
11
|
> [!TIP]
|
|
12
|
-
> ⚠️
|
|
12
|
+
> ⚠️ 你可以把下方“用 agent 工具帮你安装”的提示词复制给 Codex、Claude Code、Cursor 等 agent,让它帮你完成 MCP 客户端接入和 Cookie 配置引导。为了稳定获取字幕、转录和评论,安装后仍需配置 B 站 Cookie(agent会引导你);不要把 Cookie 写进 MCP 客户端配置。Metadata 可能无需 Cookie。详见 [**凭证配置**](#️-凭证配置)。
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -17,6 +17,29 @@ Bilibili MCP server — 让 Claude、Cursor、Codex 等 AI 客户端直接读取
|
|
|
17
17
|
|
|
18
18
|
选择你正在使用的 AI 客户端,点击后可直接跳转到详细配置方法:
|
|
19
19
|
|
|
20
|
+
### 用 agent 工具帮你安装
|
|
21
|
+
|
|
22
|
+
如果你正在使用 Codex、Claude Code、Cursor、Qoder、Kimi Code、Antigravity、Windsurf、Cline 等带 agent 的工具,可以把下面这段话复制给你的 agent,让它先在本 README 中找到对应客户端的安装方式,再帮你写入 MCP 配置:
|
|
23
|
+
|
|
24
|
+
```text
|
|
25
|
+
请帮我安装 Bilibili MCP server:@xzxzzx/bilibili-mcp。
|
|
26
|
+
|
|
27
|
+
请先阅读这个项目 README 的“快速开始”和“客户端接入方式”章节,找到我当前使用的 agent/客户端对应的 MCP 配置方式,然后按该客户端的官方配置位置添加这个 server。
|
|
28
|
+
|
|
29
|
+
MCP server 配置要求:
|
|
30
|
+
- server 名称:bilibili-mcp
|
|
31
|
+
- command:npx
|
|
32
|
+
- args:["-y", "@xzxzzx/bilibili-mcp"]
|
|
33
|
+
|
|
34
|
+
不要把真实 Bilibili Cookie 写入 MCP 客户端配置文件、客户端配置里的 env 字段、args 或聊天消息中。
|
|
35
|
+
添加 MCP server 后,请继续引导我单独运行下面的命令,把 Cookie 保存到本机凭证配置;MCP server 启动后会自动读取这些凭证:
|
|
36
|
+
|
|
37
|
+
npx -y @xzxzzx/bilibili-mcp config
|
|
38
|
+
npx -y @xzxzzx/bilibili-mcp check
|
|
39
|
+
|
|
40
|
+
连接 MCP server 后,如可用,请调用 get_credential_setup_instructions 或 check_bilibili_credentials,确认我完成 Cookie 配置。
|
|
41
|
+
```
|
|
42
|
+
|
|
20
43
|
- [Codex app / Codex CLI](#codex-app--codex-cli)
|
|
21
44
|
- [Claude Code](#claude-code)
|
|
22
45
|
- [Claude Desktop](#claude-desktop)
|
|
@@ -29,6 +52,8 @@ Bilibili MCP server — 让 Claude、Cursor、Codex 等 AI 客户端直接读取
|
|
|
29
52
|
- [Trae International](#trae-international)
|
|
30
53
|
- [Trae SOLO CN](#trae-solo-cn)
|
|
31
54
|
- [Trae SOLO International](#trae-solo-international)
|
|
55
|
+
- [Qoder IDE / Qoder CLI / QoderWork](#qoder-ide--qoder-cli--qoderwork)
|
|
56
|
+
- [Kimi Code / Kimi Code CLI](#kimi-code--kimi-code-cli)
|
|
32
57
|
- [Antigravity / Antigravity CLI](#antigravity--antigravity-cli)
|
|
33
58
|
- [Pi](#pi)
|
|
34
59
|
- [Oh My Pi](#oh-my-pi)
|
|
@@ -36,7 +61,6 @@ Bilibili MCP server — 让 Claude、Cursor、Codex 等 AI 客户端直接读取
|
|
|
36
61
|
- [DeepSeek-TUI](#deepseek-tui)
|
|
37
62
|
- [Deep Code](#deep-code)
|
|
38
63
|
- [Reasonix](#reasonix)
|
|
39
|
-
- [Langcli](#langcli)
|
|
40
64
|
- [GitHub Copilot CLI](#github-copilot-cli)
|
|
41
65
|
- [Cursor](#cursor)
|
|
42
66
|
- [Cline](#cline)
|
|
@@ -60,7 +84,8 @@ Bilibili MCP server — 让 Claude、Cursor、Codex 等 AI 客户端直接读取
|
|
|
60
84
|
- [2. 评论总结 (`get_video_comments`)](#2-评论总结-get_video_comments)
|
|
61
85
|
- [3. 视频转录 (`get_video_transcript`)](#3-视频转录-get_video_transcript)
|
|
62
86
|
- [4. 视频元数据 (`get_video_metadata`)](#4-视频元数据-get_video_metadata)
|
|
63
|
-
- [5.
|
|
87
|
+
- [5. 凭证助手工具](#5-凭证助手工具)
|
|
88
|
+
- [6. 行为说明与错误处理](#6-行为说明与错误处理)
|
|
64
89
|
- [📋 环境要求](#-环境要求)
|
|
65
90
|
- [🚀 客户端接入方式](#-客户端接入方式)
|
|
66
91
|
- [⚙️ 凭证配置](#️-凭证配置)
|
|
@@ -107,7 +132,12 @@ Bilibili MCP server — 让 Claude、Cursor、Codex 等 AI 客户端直接读取
|
|
|
107
132
|
- 不获取字幕或评论
|
|
108
133
|
- 仅需 `bvid_or_url` 参数
|
|
109
134
|
|
|
110
|
-
### 5.
|
|
135
|
+
### 5. 凭证助手工具
|
|
136
|
+
|
|
137
|
+
- `get_credential_setup_instructions`: 返回安全的 Bilibili Cookie 配置命令和说明。AI agent 安装此 MCP 后可调用此工具引导用户完成配置。
|
|
138
|
+
- `check_bilibili_credentials`: 检查凭证是否已配置并处于登录状态,不返回任何 Cookie 值。配置缺失或失效时返回下一步操作指引。
|
|
139
|
+
|
|
140
|
+
### 6. 行为说明与错误处理
|
|
111
141
|
|
|
112
142
|
- **Cookie 过期智能检测**:当字幕获取为空时自动验证登录状态,区分“无字幕视频”与“凭证失效”,并抛出明确的 `COOKIE_EXPIRED` 错误,避免静默降级。
|
|
113
143
|
|
|
@@ -143,7 +173,26 @@ Bilibili MCP server — 让 Claude、Cursor、Codex 等 AI 客户端直接读取
|
|
|
143
173
|
## 🚀 客户端接入方式
|
|
144
174
|
|
|
145
175
|
> [!NOTE]
|
|
146
|
-
>
|
|
176
|
+
> 不要在 MCP 客户端配置文件中写入真实 Cookie。建议先用 `bilibili-mcp config` 保存到本机凭证配置,或在运行环境中提供环境变量;MCP server 启动后会自动读取这些凭证。详见 [⚙️ 凭证配置](#️-凭证配置)。
|
|
177
|
+
|
|
178
|
+
> [!IMPORTANT]
|
|
179
|
+
> 如果你是正在帮用户安装本 MCP 的 AI agent:不要只写入 MCP 配置就结束。添加 `bilibili-mcp` server 后,必须继续提醒并引导用户完成 Bilibili Cookie 配置。连接 MCP server 后,agent 也可调用 `get_credential_setup_instructions` 或 `check_bilibili_credentials` 工具来引导用户。
|
|
180
|
+
>
|
|
181
|
+
> 推荐引导用户运行:
|
|
182
|
+
>
|
|
183
|
+
> ```bash
|
|
184
|
+
> npx -y @xzxzzx/bilibili-mcp config
|
|
185
|
+
> npx -y @xzxzzx/bilibili-mcp check
|
|
186
|
+
> ```
|
|
187
|
+
>
|
|
188
|
+
> 如果用户已经全局安装,也可以使用:
|
|
189
|
+
>
|
|
190
|
+
> ```bash
|
|
191
|
+
> bilibili-mcp config
|
|
192
|
+
> bilibili-mcp check
|
|
193
|
+
> ```
|
|
194
|
+
>
|
|
195
|
+
> `config` 用于输入 `SESSDATA`、`bili_jct`、`DedeUserID`;`check` 用于确认凭证已加载。不要要求用户把 Cookie 粘贴进 Claude、Cursor、Codex、Qoder、Kimi 或其他 MCP 客户端配置文件。
|
|
147
196
|
|
|
148
197
|
### Codex app / Codex CLI
|
|
149
198
|
|
|
@@ -580,6 +629,112 @@ Trae SOLO International 已存在,官方 FAQ 说明国际版 SOLO 面向 Pro
|
|
|
580
629
|
|
|
581
630
|
如果使用 Trae International 的 UI,打开 AI 对话窗口右上角 Settings → MCP,手动添加同等 `mcpServers` 配置。
|
|
582
631
|
|
|
632
|
+
### Qoder IDE / Qoder CLI / QoderWork
|
|
633
|
+
|
|
634
|
+
Qoder 有多种形态,MCP 入口略有不同:Qoder IDE 在设置页配置,Qoder CLI 用 `qodercli mcp` 命令,QoderWork 桌面端在 MCP Servers 页面添加。
|
|
635
|
+
|
|
636
|
+
#### Qoder IDE
|
|
637
|
+
|
|
638
|
+
打开右上角用户图标 → Qoder Settings → MCP,在 My Servers 中点击 + Add,然后添加本地 STDIO server:
|
|
639
|
+
|
|
640
|
+
```json
|
|
641
|
+
{
|
|
642
|
+
"mcpServers": {
|
|
643
|
+
"bilibili-mcp": {
|
|
644
|
+
"command": "npx",
|
|
645
|
+
"args": ["-y", "@xzxzzx/bilibili-mcp"]
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
Qoder 文档说明 Streamable HTTP 可按 SSE endpoint 方式配置并自动检测;本项目是本地 stdio server,因此使用上面的 `command` / `args` 配置。
|
|
652
|
+
|
|
653
|
+
#### Qoder CLI
|
|
654
|
+
|
|
655
|
+
Qoder CLI 可直接添加 stdio MCP server:
|
|
656
|
+
|
|
657
|
+
```bash
|
|
658
|
+
qodercli mcp add bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp
|
|
659
|
+
```
|
|
660
|
+
|
|
661
|
+
常用检查命令:
|
|
662
|
+
|
|
663
|
+
```bash
|
|
664
|
+
qodercli mcp list
|
|
665
|
+
```
|
|
666
|
+
|
|
667
|
+
如果 Qoder CLI 已经在运行,添加或修改 MCP server 后在会话中执行 `/mcp reload` 重新发现工具。默认 scope 是当前项目本地配置;也可以用 `-s user` 保存到用户级配置,或用 `-s project` 写入项目级 `.mcp.json`。
|
|
668
|
+
|
|
669
|
+
常见配置文件位置:
|
|
670
|
+
|
|
671
|
+
- 用户级:`~/.qoder/settings.json`
|
|
672
|
+
- 当前项目本地:`.qoder/settings.local.json`
|
|
673
|
+
- 项目级共享:`.mcp.json`
|
|
674
|
+
|
|
675
|
+
#### QoderWork
|
|
676
|
+
|
|
677
|
+
打开 QoderWork desktop app → Settings → MCP Servers,点击右上角 + Add。
|
|
678
|
+
|
|
679
|
+
最快方式是选择 Paste JSON Config,并粘贴:
|
|
680
|
+
|
|
681
|
+
```json
|
|
682
|
+
{
|
|
683
|
+
"mcpServers": {
|
|
684
|
+
"bilibili-mcp": {
|
|
685
|
+
"command": "npx",
|
|
686
|
+
"args": ["-y", "@xzxzzx/bilibili-mcp"]
|
|
687
|
+
}
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
```
|
|
691
|
+
|
|
692
|
+
也可以选择 Fill in Config Manually,Server Type 选择 STDIO:
|
|
693
|
+
|
|
694
|
+
- Server Name: `bilibili-mcp`
|
|
695
|
+
- Command: `npx -y @xzxzzx/bilibili-mcp`
|
|
696
|
+
|
|
697
|
+
添加后在 Custom Servers 中确认 server 已启用,并展开查看可用 tools。不要在 Qoder / QoderWork 的 MCP 配置中写真实 Cookie;凭证请使用 `bilibili-mcp config` 或环境变量配置。
|
|
698
|
+
|
|
699
|
+
### Kimi Code / Kimi Code CLI
|
|
700
|
+
|
|
701
|
+
Kimi Code CLI 可作为 MCP client 连接本地 stdio server。当前 Kimi Code 文档推荐把 MCP server 写入 `mcp.json`:
|
|
702
|
+
|
|
703
|
+
- 用户级:`~/.kimi-code/mcp.json`
|
|
704
|
+
- 项目级:`.kimi-code/mcp.json`
|
|
705
|
+
|
|
706
|
+
添加:
|
|
707
|
+
|
|
708
|
+
```json
|
|
709
|
+
{
|
|
710
|
+
"mcpServers": {
|
|
711
|
+
"bilibili-mcp": {
|
|
712
|
+
"command": "npx",
|
|
713
|
+
"args": ["-y", "@xzxzzx/bilibili-mcp"]
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
```
|
|
718
|
+
|
|
719
|
+
项目级 `.kimi-code/mcp.json` 只对当前仓库生效,并会覆盖同名用户级配置。进入 Kimi Code CLI 后,可以用:
|
|
720
|
+
|
|
721
|
+
```text
|
|
722
|
+
/mcp
|
|
723
|
+
/mcp-config
|
|
724
|
+
```
|
|
725
|
+
|
|
726
|
+
`/mcp` 查看连接状态和工具列表,`/mcp-config` 交互式添加、编辑或删除 MCP server。
|
|
727
|
+
|
|
728
|
+
旧版 Kimi CLI 文档也提供过 `kimi mcp add` 命令;如果你使用的安装版本仍支持该命令,可用:
|
|
729
|
+
|
|
730
|
+
```bash
|
|
731
|
+
kimi mcp add bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp
|
|
732
|
+
kimi mcp list
|
|
733
|
+
kimi mcp test bilibili-mcp
|
|
734
|
+
```
|
|
735
|
+
|
|
736
|
+
不要在 Kimi Code 的 `mcp.json`、`env` 或命令参数中写真实 Cookie;凭证请用 `bilibili-mcp config` 或环境变量配置。
|
|
737
|
+
|
|
583
738
|
### Antigravity / Antigravity CLI
|
|
584
739
|
|
|
585
740
|
Gemini CLI 已迁移到 Antigravity CLI。新的 MCP 配置不再写在 `~/.gemini/settings.json`,而是使用独立的 `mcp_config.json`。
|
|
@@ -795,24 +950,6 @@ npx reasonix code --mcp "bilibili=npx -y @xzxzzx/bilibili-mcp"
|
|
|
795
950
|
|
|
796
951
|
Reasonix 的格式是 `name=command arg1 arg2`。如果需要项目级覆盖,可放在项目的 `.reasonix/` 下。
|
|
797
952
|
|
|
798
|
-
### Langcli
|
|
799
|
-
|
|
800
|
-
Langcli 当前官方文档只明确提供内置 Chrome MCP 用法,没有找到可添加任意 stdio MCP server 的 `mcpServers` 或 CLI 配置方式。因此这里暂不提供 `bilibili-mcp` 接入配置,避免误导用户。
|
|
801
|
-
|
|
802
|
-
如果只需要使用 Langcli 的内置 Chrome MCP,可按官方文档启动:
|
|
803
|
-
|
|
804
|
-
```bash
|
|
805
|
-
langcli --chrome
|
|
806
|
-
```
|
|
807
|
-
|
|
808
|
-
然后在 Langcli 中输入:
|
|
809
|
-
|
|
810
|
-
```text
|
|
811
|
-
/mcp
|
|
812
|
-
```
|
|
813
|
-
|
|
814
|
-
在 MCP 面板里管理 `mcp-chrome`。等 Langcli 官方公开任意 MCP server 配置方式后,再补充本项目的 `npx -y @xzxzzx/bilibili-mcp` 接入示例。
|
|
815
|
-
|
|
816
953
|
### GitHub Copilot CLI
|
|
817
954
|
|
|
818
955
|
GitHub Copilot CLI 可在交互模式里使用 `/mcp add` 添加 MCP server。按表单选择 `STDIO` 或 `Local`,然后填入:
|
|
@@ -1185,6 +1322,7 @@ npm run watch
|
|
|
1185
1322
|
|
|
1186
1323
|
1. **初版生成**:由 **Claude Code** (搭载 **GLM-4.7** 模型) 快速搭建核心架构与基础逻辑。
|
|
1187
1324
|
2. **调试与优化**:在 **Antigravity** 环境下,利用 **Claude** 和 **Gemini** 模型进行深度的 Bug 修复与功能增强,确保了字幕提取与评论分析的稳定性。
|
|
1325
|
+
3. **迭代与扩展**:由 **Codex** 进行架构决策与计划分解,**Claude Code** 接入 **DeepSeek** 模型执行实现;目前覆盖 30+ AI 客户端的 MCP 接入配置、6 个 MCP 工具、122 个单元测试。
|
|
1188
1326
|
|
|
1189
1327
|
---
|
|
1190
1328
|
|
package/README_EN.md
CHANGED
|
@@ -9,7 +9,7 @@ MCP server that gives AI clients access to Bilibili video subtitles, transcripts
|
|
|
9
9
|
View in [简体中文](https://github.com/365903728-oss/bilibili-mcp/blob/master/README.md) · 📜 [Changelog](https://github.com/365903728-oss/bilibili-mcp/blob/master/CHANGELOG_EN.md) · 📦 [npm](https://www.npmjs.com/package/@xzxzzx/bilibili-mcp) · 🚀 [Release v1.4.0](https://github.com/365903728-oss/bilibili-mcp/releases/tag/v1.4.0)
|
|
10
10
|
|
|
11
11
|
> [!TIP]
|
|
12
|
-
> ⚠️
|
|
12
|
+
> ⚠️ You can copy the "Install With Your Agent" prompt below to Codex, Claude Code, Cursor, or another agent and let it add this MCP server to your client and guide Cookie setup. For reliable subtitles, transcripts, and comments, you still need to configure Bilibili Cookies after installation; do not write Cookies into MCP client config. Metadata may work without cookies. See [**Credential Configuration**](#-credential-configuration).
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -17,6 +17,29 @@ View in [简体中文](https://github.com/365903728-oss/bilibili-mcp/blob/master
|
|
|
17
17
|
|
|
18
18
|
Choose your AI client and jump directly to the detailed setup instructions:
|
|
19
19
|
|
|
20
|
+
### Install With Your Agent
|
|
21
|
+
|
|
22
|
+
If you use an agent-based tool such as Codex, Claude Code, Cursor, Qoder, Kimi Code, Antigravity, Windsurf, or Cline, copy the prompt below to your agent. Ask it to find the matching client setup section in this README and write the MCP config for that client:
|
|
23
|
+
|
|
24
|
+
```text
|
|
25
|
+
Please help me install the Bilibili MCP server: @xzxzzx/bilibili-mcp.
|
|
26
|
+
|
|
27
|
+
First read this project's README, especially the "Quick Start" and "Client Setup" sections. Find the MCP setup method that matches my current agent/client, then add this server in that client's official configuration location.
|
|
28
|
+
|
|
29
|
+
MCP server config requirements:
|
|
30
|
+
- server name: bilibili-mcp
|
|
31
|
+
- command: npx
|
|
32
|
+
- args: ["-y", "@xzxzzx/bilibili-mcp"]
|
|
33
|
+
|
|
34
|
+
Do not write real Bilibili Cookie values into MCP client config files, client-config env fields, args, or chat messages.
|
|
35
|
+
After adding the MCP server, continue guiding me to run the commands below. They save Cookies to the local credential config; the MCP server will read those credentials automatically when it starts:
|
|
36
|
+
|
|
37
|
+
npx -y @xzxzzx/bilibili-mcp config
|
|
38
|
+
npx -y @xzxzzx/bilibili-mcp check
|
|
39
|
+
|
|
40
|
+
After the MCP server is connected, if available, call get_credential_setup_instructions or check_bilibili_credentials to confirm that I completed Cookie setup.
|
|
41
|
+
```
|
|
42
|
+
|
|
20
43
|
- [Codex app / Codex CLI](#codex-app--codex-cli)
|
|
21
44
|
- [Claude Code](#claude-code)
|
|
22
45
|
- [Claude Desktop](#claude-desktop)
|
|
@@ -29,6 +52,8 @@ Choose your AI client and jump directly to the detailed setup instructions:
|
|
|
29
52
|
- [Trae International](#trae-international)
|
|
30
53
|
- [Trae SOLO CN](#trae-solo-cn)
|
|
31
54
|
- [Trae SOLO International](#trae-solo-international)
|
|
55
|
+
- [Qoder IDE / Qoder CLI / QoderWork](#qoder-ide--qoder-cli--qoderwork)
|
|
56
|
+
- [Kimi Code / Kimi Code CLI](#kimi-code--kimi-code-cli)
|
|
32
57
|
- [Antigravity / Antigravity CLI](#antigravity--antigravity-cli)
|
|
33
58
|
- [Pi](#pi)
|
|
34
59
|
- [Oh My Pi](#oh-my-pi)
|
|
@@ -36,7 +61,6 @@ Choose your AI client and jump directly to the detailed setup instructions:
|
|
|
36
61
|
- [DeepSeek-TUI](#deepseek-tui)
|
|
37
62
|
- [Deep Code](#deep-code)
|
|
38
63
|
- [Reasonix](#reasonix)
|
|
39
|
-
- [Langcli](#langcli)
|
|
40
64
|
- [GitHub Copilot CLI](#github-copilot-cli)
|
|
41
65
|
- [Cursor](#cursor)
|
|
42
66
|
- [Cline](#cline)
|
|
@@ -60,7 +84,8 @@ Choose your AI client and jump directly to the detailed setup instructions:
|
|
|
60
84
|
- [2. Comment Summarization (`get_video_comments`)](#2-comment-summarization-get_video_comments)
|
|
61
85
|
- [3. Video Transcript (`get_video_transcript`)](#3-video-transcript-get_video_transcript)
|
|
62
86
|
- [4. Video Metadata (`get_video_metadata`)](#4-video-metadata-get_video_metadata)
|
|
63
|
-
- [5.
|
|
87
|
+
- [5. Credential Helper Tools](#5-credential-helper-tools)
|
|
88
|
+
- [6. Behavior and Error Handling](#6-behavior-and-error-handling)
|
|
64
89
|
- [📋 Requirements](#-requirements)
|
|
65
90
|
- [🚀 Client Setup](#-client-setup)
|
|
66
91
|
- [⚙️ Credential Configuration](#-credential-configuration)
|
|
@@ -107,7 +132,12 @@ Choose your AI client and jump directly to the detailed setup instructions:
|
|
|
107
132
|
- Does not fetch subtitles or comments.
|
|
108
133
|
- Only requires the `bvid_or_url` parameter.
|
|
109
134
|
|
|
110
|
-
### 5.
|
|
135
|
+
### 5. Credential Helper Tools
|
|
136
|
+
|
|
137
|
+
- `get_credential_setup_instructions`: Returns safe setup commands for Bilibili Cookie configuration. AI agents installing this MCP can call this tool to guide users through setup.
|
|
138
|
+
- `check_bilibili_credentials`: Checks whether credentials are configured and logged in without returning Cookie values. Returns next steps when credentials are missing or invalid.
|
|
139
|
+
|
|
140
|
+
### 6. Behavior and Error Handling
|
|
111
141
|
|
|
112
142
|
- **Intelligent Cookie Expiration Detection**: Automatically verifies login status when subtitles are empty, distinguishing between "videos without subtitles" and "invalid credentials," and throwing a clear `COOKIE_EXPIRED` error to prevent silent degradation.
|
|
113
143
|
|
|
@@ -143,7 +173,26 @@ Choose your AI client and jump directly to the detailed setup instructions:
|
|
|
143
173
|
## 🚀 Client Setup
|
|
144
174
|
|
|
145
175
|
> [!NOTE]
|
|
146
|
-
> Do not write real Cookie values in client config files. Prefer `bilibili-mcp config` or environment variables. See [⚙️ Credential Configuration](#-credential-configuration).
|
|
176
|
+
> Do not write real Cookie values in MCP client config files. Prefer `bilibili-mcp config` to save credentials to the local credential config, or provide environment variables in the runtime environment; the MCP server will read those credentials automatically when it starts. See [⚙️ Credential Configuration](#-credential-configuration).
|
|
177
|
+
|
|
178
|
+
> [!IMPORTANT]
|
|
179
|
+
> If you are an AI agent installing this MCP for a user: do not stop after writing the MCP client config. After adding the `bilibili-mcp` server, you must remind and guide the user to configure Bilibili Cookies separately. After connecting the MCP server, agents can also call `get_credential_setup_instructions` or `check_bilibili_credentials` to guide the user.
|
|
180
|
+
>
|
|
181
|
+
> Recommended commands:
|
|
182
|
+
>
|
|
183
|
+
> ```bash
|
|
184
|
+
> npx -y @xzxzzx/bilibili-mcp config
|
|
185
|
+
> npx -y @xzxzzx/bilibili-mcp check
|
|
186
|
+
> ```
|
|
187
|
+
>
|
|
188
|
+
> If the package is already installed globally, use:
|
|
189
|
+
>
|
|
190
|
+
> ```bash
|
|
191
|
+
> bilibili-mcp config
|
|
192
|
+
> bilibili-mcp check
|
|
193
|
+
> ```
|
|
194
|
+
>
|
|
195
|
+
> `config` collects `SESSDATA`, `bili_jct`, and `DedeUserID`; `check` verifies that credentials can be loaded. Do not ask users to paste Cookie values into Claude, Cursor, Codex, Qoder, Kimi, or any other MCP client configuration file.
|
|
147
196
|
|
|
148
197
|
### Codex app / Codex CLI
|
|
149
198
|
|
|
@@ -419,6 +468,112 @@ Project-level config also uses `.trae/mcp.json`:
|
|
|
419
468
|
|
|
420
469
|
If using the Trae International UI, open Settings → MCP from the top-right of the AI chat window and add the same `mcpServers` configuration manually.
|
|
421
470
|
|
|
471
|
+
### Qoder IDE / Qoder CLI / QoderWork
|
|
472
|
+
|
|
473
|
+
Qoder has multiple surfaces, and each uses a slightly different MCP entry point: Qoder IDE configures MCP from settings, Qoder CLI uses `qodercli mcp`, and QoderWork adds servers from its MCP Servers page.
|
|
474
|
+
|
|
475
|
+
#### Qoder IDE
|
|
476
|
+
|
|
477
|
+
Open the top-right user icon → Qoder Settings → MCP. On the My Servers tab, click + Add, then add this local STDIO server:
|
|
478
|
+
|
|
479
|
+
```json
|
|
480
|
+
{
|
|
481
|
+
"mcpServers": {
|
|
482
|
+
"bilibili-mcp": {
|
|
483
|
+
"command": "npx",
|
|
484
|
+
"args": ["-y", "@xzxzzx/bilibili-mcp"]
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
Qoder documents that Streamable HTTP can be configured like an SSE endpoint and auto-detected. This project is a local stdio server, so use the `command` / `args` setup above.
|
|
491
|
+
|
|
492
|
+
#### Qoder CLI
|
|
493
|
+
|
|
494
|
+
Qoder CLI can add this stdio MCP server directly:
|
|
495
|
+
|
|
496
|
+
```bash
|
|
497
|
+
qodercli mcp add bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
Useful check:
|
|
501
|
+
|
|
502
|
+
```bash
|
|
503
|
+
qodercli mcp list
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
If Qoder CLI is already running, run `/mcp reload` in the session after adding or changing an MCP server. The default scope is local to the current project; use `-s user` for user-level config or `-s project` for project-level `.mcp.json`.
|
|
507
|
+
|
|
508
|
+
Common config files:
|
|
509
|
+
|
|
510
|
+
- User level: `~/.qoder/settings.json`
|
|
511
|
+
- Local project-specific: `.qoder/settings.local.json`
|
|
512
|
+
- Project-level shared: `.mcp.json`
|
|
513
|
+
|
|
514
|
+
#### QoderWork
|
|
515
|
+
|
|
516
|
+
Open QoderWork desktop app → Settings → MCP Servers, then click + Add.
|
|
517
|
+
|
|
518
|
+
The fastest path is Paste JSON Config:
|
|
519
|
+
|
|
520
|
+
```json
|
|
521
|
+
{
|
|
522
|
+
"mcpServers": {
|
|
523
|
+
"bilibili-mcp": {
|
|
524
|
+
"command": "npx",
|
|
525
|
+
"args": ["-y", "@xzxzzx/bilibili-mcp"]
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
You can also choose Fill in Config Manually, set Server Type to STDIO, and enter:
|
|
532
|
+
|
|
533
|
+
- Server Name: `bilibili-mcp`
|
|
534
|
+
- Command: `npx -y @xzxzzx/bilibili-mcp`
|
|
535
|
+
|
|
536
|
+
After adding it, confirm the server is enabled under Custom Servers and expand it to inspect available tools. Do not write real Cookie values in Qoder / QoderWork MCP config; configure credentials with `bilibili-mcp config` or environment variables.
|
|
537
|
+
|
|
538
|
+
### Kimi Code / Kimi Code CLI
|
|
539
|
+
|
|
540
|
+
Kimi Code CLI can act as an MCP client for local stdio servers. Current Kimi Code docs recommend declaring MCP servers in `mcp.json`:
|
|
541
|
+
|
|
542
|
+
- User level: `~/.kimi-code/mcp.json`
|
|
543
|
+
- Project level: `.kimi-code/mcp.json`
|
|
544
|
+
|
|
545
|
+
Add:
|
|
546
|
+
|
|
547
|
+
```json
|
|
548
|
+
{
|
|
549
|
+
"mcpServers": {
|
|
550
|
+
"bilibili-mcp": {
|
|
551
|
+
"command": "npx",
|
|
552
|
+
"args": ["-y", "@xzxzzx/bilibili-mcp"]
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
```
|
|
557
|
+
|
|
558
|
+
Project-level `.kimi-code/mcp.json` applies only to the current repository and overrides a same-named user-level server. Inside Kimi Code CLI, use:
|
|
559
|
+
|
|
560
|
+
```text
|
|
561
|
+
/mcp
|
|
562
|
+
/mcp-config
|
|
563
|
+
```
|
|
564
|
+
|
|
565
|
+
`/mcp` shows server connection status and tools. `/mcp-config` opens the interactive MCP server manager for adding, editing, or deleting servers.
|
|
566
|
+
|
|
567
|
+
Legacy Kimi CLI docs also documented `kimi mcp add`; if your installed version still supports it, you can use:
|
|
568
|
+
|
|
569
|
+
```bash
|
|
570
|
+
kimi mcp add bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp
|
|
571
|
+
kimi mcp list
|
|
572
|
+
kimi mcp test bilibili-mcp
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
Do not write real Cookie values in Kimi Code `mcp.json`, `env`, or command arguments. Configure credentials with `bilibili-mcp config` or environment variables.
|
|
576
|
+
|
|
422
577
|
### Antigravity / Antigravity CLI
|
|
423
578
|
|
|
424
579
|
Gemini CLI has migrated to Antigravity CLI. New MCP setup no longer lives in `~/.gemini/settings.json`; Antigravity uses a standalone `mcp_config.json`.
|
|
@@ -634,24 +789,6 @@ Add an entry to the `mcp` array:
|
|
|
634
789
|
|
|
635
790
|
Reasonix uses `name=command arg1 arg2` strings. Project-level overrides live under `.reasonix/`.
|
|
636
791
|
|
|
637
|
-
### Langcli
|
|
638
|
-
|
|
639
|
-
Langcli's current official documentation only clearly documents its built-in Chrome MCP flow. I did not find a reliable `mcpServers` or CLI configuration path for adding arbitrary stdio MCP servers, so this README does not present `bilibili-mcp` as a supported Langcli setup yet.
|
|
640
|
-
|
|
641
|
-
If you only need Langcli's built-in Chrome MCP, start it with:
|
|
642
|
-
|
|
643
|
-
```bash
|
|
644
|
-
langcli --chrome
|
|
645
|
-
```
|
|
646
|
-
|
|
647
|
-
Then run this inside Langcli:
|
|
648
|
-
|
|
649
|
-
```text
|
|
650
|
-
/mcp
|
|
651
|
-
```
|
|
652
|
-
|
|
653
|
-
Use the MCP panel to manage `mcp-chrome`. Once Langcli documents a generic MCP server configuration path, add `npx -y @xzxzzx/bilibili-mcp` there.
|
|
654
|
-
|
|
655
792
|
### GitHub Copilot CLI
|
|
656
793
|
|
|
657
794
|
In GitHub Copilot CLI interactive mode, use `/mcp add`. Choose `STDIO` or `Local`, then fill in:
|
|
@@ -1173,7 +1310,7 @@ This project is a crystal of AI-collaborative development, spanning from prototy
|
|
|
1173
1310
|
|
|
1174
1311
|
1. **Initial Generation**: Core architecture and base logic were rapidly built by **Claude Code** (powered by **GLM-4.7** model).
|
|
1175
1312
|
2. **Debugging & Optimization**: Bugs were fixed and features enhanced using **Claude** and **Gemini** models within the **Antigravity** environment, ensuring stable subtitle extraction and comment analysis.
|
|
1176
|
-
3. **
|
|
1313
|
+
3. **Iteration & Expansion**: **Codex** handles architectural decisions and planning, while **Claude Code** with **DeepSeek** executes implementation; now covers 30+ AI client MCP configurations, 6 MCP tools, and 122 unit tests.
|
|
1177
1314
|
|
|
1178
1315
|
---
|
|
1179
1316
|
|
package/dist/bilibili/http.js
CHANGED
|
@@ -155,7 +155,7 @@ export async function fetchWithWBI(path, params, additionalHeaders = {}) {
|
|
|
155
155
|
console.error("❌ 检测到 Bilibili Cookie 已过期或失效 (-101):", {
|
|
156
156
|
url: url.toString(),
|
|
157
157
|
});
|
|
158
|
-
throw new BilibiliAPIError("
|
|
158
|
+
throw new BilibiliAPIError("Current Bilibili credentials are expired or not logged in. Run \"npx -y @xzxzzx/bilibili-mcp config\", then \"npx -y @xzxzzx/bilibili-mcp check\", or update environment variables.", "COOKIE_EXPIRED", undefined, { code: data.code });
|
|
159
159
|
}
|
|
160
160
|
if (data.code === -404 && data.message === "啥都木有") {
|
|
161
161
|
console.error("❌ 评论API返回错误:", {
|
|
@@ -237,7 +237,7 @@ export async function fetchWithoutWBI(path, params, additionalHeaders = {}) {
|
|
|
237
237
|
console.error("❌ 检测到 Bilibili Cookie 已过期或失效 (-101):", {
|
|
238
238
|
url: url.toString(),
|
|
239
239
|
});
|
|
240
|
-
throw new BilibiliAPIError("
|
|
240
|
+
throw new BilibiliAPIError("Current Bilibili credentials are expired or not logged in. Run \"npx -y @xzxzzx/bilibili-mcp config\", then \"npx -y @xzxzzx/bilibili-mcp check\", or update environment variables.", "COOKIE_EXPIRED", undefined, { code: data.code });
|
|
241
241
|
}
|
|
242
242
|
if (data.code === -404 && data.message === "啥都木有") {
|
|
243
243
|
throw new CommentsDisabledError("该视频的评论功能已被禁用或限制访问");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/bilibili/http.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/bilibili/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -183,7 +183,7 @@ export async function getVideoInfoWithSubtitle(bvidOrUrl, preferredLang) {
|
|
|
183
183
|
console.error(`No subtitles for video ${bvid}. Verifying login status...`);
|
|
184
184
|
const { isLogin } = await checkLoginStatus();
|
|
185
185
|
if (!isLogin) {
|
|
186
|
-
throw new BilibiliAPIError(
|
|
186
|
+
throw new BilibiliAPIError(`Video ${bvid} returned an empty subtitle list and current Bilibili credentials are not logged in. Run "npx -y @xzxzzx/bilibili-mcp config", then "npx -y @xzxzzx/bilibili-mcp check", or update environment variables.`, 'COOKIE_EXPIRED', undefined, { code: -101, bvid });
|
|
187
187
|
}
|
|
188
188
|
// 已登录但视频本身无字幕,使用简介降级
|
|
189
189
|
console.error(`No subtitles available for video ${bvid} (logged in, video has no subtitles)`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subtitle.js","sourceRoot":"","sources":["../../src/bilibili/subtitle.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"subtitle.js","sourceRoot":"","sources":["../../src/bilibili/subtitle.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AA2BnE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUlB,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -8,6 +8,8 @@ import { getPreferredLanguage } from "./config.js";
|
|
|
8
8
|
import { validateBVInput, validateLanguage, validateDetailLevel, validateCommentLimit, validateCommentSort, } from "./utils/validation.js";
|
|
9
9
|
import { sanitizeBVInput } from "./utils/sanitization.js";
|
|
10
10
|
import { BilibiliAPIError, NoSubtitleError } from "./utils/errors.js";
|
|
11
|
+
import { buildCredentialSetupInstructions, buildCredentialStatus, buildCredentialNextSteps, } from "./utils/credential-guidance.js";
|
|
12
|
+
import { checkLoginStatus } from "./bilibili/http.js";
|
|
11
13
|
// 创建 MCP 服务器实例
|
|
12
14
|
export const server = new Server({
|
|
13
15
|
name: "bilibili-mcp-server",
|
|
@@ -21,9 +23,27 @@ export const server = new Server({
|
|
|
21
23
|
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
22
24
|
return {
|
|
23
25
|
tools: [
|
|
26
|
+
{
|
|
27
|
+
name: "get_credential_setup_instructions",
|
|
28
|
+
description: "Return safe Bilibili Cookie setup instructions for users or installing agents. Call this after installing the MCP server if credentials are not configured. Never returns Cookie values.",
|
|
29
|
+
inputSchema: {
|
|
30
|
+
type: "object",
|
|
31
|
+
properties: {},
|
|
32
|
+
required: [],
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: "check_bilibili_credentials",
|
|
37
|
+
description: "Check whether Bilibili credentials are configured and logged in without exposing Cookie values. If missing or invalid, returns next_steps for setup.",
|
|
38
|
+
inputSchema: {
|
|
39
|
+
type: "object",
|
|
40
|
+
properties: {},
|
|
41
|
+
required: [],
|
|
42
|
+
},
|
|
43
|
+
},
|
|
24
44
|
{
|
|
25
45
|
name: "get_video_info",
|
|
26
|
-
description: "获取 Bilibili 视频信息,优先返回字幕内容,如无字幕则返回视频简介和标签。支持指定偏好语言。",
|
|
46
|
+
description: "获取 Bilibili 视频信息,优先返回字幕内容,如无字幕则返回视频简介和标签。支持指定偏好语言。For credential help, call get_credential_setup_instructions.",
|
|
27
47
|
inputSchema: {
|
|
28
48
|
type: "object",
|
|
29
49
|
properties: {
|
|
@@ -41,7 +61,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
41
61
|
},
|
|
42
62
|
{
|
|
43
63
|
name: "get_video_comments",
|
|
44
|
-
description: "获取 Bilibili 视频热门评论。过滤表情占位符,优先保留包含时间戳的评论(如 '05:20')。支持 brief(10条)和 detailed(20条+回复)两种模式。",
|
|
64
|
+
description: "获取 Bilibili 视频热门评论。过滤表情占位符,优先保留包含时间戳的评论(如 '05:20')。支持 brief(10条)和 detailed(20条+回复)两种模式。For credential help, call get_credential_setup_instructions.",
|
|
45
65
|
inputSchema: {
|
|
46
66
|
type: "object",
|
|
47
67
|
properties: {
|
|
@@ -73,7 +93,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
73
93
|
},
|
|
74
94
|
{
|
|
75
95
|
name: "get_video_transcript",
|
|
76
|
-
description: "获取 Bilibili 视频纯字幕文本(按行合并)。不自动降级到描述;仅在 fallback_to_description 为 true 且字幕不可用时返回视频描述。",
|
|
96
|
+
description: "获取 Bilibili 视频纯字幕文本(按行合并)。不自动降级到描述;仅在 fallback_to_description 为 true 且字幕不可用时返回视频描述。Requires Bilibili Cookie for reliable subtitle access. If unavailable, call get_credential_setup_instructions.",
|
|
77
97
|
inputSchema: {
|
|
78
98
|
type: "object",
|
|
79
99
|
properties: {
|
|
@@ -115,6 +135,27 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
115
135
|
const { name, arguments: args } = request.params;
|
|
116
136
|
try {
|
|
117
137
|
switch (name) {
|
|
138
|
+
case "get_credential_setup_instructions": {
|
|
139
|
+
return {
|
|
140
|
+
content: [
|
|
141
|
+
{
|
|
142
|
+
type: "text",
|
|
143
|
+
text: JSON.stringify(buildCredentialSetupInstructions(), null, 2),
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
case "check_bilibili_credentials": {
|
|
149
|
+
const result = await buildCredentialStatus(checkLoginStatus);
|
|
150
|
+
return {
|
|
151
|
+
content: [
|
|
152
|
+
{
|
|
153
|
+
type: "text",
|
|
154
|
+
text: JSON.stringify(result, null, 2),
|
|
155
|
+
},
|
|
156
|
+
],
|
|
157
|
+
};
|
|
158
|
+
}
|
|
118
159
|
case "get_video_info": {
|
|
119
160
|
const bvidOrUrl = args?.bvid_or_url;
|
|
120
161
|
const preferredLang = args?.preferred_lang;
|
|
@@ -239,7 +280,12 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
239
280
|
text: JSON.stringify({
|
|
240
281
|
error: true,
|
|
241
282
|
message: error.message,
|
|
242
|
-
code: "SUBTITLE_UNAVAILABLE"
|
|
283
|
+
code: "SUBTITLE_UNAVAILABLE",
|
|
284
|
+
next_steps: [
|
|
285
|
+
"If you expected subtitles, configure Bilibili Cookies.",
|
|
286
|
+
...buildCredentialNextSteps(),
|
|
287
|
+
"Or retry get_video_transcript with fallback_to_description: true if description fallback is acceptable.",
|
|
288
|
+
],
|
|
243
289
|
}, null, 2)
|
|
244
290
|
}],
|
|
245
291
|
isError: true
|
|
@@ -252,7 +298,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
252
298
|
text: JSON.stringify({
|
|
253
299
|
error: true,
|
|
254
300
|
message: error.message,
|
|
255
|
-
code: "COOKIE_EXPIRED"
|
|
301
|
+
code: "COOKIE_EXPIRED",
|
|
302
|
+
next_steps: buildCredentialNextSteps(),
|
|
256
303
|
}, null, 2)
|
|
257
304
|
}],
|
|
258
305
|
isError: true
|
|
@@ -297,14 +344,21 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
297
344
|
}
|
|
298
345
|
catch (error) {
|
|
299
346
|
console.error(`Error processing tool ${name}:`, error);
|
|
347
|
+
const payload = {
|
|
348
|
+
error: true,
|
|
349
|
+
message: error instanceof Error ? error.message : "Unknown error",
|
|
350
|
+
};
|
|
351
|
+
if (error instanceof BilibiliAPIError) {
|
|
352
|
+
payload.code = error.code;
|
|
353
|
+
if (error.code === "COOKIE_EXPIRED") {
|
|
354
|
+
payload.next_steps = buildCredentialNextSteps();
|
|
355
|
+
}
|
|
356
|
+
}
|
|
300
357
|
return {
|
|
301
358
|
content: [
|
|
302
359
|
{
|
|
303
360
|
type: "text",
|
|
304
|
-
text: JSON.stringify(
|
|
305
|
-
error: true,
|
|
306
|
-
message: error instanceof Error ? error.message : "Unknown error",
|
|
307
|
-
}, null, 2),
|
|
361
|
+
text: JSON.stringify(payload, null, 2),
|
|
308
362
|
},
|
|
309
363
|
],
|
|
310
364
|
isError: true,
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,YAAY;AACZ,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAmB,MAAM,aAAa,CAAC;AACpE,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type CredentialSource } from "./credentials.js";
|
|
2
|
+
export type { CredentialSource };
|
|
3
|
+
export interface CredentialSetupInstructions {
|
|
4
|
+
title: "Bilibili credential setup";
|
|
5
|
+
summary: string;
|
|
6
|
+
recommended_commands: string[];
|
|
7
|
+
global_install_commands: string[];
|
|
8
|
+
required_cookie_fields: ["SESSDATA", "bili_jct", "DedeUserID"];
|
|
9
|
+
security_notes: string[];
|
|
10
|
+
}
|
|
11
|
+
export interface CredentialStatus {
|
|
12
|
+
configured: boolean;
|
|
13
|
+
source: CredentialSource;
|
|
14
|
+
logged_in: boolean;
|
|
15
|
+
next_steps: string[];
|
|
16
|
+
security_notes: string[];
|
|
17
|
+
}
|
|
18
|
+
export declare function buildCredentialSetupInstructions(): CredentialSetupInstructions;
|
|
19
|
+
export declare function buildCredentialNextSteps(): string[];
|
|
20
|
+
export declare function hasSecretLikeValue(value: string): boolean;
|
|
21
|
+
export declare function buildCredentialStatus(checkLoginStatus: () => Promise<{
|
|
22
|
+
isLogin: boolean;
|
|
23
|
+
}>): Promise<CredentialStatus>;
|
|
24
|
+
//# sourceMappingURL=credential-guidance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-guidance.d.ts","sourceRoot":"","sources":["../../src/utils/credential-guidance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,2BAA2B,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,sBAAsB,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAC/D,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,wBAAgB,gCAAgC,IAAI,2BAA2B,CAoB9E;AAED,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAMnD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED,wBAAsB,qBAAqB,CACzC,gBAAgB,EAAE,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,GACpD,OAAO,CAAC,gBAAgB,CAAC,CAiB3B"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { credentialManager } from "./credentials.js";
|
|
2
|
+
export function buildCredentialSetupInstructions() {
|
|
3
|
+
return {
|
|
4
|
+
title: "Bilibili credential setup",
|
|
5
|
+
summary: "For reliable Bilibili subtitles, transcripts, and comments, configure Cookies outside the MCP client config.",
|
|
6
|
+
recommended_commands: [
|
|
7
|
+
"npx -y @xzxzzx/bilibili-mcp config",
|
|
8
|
+
"npx -y @xzxzzx/bilibili-mcp check",
|
|
9
|
+
],
|
|
10
|
+
global_install_commands: [
|
|
11
|
+
"bilibili-mcp config",
|
|
12
|
+
"bilibili-mcp check",
|
|
13
|
+
],
|
|
14
|
+
required_cookie_fields: ["SESSDATA", "bili_jct", "DedeUserID"],
|
|
15
|
+
security_notes: [
|
|
16
|
+
"Do not paste Cookie values into MCP client config files.",
|
|
17
|
+
"Do not share Cookie values in chats, issues, PRs, logs, or tests.",
|
|
18
|
+
"Use the CLI helper, environment variables, or local deployment secrets.",
|
|
19
|
+
],
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export function buildCredentialNextSteps() {
|
|
23
|
+
return [
|
|
24
|
+
"Run: npx -y @xzxzzx/bilibili-mcp config",
|
|
25
|
+
"Then run: npx -y @xzxzzx/bilibili-mcp check",
|
|
26
|
+
"Do not paste Cookie values into MCP client config files.",
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
export function hasSecretLikeValue(value) {
|
|
30
|
+
return /SESSDATA=|bili_jct=|DedeUserID=|BILIBILI_SESSDATA=|BILIBILI_BILI_JCT=|BILIBILI_DEDEUSERID=/i.test(value);
|
|
31
|
+
}
|
|
32
|
+
export async function buildCredentialStatus(checkLoginStatus) {
|
|
33
|
+
const source = credentialManager.getCredentialSource();
|
|
34
|
+
const configured = source !== "none";
|
|
35
|
+
const logged_in = configured
|
|
36
|
+
? (await checkLoginStatus()).isLogin
|
|
37
|
+
: false;
|
|
38
|
+
return {
|
|
39
|
+
configured,
|
|
40
|
+
source,
|
|
41
|
+
logged_in,
|
|
42
|
+
next_steps: configured && logged_in ? [] : buildCredentialNextSteps(),
|
|
43
|
+
security_notes: [
|
|
44
|
+
"This response never includes raw Cookie values.",
|
|
45
|
+
"Configure credentials outside MCP client config files.",
|
|
46
|
+
],
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=credential-guidance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-guidance.js","sourceRoot":"","sources":["../../src/utils/credential-guidance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAyB,MAAM,kBAAkB,CAAC;AAqB5E,MAAM,UAAU,gCAAgC;IAC9C,OAAO;QACL,KAAK,EAAE,2BAA2B;QAClC,OAAO,EACL,8GAA8G;QAChH,oBAAoB,EAAE;YACpB,oCAAoC;YACpC,mCAAmC;SACpC;QACD,uBAAuB,EAAE;YACvB,qBAAqB;YACrB,oBAAoB;SACrB;QACD,sBAAsB,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC;QAC9D,cAAc,EAAE;YACd,0DAA0D;YAC1D,mEAAmE;YACnE,yEAAyE;SAC1E;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL,yCAAyC;QACzC,6CAA6C;QAC7C,0DAA0D;KAC3D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,6FAA6F,CAAC,IAAI,CACvG,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,gBAAqD;IAErD,MAAM,MAAM,GAAG,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;IACvD,MAAM,UAAU,GAAG,MAAM,KAAK,MAAM,CAAC;IACrC,MAAM,SAAS,GAAG,UAAU;QAC1B,CAAC,CAAC,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC,OAAO;QACpC,CAAC,CAAC,KAAK,CAAC;IAEV,OAAO;QACL,UAAU;QACV,MAAM;QACN,SAAS;QACT,UAAU,EAAE,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,EAAE;QACrE,cAAc,EAAE;YACd,iDAAiD;YACjD,wDAAwD;SACzD;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* 凭证管理模块
|
|
3
3
|
* 用于安全地存储和管理用户的登录凭证
|
|
4
4
|
*/
|
|
5
|
+
export type CredentialSource = "env" | "global_config" | "none";
|
|
5
6
|
export interface BilibiliCredentials {
|
|
6
7
|
sessdata: string;
|
|
7
8
|
bili_jct: string;
|
|
@@ -48,6 +49,7 @@ export declare class CredentialManager {
|
|
|
48
49
|
* 刷新凭证过期时间
|
|
49
50
|
*/
|
|
50
51
|
refreshExpiration(): void;
|
|
52
|
+
getCredentialSource(): CredentialSource;
|
|
51
53
|
/**
|
|
52
54
|
* 清除凭证
|
|
53
55
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/utils/credentials.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,4CAA4C;AAC5C,eAAO,MAAM,iBAAiB,QAA2C,CAAC;AAC1E,eAAO,MAAM,kBAAkB,QAA8C,CAAC;AAE9E,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAC3C,OAAO,CAAC,WAAW,CAAoC;IAEvD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,iBAAiB;IAOvC;;OAEG;IACH,WAAW,IAAI,mBAAmB,GAAG,IAAI;IAmBzC;;OAEG;IACH,YAAY,IAAI,mBAAmB,GAAG,IAAI;IAiB1C;;OAEG;IACH,UAAU,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI;IAWlD;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI;IAItD;;OAEG;IACH,cAAc,IAAI,mBAAmB,GAAG,IAAI;IAsB5C;;OAEG;IACH,SAAS,IAAI,OAAO;IAOpB;;OAEG;IACH,cAAc,IAAI,OAAO;IAQzB;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAMzB;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAIxB;;OAEG;IACH,UAAU,IAAI,OAAO;IAKrB;;OAEG;IACH,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAUzC;AAED,eAAO,MAAM,iBAAiB,mBAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/utils/credentials.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,eAAe,GAAG,MAAM,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,4CAA4C;AAC5C,eAAO,MAAM,iBAAiB,QAA2C,CAAC;AAC1E,eAAO,MAAM,kBAAkB,QAA8C,CAAC;AAE9E,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAC3C,OAAO,CAAC,WAAW,CAAoC;IAEvD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,iBAAiB;IAOvC;;OAEG;IACH,WAAW,IAAI,mBAAmB,GAAG,IAAI;IAmBzC;;OAEG;IACH,YAAY,IAAI,mBAAmB,GAAG,IAAI;IAiB1C;;OAEG;IACH,UAAU,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI;IAWlD;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI;IAItD;;OAEG;IACH,cAAc,IAAI,mBAAmB,GAAG,IAAI;IAsB5C;;OAEG;IACH,SAAS,IAAI,OAAO;IAOpB;;OAEG;IACH,cAAc,IAAI,OAAO;IAQzB;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAMzB,mBAAmB,IAAI,gBAAgB;IAwBvC;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAIxB;;OAEG;IACH,UAAU,IAAI,OAAO;IAKrB;;OAEG;IACH,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAUzC;AAED,eAAO,MAAM,iBAAiB,mBAAkC,CAAC"}
|
|
@@ -118,6 +118,26 @@ export class CredentialManager {
|
|
|
118
118
|
this.credentials.expiresAt = Date.now() + 30 * 24 * 60 * 60 * 1000;
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
|
+
getCredentialSource() {
|
|
122
|
+
if (process.env.BILIBILI_SESSDATA &&
|
|
123
|
+
process.env.BILIBILI_BILI_JCT &&
|
|
124
|
+
process.env.BILIBILI_DEDEUSERID) {
|
|
125
|
+
return "env";
|
|
126
|
+
}
|
|
127
|
+
if (fs.existsSync(GLOBAL_CONFIG_FILE)) {
|
|
128
|
+
try {
|
|
129
|
+
const raw = fs.readFileSync(GLOBAL_CONFIG_FILE, "utf-8");
|
|
130
|
+
const parsed = JSON.parse(raw);
|
|
131
|
+
if (parsed.sessdata && parsed.bili_jct && parsed.dedeuserid) {
|
|
132
|
+
return "global_config";
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
return "none";
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return "none";
|
|
140
|
+
}
|
|
121
141
|
/**
|
|
122
142
|
* 清除凭证
|
|
123
143
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/utils/credentials.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/utils/credentials.ts"],"names":[],"mappings":"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"}
|