@xzxzzx/bilibili-mcp 1.3.8 → 1.4.1

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.
Files changed (53) hide show
  1. package/README.md +933 -205
  2. package/README_EN.md +935 -191
  3. package/dist/bilibili/client.d.ts +3 -77
  4. package/dist/bilibili/client.d.ts.map +1 -1
  5. package/dist/bilibili/client.js +4 -600
  6. package/dist/bilibili/client.js.map +1 -1
  7. package/dist/bilibili/comments-api.d.ts +6 -0
  8. package/dist/bilibili/comments-api.d.ts.map +1 -0
  9. package/dist/bilibili/comments-api.js +126 -0
  10. package/dist/bilibili/comments-api.js.map +1 -0
  11. package/dist/bilibili/comments.d.ts +10 -3
  12. package/dist/bilibili/comments.d.ts.map +1 -1
  13. package/dist/bilibili/comments.js +30 -7
  14. package/dist/bilibili/comments.js.map +1 -1
  15. package/dist/bilibili/fingerprint.d.ts +10 -0
  16. package/dist/bilibili/fingerprint.d.ts.map +1 -0
  17. package/dist/bilibili/fingerprint.js +50 -0
  18. package/dist/bilibili/fingerprint.js.map +1 -0
  19. package/dist/bilibili/http.d.ts +24 -0
  20. package/dist/bilibili/http.d.ts.map +1 -0
  21. package/dist/bilibili/http.js +259 -0
  22. package/dist/bilibili/http.js.map +1 -0
  23. package/dist/bilibili/metadata.d.ts +6 -0
  24. package/dist/bilibili/metadata.d.ts.map +1 -0
  25. package/dist/bilibili/metadata.js +36 -0
  26. package/dist/bilibili/metadata.js.map +1 -0
  27. package/dist/bilibili/subtitle.d.ts +9 -0
  28. package/dist/bilibili/subtitle.d.ts.map +1 -1
  29. package/dist/bilibili/subtitle.js +92 -1
  30. package/dist/bilibili/subtitle.js.map +1 -1
  31. package/dist/bilibili/types.d.ts +33 -0
  32. package/dist/bilibili/types.d.ts.map +1 -1
  33. package/dist/bilibili/video-api.d.ts +57 -0
  34. package/dist/bilibili/video-api.d.ts.map +1 -0
  35. package/dist/bilibili/video-api.js +81 -0
  36. package/dist/bilibili/video-api.js.map +1 -0
  37. package/dist/bilibili/wbi.d.ts +13 -0
  38. package/dist/bilibili/wbi.d.ts.map +1 -0
  39. package/dist/bilibili/wbi.js +120 -0
  40. package/dist/bilibili/wbi.js.map +1 -0
  41. package/dist/server.d.ts.map +1 -1
  42. package/dist/server.js +164 -5
  43. package/dist/server.js.map +1 -1
  44. package/dist/utils/validation.d.ts +8 -0
  45. package/dist/utils/validation.d.ts.map +1 -1
  46. package/dist/utils/validation.js +23 -0
  47. package/dist/utils/validation.js.map +1 -1
  48. package/package.json +11 -9
  49. package/dist/smithery-test.d.ts +0 -4
  50. package/dist/smithery-test.d.ts.map +0 -1
  51. package/dist/smithery-test.js +0 -11
  52. package/dist/smithery-test.js.map +0 -1
  53. package/src/index.ts +0 -37
