@xzxzzx/bilibili-mcp 1.1.12 → 1.3.0
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 +263 -246
- package/README_EN.md +241 -246
- package/dist/cli.js +13 -10
- package/dist/cli.js.map +1 -1
- package/dist/utils/credentials.d.ts +12 -1
- package/dist/utils/credentials.d.ts.map +1 -1
- package/dist/utils/credentials.js +42 -4
- package/dist/utils/credentials.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,68 +1,122 @@
|
|
|
1
1
|
# Bilibili MCP Tool
|
|
2
|
-
用claude code(glm4.7模型)做的总结B站视频的MCP
|
|
3
2
|
|
|
4
|
-
[
|
|
3
|
+
[](https://www.npmjs.com/package/@xzxzzx/bilibili-mcp)
|
|
4
|
+
[](https://www.gnu.org/licenses/gpl-3.0)
|
|
5
|
+
[](https://www.npmjs.com/package/@xzxzzx/bilibili-mcp)
|
|
5
6
|
|
|
6
|
-
MCP
|
|
7
|
+
用claude code(glm4.7模型)做的总结B站视频的MCP(经过antigravity里的claude,gemini模型修改bug)(提取字幕与评论)
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
> [!TIP]
|
|
10
|
+
> ⚠️ **快速开始**:使用前请务必配置您的 B 站 Cookie,否则将无法提取视频字幕与评论。详见 [**⚙️ 凭证配置**](#️-凭证配置)。
|
|
9
11
|
|
|
12
|
+
View this document in [English](./README_EN.md).
|
|
10
13
|
|
|
11
14
|
---
|
|
12
15
|
|
|
13
|
-
##
|
|
16
|
+
## 📑 目录
|
|
17
|
+
|
|
18
|
+
- [Bilibili MCP Tool](#bilibili-mcp-tool)
|
|
19
|
+
- [📑 目录](#-目录)
|
|
20
|
+
- [⚡ 快速预检](#-快速预检)
|
|
21
|
+
- [🌟 功能特性](#-功能特性)
|
|
22
|
+
- [1. 视频总结 (`get_video_info`)](#1-视频总结-get_video_info)
|
|
23
|
+
- [2. 评论总结 (`get_video_comments`)](#2-评论总结-get_video_comments)
|
|
24
|
+
- [📋 环境要求](#-环境要求)
|
|
25
|
+
- [🚀 安装方式](#-安装方式)
|
|
26
|
+
- [🖱️ Cursor](#️-cursor)
|
|
27
|
+
- [Claude Code](#claude-code)
|
|
28
|
+
- [方法一:通过 CLI 命令快速安装(推荐)](#方法一通过-cli-命令快速安装推荐)
|
|
29
|
+
- [方法二:通过配置文件手动添加(高级)](#方法二通过配置文件手动添加高级)
|
|
30
|
+
- [方法三:通过 npm 全局安装](#方法三通过-npm-全局安装)
|
|
31
|
+
- [🏗️ Trae (字节跳动官方 IDE)](#️-trae-字节跳动官方-ide)
|
|
32
|
+
- [🌊 Windsurf (Codeium 官方 IDE)](#-windsurf-codeium-官方-ide)
|
|
33
|
+
- [⚡ Zed](#-zed)
|
|
34
|
+
- [♊ Gemini CLI (Google 官方命令行工具)](#-gemini-cli-google-官方命令行工具)
|
|
35
|
+
- [⌨️ Codex CLI (OpenAI 官方命令行工具)](#️-codex-cli-openai-官方命令行工具)
|
|
36
|
+
- [🪐 Antigravity (Google 官方 IDE)](#-antigravity-google-官方-ide)
|
|
37
|
+
- [📦 OpenCode](#-opencode)
|
|
38
|
+
- [⚙️ 凭证配置](#️-凭证配置)
|
|
39
|
+
- [🔑 第一步:获取 Bilibili Cookie](#-第一步获取-bilibili-cookie)
|
|
40
|
+
- [📝 第二步:应用凭证](#-第二步应用凭证)
|
|
41
|
+
- [方式 A:使用 CLI 向导(推荐,适用于全局安装)](#方式-a使用-cli-向导推荐适用于全局安装)
|
|
42
|
+
- [方式 B:手动配置环境变量(适用于本地开发或 Docker)](#方式-b手动配置环境变量适用于本地开发或-docker)
|
|
43
|
+
- [🔒 安全须知](#-安全须知)
|
|
44
|
+
- [💡 工具使用示例](#-工具使用示例)
|
|
45
|
+
- [🛡️ API 限流机制](#️-api-限流机制)
|
|
46
|
+
- [🛠️ 开发指南](#️-开发指南)
|
|
47
|
+
- [⚖️ 安全性与免责声明](#️-安全性与免责声明)
|
|
48
|
+
- [许可证](#许可证)
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## ⚡ 快速预检
|
|
53
|
+
|
|
54
|
+
> [!IMPORTANT]
|
|
55
|
+
> **本工具需要 Bilibili 凭证 (Cookie) 才能发挥完整功能。**
|
|
56
|
+
> 如果没有正确配置凭证,您可能无法获取视频字幕、评论
|
|
57
|
+
|
|
58
|
+
在开始安装前,请确保您已经了解[如何获取并配置 Cookie](#️-凭证配置)。
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 🌟 功能特性
|
|
14
63
|
|
|
15
64
|
### 1. 视频总结 (`get_video_info`)
|
|
16
65
|
- 优先获取视频的 CC 或 AI 字幕
|
|
17
66
|
- 无字幕时自动降级为视频标题、简介和标签
|
|
18
67
|
- 支持多语言字幕选择(默认优先简体中文)
|
|
19
|
-
-
|
|
68
|
+
- 可手动指定偏好字幕语言(如 `en`, `zh-Hant` 等)
|
|
20
69
|
|
|
21
70
|
### 2. 评论总结 (`get_video_comments`)
|
|
22
|
-
-
|
|
23
|
-
- 自动过滤表情占位符(如 `[doge]
|
|
24
|
-
- 优先保留包含时间戳的评论(如 `05:20
|
|
71
|
+
- 获取视频热门评论,辅助判断视频真实口碑
|
|
72
|
+
- 自动过滤表情占位符(如 `[doge]`)以保持文本整洁
|
|
73
|
+
- 优先保留包含时间戳的评论(如 `05:20`),方便定位高能片段
|
|
25
74
|
- 支持两种详细程度:
|
|
26
|
-
- `brief`: 10
|
|
27
|
-
- `detailed`: 50 条热门评论 +
|
|
75
|
+
- `brief`: 10 条热门评论速览
|
|
76
|
+
- `detailed`: 50 条热门评论 + 高赞连带回复
|
|
28
77
|
|
|
29
|
-
|
|
78
|
+
---
|
|
30
79
|
|
|
31
|
-
|
|
80
|
+
## 📋 环境要求
|
|
32
81
|
|
|
33
|
-
|
|
82
|
+
- **Node.js**: v18.0.0 或更高版本
|
|
83
|
+
- Bilibili 账号凭证 (Cookie)
|
|
34
84
|
|
|
35
|
-
|
|
85
|
+
---
|
|
36
86
|
|
|
37
|
-
|
|
38
|
-
npm install -g @xzxzzx/bilibili-mcp
|
|
39
|
-
```
|
|
87
|
+
## 🚀 安装方式
|
|
40
88
|
|
|
41
|
-
|
|
89
|
+
### 🖱️ Cursor
|
|
42
90
|
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
bilibili-mcp --help
|
|
46
|
-
```
|
|
91
|
+
Cursor 同样原生支持 MCP,你可以通过图形界面快速添加:
|
|
47
92
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
93
|
+
1. 打开 Cursor 设置:`Cursor Settings` > `Features` > `MCP Servers`
|
|
94
|
+
2. 点击 **+ Add New MCP Server**
|
|
95
|
+
3. 填写以下信息:
|
|
96
|
+
- **Name**: `bilibili-mcp` (或任意你喜欢的名字)
|
|
97
|
+
- **Type**: 选择 `command`
|
|
98
|
+
- **Command**: `npx -y @xzxzzx/bilibili-mcp` (如果 Windows 遇到路径问题,可尝试 `cmd /k npx -y @xzxzzx/bilibili-mcp`)
|
|
99
|
+
4. 点击 **Add** 保存。配置完成后,可能需要点击列表旁的刷新按钮来加载工具库。
|
|
52
100
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
```
|
|
101
|
+
> **提示**:高级用户也可直接在项目根目录创建 `.cursor/mcp.json` 配置文件。
|
|
102
|
+
|
|
103
|
+
### Claude Code
|
|
57
104
|
|
|
58
|
-
|
|
105
|
+
#### 方法一:通过 CLI 命令快速安装(推荐)
|
|
59
106
|
|
|
60
|
-
|
|
107
|
+
直接在终端运行以下命令:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
claude mcp add bilibili-mcp --command "npx" --args "-y" --args "@xzxzzx/bilibili-mcp"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
完成后重启 Claude Code 即可使用。
|
|
114
|
+
|
|
115
|
+
#### 方法二:通过配置文件手动添加(高级)
|
|
61
116
|
|
|
62
117
|
1. 打开 Claude Code 配置文件(通常在 `~/.claude.json`)
|
|
63
|
-
2. 在 `mcpServers`
|
|
118
|
+
2. 在 `mcpServers` 节点下添加:
|
|
64
119
|
|
|
65
|
-
**使用 npx(推荐):**
|
|
66
120
|
```json
|
|
67
121
|
{
|
|
68
122
|
"mcpServers": {
|
|
@@ -73,317 +127,280 @@ npm install -g @xzxzzx/bilibili-mcp
|
|
|
73
127
|
}
|
|
74
128
|
}
|
|
75
129
|
```
|
|
130
|
+
3. 保存后重启 Claude Code。
|
|
76
131
|
|
|
77
|
-
|
|
78
|
-
```json
|
|
79
|
-
{
|
|
80
|
-
"mcpServers": {
|
|
81
|
-
"bilibili-mcp": {
|
|
82
|
-
"command": "node",
|
|
83
|
-
"args": ["/path/to/bilibili-mcp/dist/index.js"]
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
3. 保存配置文件
|
|
90
|
-
4. 重启 Claude Code 使配置生效
|
|
91
|
-
|
|
92
|
-
#### 方法三:通过 CLI 命令安装(最简单)
|
|
132
|
+
#### 方法三:通过 npm 全局安装
|
|
93
133
|
|
|
94
|
-
|
|
134
|
+
安装后可直接使用命令行工具管理配置:
|
|
95
135
|
|
|
96
136
|
```bash
|
|
97
|
-
|
|
137
|
+
npm install -g @xzxzzx/bilibili-mcp
|
|
98
138
|
```
|
|
99
139
|
|
|
100
|
-
|
|
140
|
+
安装验证与检查:
|
|
141
|
+
1. `bilibili-mcp --help` (查看帮助)
|
|
142
|
+
2. `bilibili-mcp config` (通过交互向导配置 Cookie)
|
|
143
|
+
3. `bilibili-mcp check` (检查配置状态)
|
|
144
|
+
|
|
145
|
+
### 🏗️ Trae (字节跳动官方 IDE)
|
|
101
146
|
|
|
102
|
-
|
|
147
|
+
Trae 提供了非常便捷的 MCP 接入界面,国内/国际版操作一致:
|
|
103
148
|
|
|
104
|
-
|
|
149
|
+
1. 打开 Trae 设置:点击左下角齿轮 -> **Settings** (或 `Cmd/Ctrl + ,`)。
|
|
150
|
+
2. 找到 **AI** 选项卡 -> **MCP**。
|
|
151
|
+
3. 点击 **Add Server** 按钮。
|
|
152
|
+
4. 在弹出窗口中填写:
|
|
153
|
+
- **Name**: `bilibili-mcp`
|
|
154
|
+
- **Type**: 选择 `command` (stdio)
|
|
155
|
+
- **Command**: `npx`
|
|
156
|
+
- **Arguments**: `["-y", "@xzxzzx/bilibili-mcp"]`
|
|
157
|
+
5. 点击 **Save**。
|
|
105
158
|
|
|
106
|
-
|
|
159
|
+
> **提示**:Trae 也会自动识别项目根目录下的 `.trae/mcp_config.json` 文件。
|
|
107
160
|
|
|
108
|
-
|
|
109
|
-
2. 在 `mcp` 部分添加以下配置:
|
|
161
|
+
### 🌊 Windsurf (Codeium 官方 IDE)
|
|
110
162
|
|
|
163
|
+
Windsurf 同样支持通过标准 JSON 配置文件接入:
|
|
164
|
+
|
|
165
|
+
1. 打开 Windsurf 设置:`Cmd/Ctrl + ,` -> 在左侧点击 **Advanced** -> **Cascade**。
|
|
166
|
+
2. 点击 **Add custom server +** 或 **View raw config**(这将打开 `mcp_config.json`)。
|
|
167
|
+
3. 如果是手动编辑,文件路径通常为:
|
|
168
|
+
- Windows: `%USERPROFILE%\.codeium\windsurf\mcp_config.json`
|
|
169
|
+
- macOS/Linux: `~/.codeium/windsurf/mcp_config.json`
|
|
170
|
+
4. 在 `mcpServers` 节点下添加:
|
|
111
171
|
```json
|
|
112
172
|
{
|
|
113
|
-
"
|
|
114
|
-
"mcp": {
|
|
173
|
+
"mcpServers": {
|
|
115
174
|
"bilibili-mcp": {
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
"enabled": true
|
|
175
|
+
"command": "npx",
|
|
176
|
+
"args": ["-y", "@xzxzzx/bilibili-mcp"]
|
|
119
177
|
}
|
|
120
178
|
}
|
|
121
179
|
}
|
|
122
180
|
```
|
|
181
|
+
5. 保存并重启 Windsurf 后,在 Cascade 面板即可看到新添加的工具。
|
|
123
182
|
|
|
124
|
-
|
|
125
|
-
4. 重启 OpenCode 使配置生效
|
|
183
|
+
### ⚡ Zed
|
|
126
184
|
|
|
127
|
-
|
|
185
|
+
Zed 编辑器通过 `settings.json` 配置文件中的 `context_servers` 字段来支持 MCP:
|
|
128
186
|
|
|
129
|
-
|
|
187
|
+
1. 打开 Zed 的设置文件:`Cmd + ,` (macOS) 或 `Ctrl + ,` (Windows/Linux)。
|
|
188
|
+
2. 在 JSON 配置文件中添加 (或修改) `context_servers` 节点:
|
|
130
189
|
|
|
131
190
|
```json
|
|
132
191
|
{
|
|
133
|
-
"
|
|
134
|
-
"mcp": {
|
|
192
|
+
"context_servers": {
|
|
135
193
|
"bilibili-mcp": {
|
|
136
|
-
"
|
|
137
|
-
"
|
|
138
|
-
"enabled": true
|
|
194
|
+
"command": "npx",
|
|
195
|
+
"args": ["-y", "@xzxzzx/bilibili-mcp"]
|
|
139
196
|
}
|
|
140
197
|
}
|
|
141
198
|
}
|
|
142
199
|
```
|
|
200
|
+
3. 保存文件。Zed 桌面端会自动重启 Context Server。
|
|
201
|
+
4. 在编辑器中通过 `/` 触发 AI 辅助时,可以看到来自该服务器的 Context 或工具。
|
|
143
202
|
|
|
144
|
-
###
|
|
145
|
-
|
|
146
|
-
1. 复制 `.env.example` 文件为 `.env`:
|
|
147
|
-
```bash
|
|
148
|
-
cp .env.example .env
|
|
149
|
-
```
|
|
150
|
-
2. 打开 `.env` 文件,根据需要配置以下变量:
|
|
151
|
-
- `BILI_JCT`:Bilibili 登录凭证(可选,用于获取评论)
|
|
152
|
-
- `SESSDATA`:Bilibili 会话数据(可选,用于获取评论)
|
|
153
|
-
- `BUVID3`:Bilibili 设备标识(可选)
|
|
154
|
-
|
|
155
|
-
**注意**:这些变量通常可以从浏览器的开发者工具中获取(Cookie 存储)。
|
|
156
|
-
|
|
157
|
-
#### 🔒 安全提示
|
|
158
|
-
|
|
159
|
-
- **.env 文件不会被提交到 Git** - 已添加到 `.gitignore`
|
|
160
|
-
|
|
161
|
-
- **请勿分享您的 .env 文件或 Cookie 值**
|
|
162
|
-
|
|
163
|
-
- Cookie 定期会过期,需要重新获取
|
|
203
|
+
### ♊ Gemini CLI (Google 官方命令行工具)
|
|
164
204
|
|
|
165
|
-
|
|
205
|
+
Gemini CLI 通过全局或项目级的 `settings.json` 文件管理 MCP 服务器:
|
|
166
206
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
207
|
+
1. 找到全局配置文件:
|
|
208
|
+
- Windows: `%USERPROFILE%\.gemini\settings.json`
|
|
209
|
+
- macOS/Linux: `~/.gemini/settings.json`
|
|
210
|
+
2. 在 `mcpServers` 节点下添加:
|
|
171
211
|
|
|
172
|
-
## 工具使用示例
|
|
173
|
-
|
|
174
|
-
### 获取视频信息(含字幕)
|
|
175
212
|
```json
|
|
176
213
|
{
|
|
177
|
-
"
|
|
178
|
-
|
|
179
|
-
|
|
214
|
+
"mcpServers": {
|
|
215
|
+
"bilibili-mcp": {
|
|
216
|
+
"command": "npx",
|
|
217
|
+
"args": ["-y", "@xzxzzx/bilibili-mcp"]
|
|
218
|
+
}
|
|
180
219
|
}
|
|
181
220
|
}
|
|
182
221
|
```
|
|
222
|
+
3. 如果您是通过项目级配置,请在项目根目录创建 `.gemini/settings.json`。
|
|
223
|
+
4. 保存后,运行 `gemini` 命令时即可调用相关工具。
|
|
183
224
|
|
|
184
|
-
|
|
225
|
+
> **国内版提示**:如果您在国内环境下使用,请确保已正确配置 `HTTP_PROXY` 或 `HTTPS_PROXY` 环境变量,以便 `npx` 顺利下载包以及 CLI 能够访问 Google API。
|
|
185
226
|
|
|
186
|
-
|
|
187
|
-
{
|
|
188
|
-
"name": "get_video_info",
|
|
189
|
-
"arguments": {
|
|
190
|
-
"bvid_or_url": "BV1xx4x1x7xx",
|
|
191
|
-
"preferred_lang": "en"
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
```
|
|
227
|
+
### ⌨️ Codex CLI (OpenAI 官方命令行工具)
|
|
195
228
|
|
|
196
|
-
|
|
229
|
+
Codex CLI 使用 TOML 格式的配置文件,并支持通过命令行快速添加:
|
|
197
230
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
"bvid_or_url": "BV1xx4x1x7xx",
|
|
203
|
-
"detail_level": "brief"
|
|
204
|
-
}
|
|
205
|
-
}
|
|
231
|
+
**方式一:通过命令行添加(推荐)**
|
|
232
|
+
直接在终端运行:
|
|
233
|
+
```bash
|
|
234
|
+
codex mcp add bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp
|
|
206
235
|
```
|
|
207
236
|
|
|
208
|
-
|
|
237
|
+
**方式二:手动修改配置文件**
|
|
238
|
+
1. 找到配置文件:
|
|
239
|
+
- 全局路径:`~/.codex/config.toml`
|
|
240
|
+
- 项目路径:`.codex/config.toml`
|
|
241
|
+
2. 添加以下内容:
|
|
209
242
|
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
"bvid_or_url": "BV1xx4x1x7xx",
|
|
215
|
-
"detail_level": "detailed"
|
|
216
|
-
}
|
|
217
|
-
}
|
|
243
|
+
```toml
|
|
244
|
+
[mcp_servers.bilibili-mcp]
|
|
245
|
+
command = "npx"
|
|
246
|
+
args = ["-y", "@xzxzzx/bilibili-mcp"]
|
|
218
247
|
```
|
|
248
|
+
保存后重启 Codex CLI 即可识别工具。
|
|
249
|
+
|
|
250
|
+
### 🪐 Antigravity (Google 官方 IDE)
|
|
251
|
+
|
|
252
|
+
Antigravity 原生支持 MCP 协议。你可以通过 UI 界面或直接修改配置文件来添加:
|
|
219
253
|
|
|
220
|
-
|
|
254
|
+
**方式一:通过界面添加(推荐)**
|
|
255
|
+
1. 在编辑器侧边栏顶部点击 `...` 下拉菜单,打开 **MCP Store** 面板。
|
|
256
|
+
2. 点击 **Manage MCP Servers -> View raw config**。
|
|
257
|
+
3. 参考下方 JSON 格式填入配置。
|
|
221
258
|
|
|
222
|
-
|
|
259
|
+
**方式二:手动修改配置文件**
|
|
260
|
+
- Windows 路径:`%USERPROFILE%\.gemini\antigravity\mcp_config.json`
|
|
261
|
+
- macOS/Linux 路径:`~/.gemini/antigravity/mcp_config.json`
|
|
223
262
|
|
|
263
|
+
在 `mcpServers` 节点下添加:
|
|
224
264
|
```json
|
|
225
265
|
{
|
|
226
|
-
"
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
"subtitle_text": "字幕内容..."
|
|
266
|
+
"mcpServers": {
|
|
267
|
+
"bilibili-mcp": {
|
|
268
|
+
"command": "npx",
|
|
269
|
+
"args": ["-y", "@xzxzzx/bilibili-mcp"]
|
|
270
|
+
}
|
|
232
271
|
}
|
|
233
272
|
}
|
|
234
273
|
```
|
|
274
|
+
保存后配置即刻生效。
|
|
275
|
+
|
|
276
|
+
### 📦 OpenCode
|
|
235
277
|
|
|
236
|
-
|
|
278
|
+
OpenCode 用户可以通过编辑配置文件接入:
|
|
237
279
|
|
|
238
|
-
|
|
280
|
+
1. 编辑 `~/.config/opencode/opencode.json`
|
|
281
|
+
2. 在 `mcp` 节点下添加以下内容:
|
|
239
282
|
|
|
240
283
|
```json
|
|
241
284
|
{
|
|
242
|
-
"
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
"
|
|
246
|
-
"
|
|
247
|
-
"
|
|
248
|
-
"timestamp": "05:20"
|
|
285
|
+
"$schema": "https://opencode.ai/config.json",
|
|
286
|
+
"mcp": {
|
|
287
|
+
"bilibili-mcp": {
|
|
288
|
+
"type": "local",
|
|
289
|
+
"command": ["npx", "-y", "@xzxzzx/bilibili-mcp"],
|
|
290
|
+
"enabled": true
|
|
249
291
|
}
|
|
250
|
-
],
|
|
251
|
-
"summary": {
|
|
252
|
-
"total_comments": 50,
|
|
253
|
-
"comments_with_timestamp": 5
|
|
254
292
|
}
|
|
255
293
|
}
|
|
256
294
|
```
|
|
257
295
|
|
|
258
|
-
|
|
296
|
+
---
|
|
259
297
|
|
|
260
|
-
|
|
261
|
-
- ✅ 敏感信息(Cookie)通过环境变量配置,不会提交到代码仓库
|
|
262
|
-
- ✅ 不存储任何用户数据
|
|
263
|
-
- ✅ 代码开源可审计
|
|
264
|
-
- ✅ 错误输出使用 `console.error` 避免干扰 Stdio 协议
|
|
265
|
-
- ⚠️ 用户需自行配置 B 站 Cookie(存储在本地 .env 文件中)
|
|
298
|
+
---
|
|
266
299
|
|
|
267
|
-
##
|
|
300
|
+
## ⚙️ 凭证配置
|
|
268
301
|
|
|
269
|
-
|
|
302
|
+
为了获取更完整的评论数据、绕过匿名访问限制并确保工具稳定运行,**必须**配置 B 站 Cookie。
|
|
270
303
|
|
|
271
|
-
###
|
|
304
|
+
### 🔑 第一步:获取 Bilibili Cookie
|
|
272
305
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
306
|
+
1. 在电脑浏览器登录 [bilibili.com](https://www.bilibili.com)
|
|
307
|
+
2. 按 `F12` 打开开发者工具(或在页面右键选择“检查”)。
|
|
308
|
+
3. 切换到 **Application (应用)** 选项卡 -> 在左侧菜单找到 **Cookies** -> 点击 `https://www.bilibili.com`。
|
|
309
|
+
4. 在右侧列表中找到以下三个关键变量,并记录它们的 **Value**:
|
|
310
|
+
- `SESSDATA`
|
|
311
|
+
- `bili_jct` (即 CSRF Token)
|
|
312
|
+
- `DedeUserID` (您的用户数字 ID)
|
|
277
313
|
|
|
278
|
-
|
|
314
|
+
> [!TIP]
|
|
315
|
+
> 如果您在 `Application` 找不到,也可以查看 `Network` (网络) 选项卡中的任意一个请求,在 `Headers` -> `Cookie` 字段中也能找到这些值。
|
|
279
316
|
|
|
280
|
-
|
|
281
|
-
2. **保证稳定性** - 降低 API 返回错误或被拒绝的风险
|
|
282
|
-
3. **尊重服务提供方** - 合理使用公共资源
|
|
317
|
+
### 📝 第二步:应用凭证
|
|
283
318
|
|
|
284
|
-
|
|
319
|
+
您可以针对不同的使用习惯选择以下任一方式:
|
|
285
320
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
321
|
+
#### 方式 A:使用 CLI 向导(推荐,适用于全局安装)
|
|
322
|
+
如果您全局安装了 npm 包(`npm i -g @xzxzzx/bilibili-mcp`),直接运行:
|
|
323
|
+
```bash
|
|
324
|
+
bilibili-mcp config
|
|
325
|
+
```
|
|
326
|
+
交互向导将引导您输入凭证并安全保存在**本地**配置目录(`~/.bilibili-mcp/config.json`)中。
|
|
290
327
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
- 1-2 秒的等待时间在正常范围内
|
|
294
|
-
- 避免被限流后完全无法使用的风险
|
|
328
|
+
#### 方式 B:手动配置环境变量(适用于本地开发或 Docker)
|
|
329
|
+
在项目根目录创建 `.env` 文件,手动填入以下变量:
|
|
295
330
|
|
|
296
|
-
|
|
331
|
+
| 变量名 | 说明 |
|
|
332
|
+
| :--- | :--- |
|
|
333
|
+
| **BILIBILI_SESSDATA** | `SESSDATA` 的值 |
|
|
334
|
+
| **BILIBILI_BILI_JCT** | `bili_jct` 的值 |
|
|
335
|
+
| **BILIBILI_DEDEUSERID** | `DedeUserID` 的值 |
|
|
297
336
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
npm run watch
|
|
301
|
-
```
|
|
337
|
+
> [!WARNING]
|
|
338
|
+
> `.env` 文件仅供本地加载,**切勿提交到 Git 或公开仓库**。
|
|
302
339
|
|
|
303
|
-
|
|
340
|
+
#### 🔒 安全须知
|
|
304
341
|
|
|
305
|
-
|
|
342
|
+
- **隐私保护**:您的凭证信息仅存储在您的本地设备上。本工具**绝不会**将其上传至除 Bilibili 官方 API 以外的任何第三方服务器。
|
|
343
|
+
- **配置隔离**:`.env` 文件已被 `.gitignore` 排除。
|
|
344
|
+
- **时效性**:Cookie 具有时效性。若遇到 `412` 或权限错误,请尝试更新 Cookie。
|
|
306
345
|
|
|
307
|
-
|
|
308
|
-
- 任何人都可以自由使用、修改和分发本软件
|
|
309
|
-
- 修改后的代码必须以相同的 GPL-3.0 许可证开源
|
|
310
|
-
- 禁止将代码用于闭源商业软件中(除非提供完整源代码)
|
|
346
|
+
---
|
|
311
347
|
|
|
312
|
-
|
|
348
|
+
## 💡 工具使用示例
|
|
313
349
|
|
|
314
|
-
|
|
350
|
+
在支持 MCP 的对话流中,你可以直接输入自然语言,底层会自动调用对应的 JSON 格式配置:
|
|
315
351
|
|
|
316
|
-
|
|
352
|
+
```json
|
|
353
|
+
// 获取默认语言视频信息
|
|
354
|
+
{
|
|
355
|
+
"name": "get_video_info",
|
|
356
|
+
"arguments": { "bvid_or_url": "BV1xx4x1x7xx" }
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
// 获取 10 条简短评估
|
|
360
|
+
{
|
|
361
|
+
"name": "get_video_comments",
|
|
362
|
+
"arguments": { "bvid_or_url": "BV1xx4x1x7xx", "detail_level": "brief" }
|
|
363
|
+
}
|
|
364
|
+
```
|
|
317
365
|
|
|
318
|
-
|
|
366
|
+
---
|
|
319
367
|
|
|
320
|
-
|
|
321
|
-
2. 点击 [Issues](https://github.com/365903728-oss/bilibili-mcp/issues) 页面上的 "New issue" 按钮
|
|
322
|
-
3. 选择适当的模板(Bug 报告或功能请求)
|
|
323
|
-
4. 填写详细信息,包括:
|
|
324
|
-
- 遇到的问题描述
|
|
325
|
-
- 复现步骤
|
|
326
|
-
- 使用的操作系统和工具版本
|
|
327
|
-
- 任何相关的错误信息或截图
|
|
368
|
+
## 🛡️ API 限流机制
|
|
328
369
|
|
|
329
|
-
|
|
370
|
+
为保证工具长效可用并合规调用底层接口,已内置以下限流策略:
|
|
330
371
|
|
|
331
|
-
|
|
372
|
+
- **请求间隔**:500ms(0.5秒)
|
|
373
|
+
- **执行方式**:加入队列顺序处理,禁止大并发请求。
|
|
332
374
|
|
|
333
|
-
|
|
334
|
-
2. 创建一个新分支
|
|
335
|
-
3. 进行您的修改
|
|
336
|
-
4. 测试您的修改
|
|
337
|
-
5. 提交 Pull Request
|
|
375
|
+
---
|
|
338
376
|
|
|
339
|
-
|
|
377
|
+
## 🛠️ 开发指南
|
|
340
378
|
|
|
341
379
|
```bash
|
|
342
|
-
# 克隆仓库
|
|
380
|
+
# 1. 克隆仓库
|
|
343
381
|
git clone https://github.com/365903728-oss/bilibili-mcp.git
|
|
344
|
-
|
|
345
|
-
# 安装依赖
|
|
346
382
|
cd bilibili-mcp
|
|
383
|
+
|
|
384
|
+
# 2. 安装依赖包
|
|
347
385
|
npm install
|
|
348
386
|
|
|
349
|
-
#
|
|
387
|
+
# 3. 启动监听与实时编译
|
|
350
388
|
npm run watch
|
|
351
389
|
```
|
|
352
390
|
|
|
353
|
-
|
|
391
|
+
本工具输出报错信息统一使用 `console.error`,以避免干扰 Stdio 协议数据。
|
|
354
392
|
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
> **重要法律声明:使用本工具前请仔细阅读以下条款**
|
|
358
|
-
|
|
359
|
-
### 商标声明
|
|
360
|
-
|
|
361
|
-
**Bilibili (哔哩哔哩) 是哔哩哔哩公司的注册商标**,本项目为第三方开源工具,与哔哩哔哩公司无任何关联或合作关系。
|
|
362
|
-
|
|
363
|
-
### 非商业用途限制
|
|
364
|
-
|
|
365
|
-
- 本项目**仅供个人学习和研究使用**
|
|
366
|
-
- 严禁用于任何形式的商业分发或商业用途
|
|
367
|
-
- 严禁用于大规模数据采集或爬虫行为
|
|
368
|
-
- 严禁将本工具集成到商业产品或服务中
|
|
369
|
-
|
|
370
|
-
### 合规义务
|
|
393
|
+
---
|
|
371
394
|
|
|
372
|
-
|
|
373
|
-
- **《中华人民共和国反不正当竞争法》**
|
|
374
|
-
- Bilibili 的服务协议和用户协议
|
|
375
|
-
- Bilibili 的 API 使用规范
|
|
395
|
+
## ⚖️ 安全性与免责声明
|
|
376
396
|
|
|
377
|
-
|
|
397
|
+
> **⚠️ 重要:使用本工具即代表您同意以下条款**
|
|
378
398
|
|
|
379
|
-
-
|
|
380
|
-
-
|
|
381
|
-
-
|
|
382
|
-
-
|
|
399
|
+
- **商标声明**:Bilibili (哔哩哔哩) 是哔哩哔哩公司的注册商标。本项目为基于公开协议的第三方开源辅助工具。
|
|
400
|
+
- **协议精神**:本项目**仅供个人学习、辅助阅读使用**。坚决抵制任何用于商业剥削、大规模滥用抓取等违规操作。
|
|
401
|
+
- **责任归属**:所有请求均为用户本地发起。开发者不对由于高频使用等原因导致的账号风控或其他后果负责。
|
|
402
|
+
- **隐私保护**:本工具严格保护用户隐私,所有凭证信息仅在本地加密/非加密存储,除与 Bilibili 官方接口通信外,无任何后台上传行为。
|
|
383
403
|
|
|
384
|
-
###
|
|
404
|
+
### 许可证
|
|
385
405
|
|
|
386
|
-
|
|
387
|
-
2. **数据隐私** - 本工具不存储、收集或传输任何用户的私密信息
|
|
388
|
-
3. **API 变更** - Bilibili 可能随时修改或关闭其 API,本工具可能因此无法正常工作
|
|
389
|
-
4. **请求限制** - 本工具已内置限流机制,但仍请合理使用,避免被限制
|
|
406
|
+
基于 **GNU General Public License v3.0** 开源。
|