package/README.md CHANGED
@@ -4,70 +4,72 @@
4
4
  [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
5
5
  [![npm downloads](https://img.shields.io/npm/dm/@xzxzzx/bilibili-mcp.svg)](https://www.npmjs.com/package/@xzxzzx/bilibili-mcp)
6
6
 
7
- ## ✨ **为你的 AI 助手装上 B 站的眼睛**:一键提取视频字幕与热门评论,助力高效信息总结 🚀
8
- ## ✨ **Equip your AI assistant with "Bilibili Eyes"**: One-click extraction of video subtitles and popular comments for efficient information summarization 🚀
9
- 🌐 **[English Documentation](https://github.com/365903728-oss/bilibili-mcp/blob/master/README_EN.md)** (English read me version here)
10
- 📜 **[更新日志 (Changelog)](https://github.com/365903728-oss/bilibili-mcp/blob/master/CHANGELOG.md)**
11
-
12
- > [!TIP]
13
- > ⚠️ **提示**:使用前请务必配置您的 B 站 Cookie,否则将无法提取视频字幕与评论。详见 [**⚙️ 凭证配置**](#️-凭证配置)(凭证只会保存在本地,不会上传到任何地方)。
14
- >
15
- > ⚠️ **Notice**: Please make sure to configure your Bilibili Cookies before use, otherwise video subtitles and comments cannot be extracted. See [**⚙️ Credential Configuration**](#️-credential-configuration) (Cookies are only stored locally and will not be uploaded anywhere).
7
+ Bilibili MCP server — 让 Claude、Cursor、Codex 等 AI 客户端直接读取 Bilibili 视频字幕、转录、元数据和热门评论的 MCP server。
16
8
 
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)
17
10
 
11
+ > [!TIP]
12
+ > ⚠️ 使用前请配置 B 站 Cookie。Metadata 可能无需 Cookie,但字幕/转录/评论建议配置。详见 [**凭证配置**](#️-凭证配置)。
18
13
 
19
14
  ---
20
15
 
21
- ## 📑 目录
22
-
23
- - [Bilibili MCP Tool](#bilibili-mcp-tool)
24
- - [✨ **为你的 AI 助手装上 B 站的眼睛**:一键提取视频字幕与热门评论,助力高效信息总结 🚀](#-为你的-ai-助手装上-b-站的眼睛一键提取视频字幕与热门评论助力高效信息总结-)
25
- - [✨ **Equip your AI assistant with "Bilibili Eyes"**: One-click extraction of video subtitles and popular comments for efficient information summarization 🚀](#-equip-your-ai-assistant-with-bilibili-eyes-one-click-extraction-of-video-subtitles-and-popular-comments-for-efficient-information-summarization-)
26
- - [📑 目录](#-目录)
27
- - [⚡ 快速预检](#-快速预检)
28
- - [🌟 功能特性](#-功能特性)
29
- - [1. 视频总结 (`get_video_info`)](#1-视频总结-get_video_info)
30
- - [2. 评论总结 (`get_video_comments`)](#2-评论总结-get_video_comments)
31
- - [3. 🛡️ 稳健性增强](#3-️-稳健性增强)
32
- - [📋 环境要求](#-环境要求)
33
- - [🚀 安装方式](#-安装方式)
34
- - [🖱️ Cursor](#️-cursor)
35
- - [Claude Code](#claude-code)
36
- - [方法一:通过 CLI 命令快速安装(推荐)](#方法一通过-cli-命令快速安装推荐)
37
- - [方法二:通过配置文件手动添加(高级)](#方法二通过配置文件手动添加高级)
38
- - [Claude Desktop (桌面客户端)](#claude-desktop-桌面客户端)
39
- - [方法一:通过配置文件手动添加](#方法一通过配置文件手动添加)
40
- - [方法二:通过 npm 全局安装](#方法二通过-npm-全局安装)
41
- - [🏗️ Trae (字节跳动官方 IDE)](#️-trae-字节跳动官方-ide)
42
- - [🌊 Windsurf (Codeium 官方 IDE)](#-windsurf-codeium-官方-ide)
43
- - [⚡ Zed](#-zed)
44
- - [♊ Gemini CLI (Google 官方命令行工具)](#-gemini-cli-google-官方命令行工具)
45
- - [⌨️ Codex CLI (OpenAI 官方命令行工具)](#️-codex-cli-openai-官方命令行工具)
46
- - [🪐 Antigravity (Google 官方 IDE)](#-antigravity-google-官方-ide)
47
- - [📦 OpenCode](#-opencode)
48
- - [⚙️ 凭证配置](#️-凭证配置)
49
- - [🔑 第一步:获取 Bilibili Cookie](#-第一步获取-bilibili-cookie)
50
- - [📝 第二步:应用凭证](#-第二步应用凭证)
51
- - [方式 A:使用 CLI 向导(推荐,适用于全局安装)](#方式-a使用-cli-向导推荐适用于全局安装)
52
- - [方式 B:手动配置环境变量(适用于本地开发或 Docker)](#方式-b手动配置环境变量适用于本地开发或-docker)
53
- - [🔒 安全须知](#-安全须知)
54
- - [💡 工具使用示例](#-工具使用示例)
55
- - [🛡️ API 限流机制](#️-api-限流机制)
56
- - [🛠️ 开发指南](#️-开发指南)
57
- - [⚖️ 安全性与免责声明](#️-安全性与免责声明)
58
- - [许可证](#许可证)
59
- - [🛠️ 开发过程](#️-开发过程)
60
- - [💬 反馈与建议](#-反馈与建议)
16
+ ## ⚡ 快速开始
17
+
18
+ 选择你正在使用的 AI 客户端,点击后可直接跳转到详细配置方法:
19
+
20
+ - [Codex app / Codex CLI](#codex-app--codex-cli)
21
+ - [Claude Code](#claude-code)
22
+ - [Claude Desktop](#claude-desktop)
23
+ - [OpenCode](#opencode)
24
+ - [OpenClaw](#openclaw)
25
+ - [Hermes](#hermes)
26
+ - [WorkBuddy](#workbuddy)
27
+ - [CodeBuddy](#codebuddy)
28
+ - [Trae CN](#trae-cn)
29
+ - [Trae International](#trae-international)
30
+ - [Trae SOLO CN](#trae-solo-cn)
31
+ - [Trae SOLO International](#trae-solo-international)
32
+ - [Antigravity / Antigravity CLI](#antigravity--antigravity-cli)
33
+ - [Pi](#pi)
34
+ - [Oh My Pi](#oh-my-pi)
35
+ - [Crush](#crush)
36
+ - [DeepSeek-TUI](#deepseek-tui)
37
+ - [Deep Code](#deep-code)
38
+ - [Reasonix](#reasonix)
39
+ - [Langcli](#langcli)
40
+ - [GitHub Copilot CLI](#github-copilot-cli)
41
+ - [Cursor](#cursor)
42
+ - [Cline](#cline)
43
+ - [Kilo Code](#kilo-code)
44
+ - [VS Code](#vs-code)
45
+ - [GitHub Copilot (VS Code)](#github-copilot-vs-code)
46
+ - [Windsurf](#windsurf)
47
+ - [Zed](#zed)
48
+ - [Cherry Studio](#cherry-studio)
49
+ - [LobeHub / LobeChat](#lobehub--lobechat)
50
+ - [AstrBot](#astrbot)
51
+ - [nanobot](#nanobot)
61
52
 
62
53
  ---
63
54
 
64
- ## ⚡ 快速预检
65
-
66
- > [!IMPORTANT]
67
- > **本工具需要 Bilibili 凭证 (Cookie) 才能发挥完整功能。**
68
- > 如果没有正确配置凭证,您可能无法获取视频字幕、评论
55
+ ## 📑 目录
69
56
 
70
- 在开始安装前,请确保您已经了解[如何获取并配置 Cookie](#️-凭证配置)。
57
+ - [⚡ 快速开始](#-快速开始)
58
+ - [🌟 功能特性](#-功能特性)
59
+ - [1. 视频总结 (`get_video_info`)](#1-视频总结-get_video_info)
60
+ - [2. 评论总结 (`get_video_comments`)](#2-评论总结-get_video_comments)
61
+ - [3. 视频转录 (`get_video_transcript`)](#3-视频转录-get_video_transcript)
62
+ - [4. 视频元数据 (`get_video_metadata`)](#4-视频元数据-get_video_metadata)
63
+ - [5. 行为说明与错误处理](#5-行为说明与错误处理)
64
+ - [📋 环境要求](#-环境要求)
65
+ - [🚀 客户端接入方式](#-客户端接入方式)
66
+ - [⚙️ 凭证配置](#️-凭证配置)
67
+ - [🧭 该用哪个工具](#-该用哪个工具)
68
+ - [💡 工具调用示例](#-工具调用示例)
69
+ - [🛡️ API 限流机制](#️-api-限流机制)
70
+ - [🛠️ 开发指南](#️-开发指南)
71
+ - [⚖️ 安全性与免责声明](#️-安全性与免责声明)
72
+ - [💬 反馈与建议](#-反馈与建议)
71
73
 
72
74
  ---
73
75
 
@@ -85,12 +87,51 @@
85
87
  - 优先保留包含时间戳的评论(如 `05:20`),方便定位高能片段
86
88
  - 支持两种详细程度:
87
89
  - `brief`: 10 条热门评论速览
88
- - `detailed`: 50 条热门评论 + 高赞连带回复
90
+ - `detailed`: 20 条热门评论 + 高赞连带回复
91
+ - 可选参数:
92
+ - `limit`: 显式评论数量 `1-50`,覆盖 `detail_level` 的默认数量
93
+ - `sort`: 排序方式 `"hot"`(按热度,默认)或 `"time"`(按时间)
94
+ - `include_replies`: 是否包含高赞回复(默认 `true`)
95
+
96
+ ### 3. 视频转录 (`get_video_transcript`)
97
+ - 返回纯字幕文本,按行合并
98
+ - 支持指定偏好语言(默认按 `zh-Hans` > `ai-zh` > `zh-CN` > `zh-Hant` > `en` 优先级选择)
99
+ - 可选参数:
100
+ - `preferred_lang`: 偏好字幕语言代码
101
+ - `fallback_to_description`: 字幕不可用时是否降级为视频描述(默认 `false`)
102
+ - 默认不降级:无字幕时返回 `SUBTITLE_UNAVAILABLE` 错误
103
+ - Cookie 失效时始终返回 `COOKIE_EXPIRED`,不静默降级
104
+
105
+ ### 4. 视频元数据 (`get_video_metadata`)
106
+ - 返回视频标题、作者、时长、发布时间、描述、标签、播放/点赞/投币等统计信息
107
+ - 不获取字幕或评论
108
+ - 仅需 `bvid_or_url` 参数
109
+
110
+ ### 5. 行为说明与错误处理
89
111
 
90
- ### 3. 🛡️ 稳健性增强
91
112
  - **Cookie 过期智能检测**:当字幕获取为空时自动验证登录状态,区分“无字幕视频”与“凭证失效”,并抛出明确的 `COOKIE_EXPIRED` 错误,避免静默降级。
92
113
 
93
- ---
114
+ #### 无 Cookie 行为
115
+
116
+ - 部分公开视频元数据(`get_video_metadata`)可能在未登录状态下工作。
117
+ - 字幕(`get_video_info`、`get_video_transcript`)在未登录时可能无法获取、不完整或返回空结果。
118
+ - 评论(`get_video_comments`)在未登录时可能不完整、被限流或返回空列表。
119
+ - 不建议依赖无 Cookie 模式获取字幕或评论。
120
+
121
+ #### Cookie 凭据来源
122
+
123
+ - Cookie 凭据应通过 `.env` 文件、环境变量或凭据管理工具提供。
124
+ - 支持的环境变量:`BILIBILI_SESSDATA`、`BILIBILI_BILI_JCT`、`BILIBILI_DEDEUSERID`。
125
+ - **切勿**在源码、脚本、文档、测试、日志或示例中硬编码 Cookie 值。
126
+ - 如果 Cookie 值曾出现在仓库历史中,应尽快到 Bilibili 账号设置中轮换/失效旧 Cookie。
127
+
128
+ #### 预期错误码
129
+
130
+ | 错误码 | 含义 | 调用方建议 |
131
+ |--------|------|-----------|
132
+ | `VALIDATION_ERROR` | 输入参数不合法 | 检查并修正 `bvid_or_url` 或其他参数 |
133
+ | `COOKIE_EXPIRED` | Cookie 已失效或未登录 | 用户应更新/轮换 Bilibili 凭据 |
134
+ | `SUBTITLE_UNAVAILABLE` | 视频无可用的字幕 | 对 `get_video_transcript` 可重试并设置 `fallback_to_description: true` |
94
135
 
95
136
  ## 📋 环境要求
96
137
 
@@ -99,38 +140,68 @@
99
140
 
100
141
  ---
101
142
 
102
- ## 🚀 安装方式
143
+ ## 🚀 客户端接入方式
144
+
145
+ > [!NOTE]
146
+ > 不要在客户端配置文件中写入真实 Cookie。建议先用 `bilibili-mcp config` 或环境变量配置凭证,详见 [⚙️ 凭证配置](#️-凭证配置)。
147
+
148
+ ### Codex app / Codex CLI
149
+
150
+ Codex app、Codex CLI 和 Codex IDE extension 共用 MCP 配置。优先使用下面任一方式添加:
103
151
 
104
- ### 🖱️ Cursor
152
+ #### Codex app
105
153
 
106
- Cursor 同样原生支持 MCP,你可以通过图形界面快速添加:
154
+ 打开 Settings → Integrations & MCP,添加自定义 MCP server:
107
155
 
108
- 1. 打开 Cursor 设置:`Cursor Settings` > `Features` > `MCP Servers`
109
- 2. 点击 **+ Add New MCP Server**
110
- 3. 填写以下信息:
111
- - **Name**: `bilibili-mcp` (或任意你喜欢的名字)
112
- - **Type**: 选择 `command`
113
- - **Command**: `npx -y @xzxzzx/bilibili-mcp` (如果 Windows 遇到路径问题,可尝试 `cmd /k npx -y @xzxzzx/bilibili-mcp`)
114
- 4. 点击 **Add** 保存。配置完成后,可能需要点击列表旁的刷新按钮来加载工具库。
156
+ - Command: `npx`
157
+ - Arguments: `["-y", "@xzxzzx/bilibili-mcp"]`
115
158
 
116
- > **提示**:高级用户也可直接在项目根目录创建 `.cursor/mcp.json` 配置文件。
159
+ #### Codex CLI
160
+
161
+ ```bash
162
+ codex mcp add bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp
163
+ ```
164
+
165
+ 配置后,在 Codex CLI TUI 中运行 `/mcp` 查看 server 状态。
166
+
167
+ #### 手动配置
168
+
169
+ 也可以直接编辑 Codex 配置文件:
170
+
171
+ - 用户级:`~/.codex/config.toml`
172
+ - 项目级:`.codex/config.toml`(仅在 Codex 信任该项目时加载)
173
+
174
+ ```toml
175
+ [mcp_servers.bilibili-mcp]
176
+ command = "npx"
177
+ args = ["-y", "@xzxzzx/bilibili-mcp"]
178
+ ```
117
179
 
118
180
  ### Claude Code
119
181
 
120
- #### 方法一:通过 CLI 命令快速安装(推荐)
182
+ ```bash
183
+ claude mcp add bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp
184
+ ```
121
185
 
122
- 直接在终端运行以下命令:
186
+ 默认会作为当前项目的本地 MCP server 保存。配置后可在 Claude Code 中运行 `/mcp`,或在终端运行 `claude mcp list` 检查连接状态。
187
+
188
+ 如果希望所有项目都可用,可使用用户级 scope:
123
189
 
124
190
  ```bash
125
- claude mcp add bilibili-mcp --command "npx" --args "-y" --args "@xzxzzx/bilibili-mcp"
191
+ claude mcp add --scope user bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp
126
192
  ```
127
193
 
128
- 完成后重启 Claude Code 即可使用。
194
+ 也可以手动编辑 `~/.claude.json`,在对应项目或用户配置下添加与 Claude Desktop 相同的 JSON。
195
+
196
+ ### Claude Desktop
197
+
198
+ 打开 Claude Desktop 的 Settings → Developer → Edit Config,或直接编辑:
199
+
200
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
129
201
 
130
- #### 方法二:通过配置文件手动添加(高级)
202
+ - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
131
203
 
132
- 1. 打开 Claude Code 配置文件(通常在 `~/.claude.json`)
133
- 2. 在 `mcpServers` 节点下添加:
204
+ 添加:
134
205
 
135
206
  ```json
136
207
  {
@@ -142,19 +213,125 @@ claude mcp add bilibili-mcp --command "npx" --args "-y" --args "@xzxzzx/bilibili
142
213
  }
143
214
  }
144
215
  ```
145
- 3. 保存后重启 Claude Code。
146
216
 
147
- ### Claude Desktop (桌面客户端)
217
+ 保存后重启 Claude Desktop。该配置适合本地 stdio MCP server;不要在 `env`、`args` 或配置文件里写真实 Cookie。
148
218
 
149
- Claude Desktop 支持通过全局配置文件接入 MCP 服务器:
219
+ ### OpenCode
150
220
 
151
- #### 方法一:通过配置文件手动添加
221
+ 编辑 OpenCode 配置文件 `~/.config/opencode/opencode.json`,在 `mcp` 下添加本地 MCP server:
152
222
 
153
- 1. 打开 Claude Desktop 配置文件:
154
- - Windows 路径:`%APPDATA%\Claude\claude_desktop_config.json`
155
- - macOS 路径:`~/Library/Application Support/Claude/claude_desktop_config.json`
156
- - *提示:您也可以在 Claude Desktop 的 **Settings** -> **Developer** 中点击 **Edit Config** 直接打开该文件。*
157
- 2. 在 `mcpServers` 节点下添加:
223
+ ```json
224
+ {
225
+ "$schema": "https://opencode.ai/config.json",
226
+ "mcp": {
227
+ "bilibili-mcp": {
228
+ "type": "local",
229
+ "command": ["npx", "-y", "@xzxzzx/bilibili-mcp"],
230
+ "enabled": true
231
+ }
232
+ }
233
+ }
234
+ ```
235
+
236
+ OpenCode 会把 MCP tools 加入可用工具上下文。使用时可在提示词中明确要求使用 `bilibili-mcp`。
237
+
238
+ ### OpenClaw
239
+
240
+ 使用 OpenClaw 的 MCP registry 注册本服务:
241
+
242
+ ```bash
243
+ openclaw mcp set bilibili-mcp '{"command":"npx","args":["-y","@xzxzzx/bilibili-mcp"]}'
244
+ ```
245
+
246
+ 检查配置:
247
+
248
+ ```bash
249
+ openclaw mcp list
250
+ openclaw mcp show bilibili-mcp
251
+ ```
252
+
253
+ 也可以在 OpenClaw 配置中加入同等结构:
254
+
255
+ ```json
256
+ {
257
+ "mcp": {
258
+ "servers": {
259
+ "bilibili-mcp": {
260
+ "command": "npx",
261
+ "args": ["-y", "@xzxzzx/bilibili-mcp"]
262
+ }
263
+ }
264
+ }
265
+ }
266
+ ```
267
+
268
+ `openclaw mcp set` 只写入 OpenClaw 的 MCP server 定义;具体运行时是否启用,取决于你的 OpenClaw agent/runtime 配置。
269
+
270
+ ### Hermes
271
+
272
+ 编辑 `~/.hermes/config.yaml`,在 `mcp_servers` 下添加:
273
+
274
+ ```yaml
275
+ mcp_servers:
276
+ bilibili-mcp:
277
+ command: "npx"
278
+ args: ["-y", "@xzxzzx/bilibili-mcp"]
279
+ ```
280
+
281
+ 如果你已经在运行 Hermes 会话,使用 `/reload-mcp` 重新加载 MCP 配置;也可以开启一个新的 Hermes 会话。
282
+
283
+ ### Cursor
284
+
285
+ Cursor 编辑器和 Cursor CLI (`cursor-agent`) 共用同一套 `mcp.json` 配置。CLI 会自动读取编辑器已配置的 MCP server。
286
+
287
+ #### 方式一:Cursor 编辑器
288
+
289
+ 在 Cursor 设置中打开 MCP / MCP Servers,添加自定义 stdio server;也可以直接编辑配置文件。
290
+
291
+ 项目级配置:
292
+
293
+ ```text
294
+ .cursor/mcp.json
295
+ ```
296
+
297
+ 全局配置:
298
+
299
+ ```text
300
+ ~/.cursor/mcp.json
301
+ ```
302
+
303
+ 配置内容:
304
+
305
+ ```json
306
+ {
307
+ "mcpServers": {
308
+ "bilibili-mcp": {
309
+ "type": "stdio",
310
+ "command": "npx",
311
+ "args": ["-y", "@xzxzzx/bilibili-mcp"]
312
+ }
313
+ }
314
+ }
315
+ ```
316
+
317
+ #### 方式二:Cursor CLI
318
+
319
+ Cursor CLI 使用同一份 `mcp.json`,无需单独再写一份配置。可用下面命令检查:
320
+
321
+ ```bash
322
+ cursor-agent mcp list
323
+ cursor-agent mcp list-tools bilibili-mcp
324
+ ```
325
+
326
+ 如果 MCP server 需要认证,Cursor CLI 使用:
327
+
328
+ ```bash
329
+ cursor-agent mcp login bilibili-mcp
330
+ ```
331
+
332
+ ### Cline
333
+
334
+ Cline 支持本地 STDIO 和远程 MCP。编辑 Cline MCP 配置文件,加入:
158
335
 
159
336
  ```json
160
337
  {
@@ -162,56 +339,177 @@ Claude Desktop 支持通过全局配置文件接入 MCP 服务器:
162
339
  "bilibili-mcp": {
163
340
  "command": "npx",
164
341
  "args": ["-y", "@xzxzzx/bilibili-mcp"],
165
- "env": {
166
- "BILIBILI_SESSDATA": "你的_SESSDATA",
167
- "BILIBILI_BILI_JCT": "你的_bili_jct",
168
- "BILIBILI_DEDEUSERID": "你的_DedeUserID"
169
- }
342
+ "disabled": false,
343
+ "autoApprove": []
344
+ }
345
+ }
346
+ }
347
+ ```
348
+
349
+ Cline CLI 用户可用 JSON 方式查看或管理 MCP 设置:
350
+
351
+ ```bash
352
+ cline config mcp --json
353
+ ```
354
+
355
+ 配置后在 Cline 的 MCP 面板确认 server 已启用。不要把真实 Cookie 写进 Cline 配置。
356
+
357
+ ### Kilo Code
358
+
359
+ Kilo Code 的 MCP server 写在主配置文件的 `mcp` 对象下。
360
+
361
+ 配置位置:
362
+
363
+ - 全局:`~/.config/kilo/kilo.jsonc`
364
+ - 项目级:`kilo.jsonc`
365
+ - 项目级:`.kilo/kilo.jsonc`
366
+
367
+ 添加:
368
+
369
+ ```jsonc
370
+ {
371
+ "mcp": {
372
+ "bilibili-mcp": {
373
+ "type": "local",
374
+ "command": ["npx", "-y", "@xzxzzx/bilibili-mcp"],
375
+ "enabled": true,
376
+ "timeout": 10000
377
+ }
378
+ }
379
+ }
380
+ ```
381
+
382
+ 也可以在 Kilo Code 设置 UI 中打开 Agent Behaviour → MCP Servers 添加。项目级配置优先于全局配置。
383
+
384
+ ### VS Code
385
+
386
+ VS Code 原生支持 MCP 配置。工作区配置可通过命令面板打开:
387
+
388
+ ```text
389
+ MCP: Open Workspace Folder MCP Configuration
390
+ ```
391
+
392
+ 这会创建或打开:
393
+
394
+ ```text
395
+ .vscode/mcp.json
396
+ ```
397
+
398
+ 添加:
399
+
400
+ ```json
401
+ {
402
+ "servers": {
403
+ "bilibili-mcp": {
404
+ "type": "stdio",
405
+ "command": "npx",
406
+ "args": ["-y", "@xzxzzx/bilibili-mcp"]
170
407
  }
171
408
  }
172
409
  }
173
410
  ```
174
- 3. 保存文件并从侧边栏重启或重新开启对话。
175
411
 
176
- #### 方法二:通过 npm 全局安装
412
+ 用户级配置可用命令面板打开:
413
+
414
+ ```text
415
+ MCP: Open User Configuration
416
+ ```
417
+
418
+ VS Code MCP 还支持 HTTP、SSE、Windows named pipe 和 Unix socket。配置后可在 VS Code 的 MCP server 列表中启动、停止或查看 server 状态。使用本项目时不要把真实 Cookie 写进 `.vscode/mcp.json`。
419
+
420
+ ### GitHub Copilot (VS Code)
421
+
422
+ GitHub Copilot Chat 在 VS Code 中读取 VS Code MCP 配置。工作区配置可写入:
423
+
424
+ ```text
425
+ .vscode/mcp.json
426
+ ```
177
427
 
178
- 安装后可直接使用命令行工具管理配置:
428
+ 添加:
429
+
430
+ ```json
431
+ {
432
+ "servers": {
433
+ "bilibili-mcp": {
434
+ "type": "stdio",
435
+ "command": "npx",
436
+ "args": ["-y", "@xzxzzx/bilibili-mcp"]
437
+ }
438
+ }
439
+ }
440
+ ```
441
+
442
+ 也可以用命令面板打开 `MCP: Open User Configuration` 配置全局 MCP。配置后在 Copilot Chat Agent Mode 中使用该 server 的工具。
443
+
444
+ ### WorkBuddy
445
+
446
+ WorkBuddy 官方文档推荐通过界面配置 MCP。进入侧边栏 插件 → MCP 服务器 → 配置 MCP,然后添加:
447
+
448
+ ```json
449
+ {
450
+ "mcpServers": {
451
+ "bilibili-mcp": {
452
+ "type": "stdio",
453
+ "command": "npx",
454
+ "args": ["-y", "@xzxzzx/bilibili-mcp"]
455
+ }
456
+ }
457
+ }
458
+ ```
459
+
460
+ 也可以按作用域编辑配置文件:
461
+
462
+ - 用户级:`~/.workbuddy/mcp.json`
463
+ - 项目级:`<项目目录>/.workbuddy/mcp.json`
464
+
465
+ ### CodeBuddy
466
+
467
+ #### 方式一:CodeBuddy CLI
468
+
469
+ CodeBuddy CLI 可以直接添加 stdio MCP server:
179
470
 
180
471
  ```bash
181
- npm install -g @xzxzzx/bilibili-mcp
472
+ codebuddy mcp add --scope user bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp
182
473
  ```
183
474
 
184
- 安装验证与检查:
185
- 1. `bilibili-mcp --help` (查看帮助)
186
- 2. `bilibili-mcp config` (通过交互向导配置 Cookie)
187
- 3. `bilibili-mcp check` (检查配置状态)
475
+ 检查配置:
188
476
 
189
- ### 🏗️ Trae (字节跳动官方 IDE)
477
+ ```bash
478
+ codebuddy mcp list
479
+ codebuddy mcp get bilibili-mcp
480
+ ```
190
481
 
191
- Trae 提供了非常便捷的 MCP 接入界面,国内/国际版操作一致:
482
+ #### 方式二:CodeBuddy IDE
192
483
 
193
- 1. 打开 Trae 设置:点击左下角齿轮 -> **Settings** (或 `Cmd/Ctrl + ,`)。
194
- 2. 找到 **AI** 选项卡 -> **MCP**。
195
- 3. 点击 **Add Server** 按钮。
196
- 4. 在弹出窗口中填写:
197
- - **Name**: `bilibili-mcp`
198
- - **Type**: 选择 `command` (stdio)
199
- - **Command**: `npx`
200
- - **Arguments**: `["-y", "@xzxzzx/bilibili-mcp"]`
201
- 5. 点击 **Save**。
484
+ 在 CodeBuddy IDE 侧栏对话面板右上角打开 CodeBuddy Settings → MCP → Add MCP,填入:
202
485
 
203
- > **提示**:Trae 也会自动识别项目根目录下的 `.trae/mcp_config.json` 文件。
486
+ ```json
487
+ {
488
+ "mcpServers": {
489
+ "bilibili-mcp": {
490
+ "type": "stdio",
491
+ "command": "npx",
492
+ "args": ["-y", "@xzxzzx/bilibili-mcp"],
493
+ "description": "Bilibili MCP server"
494
+ }
495
+ }
496
+ }
497
+ ```
204
498
 
205
- ### 🌊 Windsurf (Codeium 官方 IDE)
499
+ 如果使用项目级 `.mcp.json`,请确认 CodeBuddy settings 允许启用该项目 MCP server。
206
500
 
207
- Windsurf 同样支持通过标准 JSON 配置文件接入:
501
+ ### Trae CN
502
+
503
+ 在 Trae CN 中打开 AI 对话窗口右上角设置入口,进入 MCP 配置;也可以直接编辑 MCP 配置文件。
504
+
505
+ 常见配置路径:
506
+
507
+ - Windows: `%APPDATA%\Trae\User\settings\mcp.json`
508
+ - macOS: `~/Library/Application Support/Trae/User/settings/mcp.json`
509
+ - 项目级:`.trae/mcp.json`
510
+
511
+ 添加:
208
512
 
209
- 1. 打开 Windsurf 设置:`Cmd/Ctrl + ,` -> 在左侧点击 **Advanced** -> **Cascade**。
210
- 2. 点击 **Add custom server +** 或 **View raw config**(这将打开 `mcp_config.json`)。
211
- 3. 如果是手动编辑,文件路径通常为:
212
- - Windows: `%USERPROFILE%\.codeium\windsurf\mcp_config.json`
213
- - macOS/Linux: `~/.codeium/windsurf/mcp_config.json`
214
- 4. 在 `mcpServers` 节点下添加:
215
513
  ```json
216
514
  {
217
515
  "mcpServers": {
@@ -222,18 +520,56 @@ Windsurf 同样支持通过标准 JSON 配置文件接入:
222
520
  }
223
521
  }
224
522
  ```
225
- 5. 保存并重启 Windsurf 后,在 Cascade 面板即可看到新添加的工具。
226
523
 
227
- ### ⚡ Zed
524
+ 如果你使用项目级 `.trae/mcp.json`,请在 Trae 的 MCP 管理面板中确认项目配置导入已启用。
228
525
 
229
- Zed 编辑器通过 `settings.json` 配置文件中的 `context_servers` 字段来支持 MCP:
526
+ ### Trae International
230
527
 
231
- 1. 打开 Zed 的设置文件:`Cmd + ,` (macOS) 或 `Ctrl + ,` (Windows/Linux)。
232
- 2. 在 JSON 配置文件中添加 (或修改) `context_servers` 节点:
528
+ 在 Trae 国际版中打开 AI 对话窗口右上角 Settings → MCP,选择 Add 或手动配置 MCP server。
529
+
530
+ 如果需要直接编辑项目级配置,可创建 `.trae/mcp.json`:
233
531
 
234
532
  ```json
235
533
  {
236
- "context_servers": {
534
+ "mcpServers": {
535
+ "bilibili-mcp": {
536
+ "command": "npx",
537
+ "args": ["-y", "@xzxzzx/bilibili-mcp"]
538
+ }
539
+ }
540
+ }
541
+ ```
542
+
543
+ Trae 支持 stdio MCP server;本项目使用 `npx` 启动 stdio server。
544
+
545
+ ### Trae SOLO CN
546
+
547
+ Trae SOLO CN 是 Trae 中国版的 SOLO 工作方式。官方公开文档没有给出独立于 Trae MCP 的专属配置文件;当前可按 Trae 项目级 MCP 配置接入,然后在 SOLO Coder 中使用。
548
+
549
+ 在项目根目录创建 `.trae/mcp.json`:
550
+
551
+ ```json
552
+ {
553
+ "mcpServers": {
554
+ "bilibili-mcp": {
555
+ "command": "npx",
556
+ "args": ["-y", "@xzxzzx/bilibili-mcp"]
557
+ }
558
+ }
559
+ }
560
+ ```
561
+
562
+ 然后在 Trae 的 MCP 管理面板中确认项目配置导入已启用,并在 SOLO Coder 中使用该 MCP server。
563
+
564
+ ### Trae SOLO International
565
+
566
+ Trae SOLO International 已存在,官方 FAQ 说明国际版 SOLO 面向 Pro 用户。没有找到单独的 SOLO 专属 MCP JSON 格式;可使用 Trae International 的 MCP 配置方式,然后在 SOLO Coder / Builder with MCP 中调用。
567
+
568
+ 项目级配置同样使用 `.trae/mcp.json`:
569
+
570
+ ```json
571
+ {
572
+ "mcpServers": {
237
573
  "bilibili-mcp": {
238
574
  "command": "npx",
239
575
  "args": ["-y", "@xzxzzx/bilibili-mcp"]
@@ -241,17 +577,22 @@ Zed 编辑器通过 `settings.json` 配置文件中的 `context_servers` 字段
241
577
  }
242
578
  }
243
579
  ```
244
- 3. 保存文件。Zed 桌面端会自动重启 Context Server。
245
- 4. 在编辑器中通过 `/` 触发 AI 辅助时,可以看到来自该服务器的 Context 或工具。
246
580
 
247
- ### ♊ Gemini CLI (Google 官方命令行工具)
581
+ 如果使用 Trae International 的 UI,打开 AI 对话窗口右上角 Settings → MCP,手动添加同等 `mcpServers` 配置。
582
+
583
+ ### Antigravity / Antigravity CLI
584
+
585
+ Gemini CLI 已迁移到 Antigravity CLI。新的 MCP 配置不再写在 `~/.gemini/settings.json`,而是使用独立的 `mcp_config.json`。
248
586
 
249
- Gemini CLI 通过全局或项目级的 `settings.json` 文件管理 MCP 服务器:
587
+ Antigravity IDE 可通过 MCP Store → Manage MCP Servers → View raw config 打开配置;Antigravity CLI 可通过 `/mcp` 管理 MCP servers。
250
588
 
251
- 1. 找到全局配置文件:
252
- - Windows: `%USERPROFILE%\.gemini\settings.json`
253
- - macOS/Linux: `~/.gemini/settings.json`
254
- 2. 在 `mcpServers` 节点下添加:
589
+ 常见配置路径:
590
+
591
+ - Antigravity IDE:`~/.gemini/antigravity/mcp_config.json`
592
+ - Antigravity CLI 全局:`~/.gemini/antigravity-cli/mcp_config.json`
593
+ - Antigravity CLI 工作区:`.agents/mcp_config.json`
594
+
595
+ 添加:
255
596
 
256
597
  ```json
257
598
  {
@@ -263,150 +604,537 @@ Gemini CLI 通过全局或项目级的 `settings.json` 文件管理 MCP 服务
263
604
  }
264
605
  }
265
606
  ```
266
- 3. 如果您是通过项目级配置,请在项目根目录创建 `.gemini/settings.json`。
267
- 4. 保存后,运行 `gemini` 命令时即可调用相关工具。
268
607
 
269
- > **国内版提示**:如果您在国内环境下使用,请确保已正确配置 `HTTP_PROXY` 或 `HTTPS_PROXY` 环境变量,以便 `npx` 顺利下载包以及 CLI 能够访问 Google API。
608
+ 保存后重启 Antigravity / Antigravity CLI,或在 CLI 中使用 `/mcp` 检查 server 是否加载。
270
609
 
271
- ### ⌨️ Codex CLI (OpenAI 官方命令行工具)
610
+ ### Pi
272
611
 
273
- Codex CLI 使用 TOML 格式的配置文件,并支持通过命令行快速添加:
612
+ Pi 通过 `pi-mcp-adapter` 使用 MCP。先安装 adapter:
274
613
 
275
- **方式一:通过命令行添加(推荐)**
276
- 直接在终端运行:
277
614
  ```bash
278
- codex mcp add bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp
615
+ pi install npm:pi-mcp-adapter
279
616
  ```
280
617
 
281
- **方式二:手动修改配置文件**
282
- 1. 找到配置文件:
283
- - 全局路径:`~/.codex/config.toml`
284
- - 项目路径:`.codex/config.toml`
285
- 2. 添加以下内容:
618
+ 重启 Pi 后,优先使用项目级共享配置:
286
619
 
287
- ```toml
288
- [mcp_servers.bilibili-mcp]
289
- command = "npx"
290
- args = ["-y", "@xzxzzx/bilibili-mcp"]
620
+ ```text
621
+ .mcp.json
291
622
  ```
292
- 保存后重启 Codex CLI 即可识别工具。
293
623
 
294
- ### 🪐 Antigravity (Google 官方 IDE)
624
+ 添加:
295
625
 
296
- Antigravity 原生支持 MCP 协议。你可以通过 UI 界面或直接修改配置文件来添加:
626
+ ```json
627
+ {
628
+ "mcpServers": {
629
+ "bilibili-mcp": {
630
+ "command": "npx",
631
+ "args": ["-y", "@xzxzzx/bilibili-mcp"]
632
+ }
633
+ }
634
+ }
635
+ ```
636
+
637
+ 也可以使用用户级共享配置:
638
+
639
+ ```text
640
+ ~/.config/mcp/mcp.json
641
+ ```
642
+
643
+ Pi 还支持 Pi 专属覆盖文件:
644
+
645
+ - 全局:`~/.pi/agent/mcp.json`
646
+ - 项目级:`.pi/mcp.json`
647
+
648
+ 如果你已经在 Cursor、Claude Code、Codex、Windsurf 等客户端里配置过 MCP,可在 Pi 中运行 `/mcp setup` 导入或生成配置;终端也可运行:
649
+
650
+ ```bash
651
+ pi-mcp-adapter init
652
+ ```
653
+
654
+ Pi 默认 lazy 连接 MCP server,只有实际调用工具时才启动。进入 Pi 后使用 `/mcp` 查看 server 状态和工具列表。不要在 Pi 的 MCP 配置里写真实 Cookie;凭证请用 `bilibili-mcp config` 或环境变量配置。
655
+
656
+ ### Oh My Pi
657
+
658
+ Oh My Pi (`omp`) 原生支持 MCP,优先使用 OMP 专属配置文件:
659
+
660
+ - 项目级:`.omp/mcp.json`
661
+ - 用户级:`~/.omp/agent/mcp.json`
662
+
663
+ 也可以使用可被其他 MCP client 复用的项目根配置:
297
664
 
298
- **方式一:通过界面添加(推荐)**
299
- 1. 在编辑器侧边栏顶部点击 `...` 下拉菜单,打开 **MCP Store** 面板。
300
- 2. 点击 **Manage MCP Servers -> View raw config**。
301
- 3. 参考下方 JSON 格式填入配置。
665
+ - `mcp.json`
666
+ - `.mcp.json`
302
667
 
303
- **方式二:手动修改配置文件**
304
- - Windows 路径:`%USERPROFILE%\.gemini\antigravity\mcp_config.json`
305
- - macOS/Linux 路径:`~/.gemini/antigravity/mcp_config.json`
668
+ 添加:
306
669
 
307
- 在 `mcpServers` 节点下添加:
308
670
  ```json
309
671
  {
672
+ "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/src/config/mcp-schema.json",
310
673
  "mcpServers": {
311
674
  "bilibili-mcp": {
675
+ "type": "stdio",
312
676
  "command": "npx",
313
677
  "args": ["-y", "@xzxzzx/bilibili-mcp"]
314
678
  }
315
679
  }
316
680
  }
317
681
  ```
318
- 保存后配置即刻生效。
319
682
 
320
- ### 📦 OpenCode
683
+ 也可以在 OMP 会话中使用引导式配置:
321
684
 
322
- OpenCode 用户可以通过编辑配置文件接入:
685
+ ```text
686
+ /mcp add
687
+ ```
688
+
689
+ 修改配置后使用:
690
+
691
+ ```text
692
+ /mcp reload
693
+ /mcp list
694
+ /mcp test bilibili-mcp
695
+ ```
696
+
697
+ OMP 支持 `stdio`、`http` 和 `sse` MCP。不要在 `env`、`args` 或配置文件中写真实 Cookie。
698
+
699
+ ### Crush
700
+
701
+ Crush 支持项目级和用户级 JSON 配置,MCP server 写在 `mcp` 对象下。
702
+
703
+ 配置优先级:
323
704
 
324
- 1. 编辑 `~/.config/opencode/opencode.json`
325
- 2. 在 `mcp` 节点下添加以下内容:
705
+ - 项目级:`.crush.json`
706
+ - 项目级:`crush.json`
707
+ - 用户级:`~/.config/crush/crush.json`
708
+
709
+ 添加:
326
710
 
327
711
  ```json
328
712
  {
329
- "$schema": "https://opencode.ai/config.json",
713
+ "$schema": "https://charm.land/crush.json",
330
714
  "mcp": {
715
+ "bilibili-mcp": {
716
+ "type": "stdio",
717
+ "command": "npx",
718
+ "args": ["-y", "@xzxzzx/bilibili-mcp"]
719
+ }
720
+ }
721
+ }
722
+ ```
723
+
724
+ Crush 也支持 HTTP 和 SSE MCP。不要在 `env` 或 `args` 中写真实 Cookie;凭证请使用本项目的 CLI 向导或环境变量。
725
+
726
+ ### DeepSeek-TUI
727
+
728
+ DeepSeek-TUI 同时是 MCP client 和 MCP server。作为 MCP client 时,可用 `deepseek mcp add` 添加本项目:
729
+
730
+ ```bash
731
+ deepseek mcp add bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp
732
+ ```
733
+
734
+ 也可以编辑:
735
+
736
+ ```text
737
+ ~/.deepseek/mcp.json
738
+ ```
739
+
740
+ 添加:
741
+
742
+ ```json
743
+ {
744
+ "mcpServers": {
745
+ "bilibili-mcp": {
746
+ "command": "npx",
747
+ "args": ["-y", "@xzxzzx/bilibili-mcp"]
748
+ }
749
+ }
750
+ }
751
+ ```
752
+
753
+ 可用 `deepseek mcp list` 和 `deepseek mcp validate` 检查配置。DeepSeek-TUI 暴露的 MCP 工具通常以 `mcp_<server>_<tool>` 形式出现。
754
+
755
+ ### Deep Code
756
+
757
+ Deep Code 使用 `~/.deepcode/settings.json` 配置 MCP server。把 `bilibili-mcp` 加到 `mcpServers`:
758
+
759
+ ```json
760
+ {
761
+ "mcpServers": {
762
+ "bilibili-mcp": {
763
+ "command": "npx",
764
+ "args": ["@xzxzzx/bilibili-mcp"]
765
+ }
766
+ }
767
+ }
768
+ ```
769
+
770
+ Deep Code 文档说明 `command` 为 `npx` 时会自动补充 `-y`。配置后启动 `deepcode`,输入 `/mcp` 查看 MCP server 状态和可用工具。
771
+
772
+ ### Reasonix
773
+
774
+ Reasonix 支持原生 MCP。最简单的方式是启动时传入 `--mcp`:
775
+
776
+ ```bash
777
+ npx reasonix code --mcp "bilibili=npx -y @xzxzzx/bilibili-mcp"
778
+ ```
779
+
780
+ 也可以编辑全局配置:
781
+
782
+ ```text
783
+ ~/.reasonix/config.json
784
+ ```
785
+
786
+ 在 `mcp` 数组中添加:
787
+
788
+ ```json
789
+ {
790
+ "mcp": [
791
+ "bilibili=npx -y @xzxzzx/bilibili-mcp"
792
+ ]
793
+ }
794
+ ```
795
+
796
+ Reasonix 的格式是 `name=command arg1 arg2`。如果需要项目级覆盖,可放在项目的 `.reasonix/` 下。
797
+
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
+ ### GitHub Copilot CLI
817
+
818
+ GitHub Copilot CLI 可在交互模式里使用 `/mcp add` 添加 MCP server。按表单选择 `STDIO` 或 `Local`,然后填入:
819
+
820
+ - Server Name: `bilibili-mcp`
821
+ - Command: `npx`
822
+ - Args: `-y @xzxzzx/bilibili-mcp`
823
+
824
+ 也可以编辑用户级配置:
825
+
826
+ ```text
827
+ ~/.copilot/mcp-config.json
828
+ ```
829
+
830
+ 添加:
831
+
832
+ ```json
833
+ {
834
+ "mcpServers": {
331
835
  "bilibili-mcp": {
332
836
  "type": "local",
333
- "command": ["npx", "-y", "@xzxzzx/bilibili-mcp"],
334
- "enabled": true
837
+ "command": "npx",
838
+ "args": ["-y", "@xzxzzx/bilibili-mcp"],
839
+ "env": {},
840
+ "tools": ["*"]
335
841
  }
336
842
  }
337
843
  }
338
844
  ```
339
845
 
340
- ---
846
+ 项目级配置可用 `.mcp.json` 或 `.github/mcp.json`,并且会优先于用户级同名 server。进入 Copilot CLI 后可用 `/mcp show` 查看状态。
341
847
 
342
- ---
848
+ ### Windsurf
343
849
 
344
- ## ⚙️ 凭证配置
850
+ Windsurf 的 MCP 由 Cascade 使用。官方入口是 Cascade 面板右上角的 `MCPs` 图标,或 Windsurf Settings → Cascade → MCP Servers。
345
851
 
346
- 为了获取更完整的评论数据、绕过匿名访问限制并确保工具稳定运行,**必须**配置 B 站 Cookie。
852
+ #### 方式一:Cascade / MCP Servers UI
347
853
 
348
- ### 🔑 第一步:获取 Bilibili Cookie
854
+ 打开 MCP Marketplace 或 MCP Servers 设置后,添加自定义 stdio MCP server:
349
855
 
350
- 1. 在电脑浏览器登录 [bilibili.com](https://www.bilibili.com)
351
- 2. 按 `F12` 打开开发者工具(或在页面右键选择“检查”)。
352
- 3. 切换到 **Application (应用)** 选项卡 -> 在左侧菜单找到 **Cookies** -> 点击 `https://www.bilibili.com`。
353
- 4. 在右侧列表中找到以下三个关键变量,并记录它们的 **Value**:
354
- - `SESSDATA`
355
- - `bili_jct` (即 CSRF Token)
356
- - `DedeUserID` (您的用户数字 ID)
856
+ - Command: `npx`
857
+ - Arguments: `["-y", "@xzxzzx/bilibili-mcp"]`
357
858
 
358
- > [!TIP]
359
- > 如果您在 `Application` 找不到,也可以查看 `Network` (网络) 选项卡中的任意一个请求,在 `Headers` -> `Cookie` 字段中也能找到这些值。
859
+ Windsurf 也支持 MCP deeplink;如果你在文档或网页中提供安装入口,可以使用 `windsurf://windsurf-mcp-registry?serverName=<server-name>` 打开对应 MCP registry 页面。
860
+
861
+ #### 方式二:Raw config
862
+
863
+ 直接编辑:
360
864
 
361
- ### 📝 第二步:应用凭证
865
+ ```text
866
+ ~/.codeium/windsurf/mcp_config.json
867
+ ```
362
868
 
363
- 您可以针对不同的使用习惯选择以下任一方式:
869
+ 添加:
870
+
871
+ ```json
872
+ {
873
+ "mcpServers": {
874
+ "bilibili-mcp": {
875
+ "command": "npx",
876
+ "args": ["-y", "@xzxzzx/bilibili-mcp"]
877
+ }
878
+ }
879
+ }
880
+ ```
881
+
882
+ Windsurf/Cascade 支持 `stdio`、Streamable HTTP 和 SSE MCP。本项目使用本地 stdio server,因此不要把真实 Bilibili Cookie 写进该配置文件;凭证请用 `bilibili-mcp config` 或环境变量配置。
883
+
884
+ ### Zed
885
+
886
+ Zed 使用 `context_servers` 配置 MCP,不使用 `mcpServers`。可以通过 Agent Panel 的 settings view 添加自定义 server,也可以直接编辑 `settings.json`。
887
+
888
+ #### 方式一:Agent Panel UI
889
+
890
+ 打开 Agent Panel 的 Settings view,点击 Add Custom Server,填入本项目的 stdio server 配置。
891
+
892
+ 配置后,在 Agent Panel 的 settings view 中查看 server 名称旁边的状态圆点;绿色表示 server active。
893
+
894
+ #### 方式二:settings.json
895
+
896
+ 用户级设置可通过 Zed 的 `zed: open settings` 打开。项目级设置可写入:
897
+
898
+ ```text
899
+ .zed/settings.json
900
+ ```
901
+
902
+ 添加:
903
+
904
+ ```json
905
+ {
906
+ "context_servers": {
907
+ "bilibili-mcp": {
908
+ "command": "npx",
909
+ "args": ["-y", "@xzxzzx/bilibili-mcp"]
910
+ }
911
+ }
912
+ }
913
+ ```
914
+
915
+ #### 方式三:Zed extension
916
+
917
+ Zed 也支持以 extension 的方式安装 MCP server。通用自定义 server 用上面的 `context_servers` 更直接;如果未来本项目发布 Zed MCP extension,再改用 extension 安装。
918
+
919
+ Zed 支持 MCP Tools 和 Prompts,也支持远程 MCP;远程 server 使用 `url` 和可选 `headers`。本项目是本地 stdio server,不要在 Zed 配置里写真实 Bilibili Cookie。
920
+
921
+ ### Cherry Studio
922
+
923
+ Cherry Studio 在 Settings → MCP Server 中添加 MCP server。添加本项目时选择 `STDIO`:
924
+
925
+ - Name: `bilibili-mcp`
926
+ - Type: `STDIO`
927
+ - Command: `npx`
928
+ - Parameters: `-y @xzxzzx/bilibili-mcp`
929
+
930
+ 保存后,Cherry Studio 会启动该 MCP server;在聊天窗口中启用对应 MCP server 后即可调用工具。
931
+
932
+ ### LobeHub / LobeChat
933
+
934
+ LobeChat Desktop 支持导入 MCP server JSON。打开:
935
+
936
+ ```text
937
+ Settings → Default Agent → Plugin Settings → Custom Plugins → Quick JSON Configuration Import
938
+ ```
939
+
940
+ 粘贴:
941
+
942
+ ```json
943
+ {
944
+ "mcpServers": {
945
+ "bilibili-mcp": {
946
+ "command": "npx",
947
+ "args": ["-y", "@xzxzzx/bilibili-mcp"]
948
+ }
949
+ }
950
+ }
951
+ ```
952
+
953
+ 安装后,在对应 Agent 的插件设置中启用该 MCP server。不要把真实 Cookie 写进 LobeChat 配置;凭证请通过本项目 CLI 或环境变量配置。
954
+
955
+ ### AstrBot
956
+
957
+ AstrBot 通过 WebUI 管理 MCP。先确保 AstrBot 运行环境可使用 `npm` 和 `node`,然后在 WebUI 的 MCP 服务器管理入口添加本地 MCP server:
958
+
959
+ ```json
960
+ {
961
+ "mcpServers": {
962
+ "bilibili-mcp": {
963
+ "command": "npx",
964
+ "args": ["-y", "@xzxzzx/bilibili-mcp"]
965
+ }
966
+ }
967
+ }
968
+ ```
969
+
970
+ 如果 AstrBot 运行在 Docker 中,需要确保容器内已安装 Node.js / npm,且容器能访问运行 MCP server 所需的网络。
971
+
972
+ ### nanobot
973
+
974
+ nanobot 的配置文件是:
975
+
976
+ ```text
977
+ ~/.nanobot/config.json
978
+ ```
979
+
980
+ 在 `tools.mcpServers` 下添加:
981
+
982
+ ```json
983
+ {
984
+ "tools": {
985
+ "mcpServers": {
986
+ "bilibili-mcp": {
987
+ "command": "npx",
988
+ "args": ["-y", "@xzxzzx/bilibili-mcp"]
989
+ }
990
+ }
991
+ }
992
+ }
993
+ ```
994
+
995
+ nanobot 的 MCP 配置兼容 Claude Desktop / Cursor 风格;也支持远程 MCP 的 `url` 和 `headers`。凭证仍应由本项目 CLI 或环境变量管理,不要写入 nanobot 配置。
996
+
997
+ ## ⚙️ 凭证配置
998
+
999
+ 为了稳定获取字幕、转录和评论,建议配置 Bilibili Cookie。公开视频元数据可能无需 Cookie,但不要依赖无 Cookie 模式获取字幕或评论。
1000
+
1001
+ ### 推荐方式:CLI 向导
364
1002
 
365
- #### 方式 A:使用 CLI 向导(推荐,适用于全局安装)
366
- 如果您全局安装了 npm 包(`npm i -g @xzxzzx/bilibili-mcp`),直接运行:
367
1003
  ```bash
1004
+ npm install -g @xzxzzx/bilibili-mcp
368
1005
  bilibili-mcp config
1006
+ bilibili-mcp check
369
1007
  ```
370
- 交互向导将引导您输入凭证并安全保存在**本地**配置目录(`~/.bilibili-mcp/config.json`)中。
371
1008
 
372
- #### 方式 B:手动配置环境变量(适用于本地开发或 Docker)
373
- 在项目根目录创建 `.env` 文件,手动填入以下变量:
1009
+ CLI 会把凭证保存在本地配置目录,不会写入仓库。
1010
+
1011
+ ### 环境变量方式
1012
+
1013
+ 适合 Docker、本地开发或手动配置 MCP 客户端环境变量。
374
1014
 
375
1015
  | 变量名 | 说明 |
376
- | :--- | :--- |
377
- | **BILIBILI_SESSDATA** | `SESSDATA` 的值 |
378
- | **BILIBILI_BILI_JCT** | `bili_jct` 的值 |
379
- | **BILIBILI_DEDEUSERID** | `DedeUserID` 的值 |
1016
+ |---|---|
1017
+ | `BILIBILI_SESSDATA` | Bilibili 登录 Cookie 中的 SESSDATA |
1018
+ | `BILIBILI_BILI_JCT` | Bilibili 登录 Cookie 中的 bili_jct |
1019
+ | `BILIBILI_DEDEUSERID` | Bilibili 用户 ID |
1020
+
1021
+ `.env` 示例:
1022
+
1023
+ ```env
1024
+ BILIBILI_SESSDATA=<your_sessdata>
1025
+ BILIBILI_BILI_JCT=<your_bili_jct>
1026
+ BILIBILI_DEDEUSERID=<your_dedeuserid>
1027
+ ```
1028
+
1029
+ ### Cookie 获取提醒
380
1030
 
381
- > [!WARNING]
382
- > `.env` 文件仅供本地加载,**切勿提交到 Git 或公开仓库**。
1031
+ 请只从你自己的 Bilibili 登录会话中获取 Cookie。不同浏览器的开发者工具界面会变化,具体步骤请以浏览器实际界面为准。
383
1032
 
384
- #### 🔒 安全须知
1033
+ 不要把 Cookie 发给他人,不要粘贴到公开聊天、Issue、PR、README、日志或测试文件。
385
1034
 
386
- - **隐私保护**:您的凭证信息仅存储在您的本地设备上。本工具**绝不会**将其上传至除 Bilibili 官方 API 以外的任何第三方服务器。
387
- - **配置隔离**:`.env` 文件已被 `.gitignore` 排除。
388
- - **时效性**:Cookie 具有时效性。若遇到 `412` 或权限错误,请尝试更新 Cookie。
1035
+ ### 安全须知
1036
+
1037
+ - Cookie 只应保存在本地配置、环境变量或 `.env` 中。
1038
+ - `.env` 已被 `.gitignore` 排除,但仍要避免提交。
1039
+ - Cookie 泄露后应立即在 Bilibili 账号侧失效旧登录状态。
1040
+ - 本项目不会把 Cookie 上传到除 Bilibili 官方 API 以外的第三方服务。
389
1041
 
390
1042
  ---
391
1043
 
392
- ## 💡 工具使用示例
1044
+ ## 🧭 该用哪个工具?
1045
+
1046
+ | 目标 | 推荐工具 | 返回重点 |
1047
+ |---|---|---|
1048
+ | 想让 AI 总结一个视频 | `get_video_info` | 字幕优先;无字幕时返回标题、简介、标签 |
1049
+ | 只想拿完整转录文本 | `get_video_transcript` | 纯字幕文本、语言、数据来源 |
1050
+ | 想查看标题、作者、播放量等结构化信息 | `get_video_metadata` | 标题、作者、时长、发布时间、标签、统计数据 |
1051
+ | 想看观众反馈和热门评论 | `get_video_comments` | 热门评论、时间戳评论、可选回复 |
1052
+
1053
+ ## 💡 工具调用示例
1054
+
1055
+ > AI 客户端会自动将你的自然语言意图转换为对应的 JSON 调用。
1056
+
1057
+ ### `get_video_transcript`
1058
+
1059
+ **适合**:需要把视频内容交给 AI 做摘要、笔记、问答或知识整理。
1060
+
1061
+ 请求示例:
393
1062
 
394
- 在支持 MCP 的对话流中,你可以直接输入自然语言,底层会自动调用对应的 JSON 格式配置:
1063
+ ```json
1064
+ {
1065
+ "name": "get_video_transcript",
1066
+ "arguments": {
1067
+ "bvid_or_url": "https://www.bilibili.com/video/BV1xx411c7mD",
1068
+ "preferred_lang": "zh-Hans",
1069
+ "fallback_to_description": false
1070
+ }
1071
+ }
1072
+ ```
1073
+
1074
+ 返回内容:`bvid`、`title`、`language`、`transcript`(按行合并)、`data_source`(`subtitle` 或 `description`)。
1075
+
1076
+ > 默认无字幕时返回 `SUBTITLE_UNAVAILABLE`。如需降级,设置 `fallback_to_description: true`。
1077
+
1078
+ ### `get_video_metadata`
1079
+
1080
+ **适合**:想快速了解视频基本信息,不需要字幕或评论内容。
1081
+
1082
+ 请求示例:
1083
+
1084
+ ```json
1085
+ {
1086
+ "name": "get_video_metadata",
1087
+ "arguments": {
1088
+ "bvid_or_url": "BV1xx411c7mD"
1089
+ }
1090
+ }
1091
+ ```
1092
+
1093
+ 返回内容:`bvid`、`title`、`author`、`duration`、`pubdate` / `pubdate_timestamp`、`description`、`tags` 和 `stats`(播放、点赞、投币、收藏、分享、评论、弹幕)。
1094
+
1095
+ ### `get_video_info`
1096
+
1097
+ **适合**:让 AI 总结视频核心内容——会优先尝试字幕,无字幕时回退到简介和标签。
1098
+
1099
+ 请求示例:
395
1100
 
396
1101
  ```json
397
- // 获取默认语言视频信息
398
1102
  {
399
1103
  "name": "get_video_info",
400
- "arguments": { "bvid_or_url": "BV1xx4x1x7xx" }
1104
+ "arguments": {
1105
+ "bvid_or_url": "https://www.bilibili.com/video/BV1xx411c7mD",
1106
+ "preferred_lang": "zh-Hans"
1107
+ }
401
1108
  }
1109
+ ```
1110
+
1111
+ 返回内容:`data_source`(`subtitle` 或 `description`)、`video_info`(标题、描述、标签、字幕文本、发布时间)。
1112
+
1113
+ > 无字幕视频会自动降级返回描述和标签(即 `data_source: "description"`)。
402
1114
 
403
- // 获取 10 条简短评估
1115
+ ### `get_video_comments`
1116
+
1117
+ **适合**:想了解观众对视频的真实评价、找精彩时间点。
1118
+
1119
+ 请求示例:
1120
+
1121
+ ```json
404
1122
  {
405
1123
  "name": "get_video_comments",
406
- "arguments": { "bvid_or_url": "BV1xx4x1x7xx", "detail_level": "brief" }
1124
+ "arguments": {
1125
+ "bvid_or_url": "BV1xx411c7mD",
1126
+ "detail_level": "detailed",
1127
+ "limit": 10,
1128
+ "sort": "hot",
1129
+ "include_replies": true
1130
+ }
407
1131
  }
408
1132
  ```
409
1133
 
1134
+ 返回内容:`comments[]`(含 `author`、`content`、`likes`、`timestamp`、`has_timestamp`)、`summary`(总数和时间戳评论数)。
1135
+
1136
+ > Cookie 过期或未登录可能导致评论为空。`sort: "time"` 可获取最新评论,`include_replies: false` 不返回子回复。
1137
+
410
1138
  ---
411
1139
 
412
1140
  ## 🛡️ API 限流机制