@xzxzzx/bilibili-mcp 1.9.0 → 1.9.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.
package/README.md CHANGED
@@ -1,1555 +1,101 @@
1
- # Bilibili MCP Tool
2
-
3
- [![npm version](https://img.shields.io/npm/v/@xzxzzx/bilibili-mcp.svg)](https://www.npmjs.com/package/@xzxzzx/bilibili-mcp)
4
- [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
5
- [![npm downloads](https://img.shields.io/npm/dm/@xzxzzx/bilibili-mcp.svg)](https://www.npmjs.com/package/@xzxzzx/bilibili-mcp)
6
-
7
- Bilibili MCP server — 让 Claude、Cursor、Codex 等 AI 客户端直接搜索 Bilibili 视频,并读取字幕、转录、元数据和热门评论的 MCP server。
8
-
9
- 🌐 [English Documentation](https://github.com/XZXZZX-Ai/bilibili-mcp/blob/master/README_EN.md) · 📜 [更新日志](https://github.com/XZXZZX-Ai/bilibili-mcp/blob/master/CHANGELOG.md) · 📦 [npm](https://www.npmjs.com/package/@xzxzzx/bilibili-mcp) · 🚀 [Release v1.8.0](https://github.com/XZXZZX-Ai/bilibili-mcp/releases/tag/v1.8.0)
10
-
11
- > [!TIP]
12
- > ⚠️ 你可以把下方“用 agent 工具帮你安装”的提示词复制给 Codex、Claude Code、Cursor 等 agent,让它帮你完成 MCP 客户端接入和 Cookie 配置引导。为了稳定获取字幕、转录和评论,安装后仍需配置 B 站 Cookie(agent会引导你);不要把 Cookie 写进 MCP 客户端配置。Metadata 可能无需 Cookie。详见 [**凭证配置**](#️-凭证配置)。
13
-
14
- ---
15
-
16
- ## ⚡ 快速开始
17
-
18
- 选择你正在使用的 AI 客户端,点击后可直接跳转到详细配置方法:
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
- 请先到 https://github.com/XZXZZX-Ai/bilibili-mcp 阅读项目 README 的“快速开始”和“客户端接入方式”章节,找到我当前使用的 agent/客户端对应的 MCP 配置方式,然后按该客户端的官方配置位置添加这个 server。
28
-
29
- MCP server 配置要求:
30
- - server 名称:bilibili-mcp
31
- - command:npx
32
- - args:["-y", "@xzxzzx/bilibili-mcp@latest"]
33
-
34
- 不要把真实 Bilibili Cookie 写入 MCP 客户端配置文件、客户端配置里的 env 字段、args 或聊天消息中。
35
- 添加 MCP server 后,请继续引导我单独运行下面的命令,把 Cookie 保存到本机凭证配置;MCP server 启动后会自动读取这些凭证:
36
-
37
- npx -y @xzxzzx/bilibili-mcp@latest config
38
- npx -y @xzxzzx/bilibili-mcp@latest check
39
-
40
- 连接 MCP server 后,如可用,请调用 get_credential_setup_instructions、check_bilibili_credentials 或 check_mcp_update,确认我完成 Cookie 配置并了解包版本更新状态。
41
- ```
42
-
43
- - [Codex app / Codex CLI](#codex-app--codex-cli)
44
- - [Claude Code](#claude-code)
45
- - [Claude Desktop](#claude-desktop)
46
- - [OpenCode](#opencode)
47
- - [OpenClaw](#openclaw)
48
- - [Hermes](#hermes)
49
- - [WorkBuddy](#workbuddy)
50
- - [CodeBuddy](#codebuddy)
51
- - [Trae CN](#trae-cn)
52
- - [Trae International](#trae-international)
53
- - [Trae SOLO CN](#trae-solo-cn)
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)
57
- - [Antigravity / Antigravity CLI](#antigravity--antigravity-cli)
58
- - [Pi](#pi)
59
- - [Oh My Pi](#oh-my-pi)
60
- - [Crush](#crush)
61
- - [DeepSeek-TUI](#deepseek-tui)
62
- - [Deep Code](#deep-code)
63
- - [Reasonix](#reasonix)
64
- - [GitHub Copilot CLI](#github-copilot-cli)
65
- - [Cursor](#cursor)
66
- - [Cline](#cline)
67
- - [Kilo Code](#kilo-code)
68
- - [VS Code](#vs-code)
69
- - [GitHub Copilot (VS Code)](#github-copilot-vs-code)
70
- - [Windsurf](#windsurf)
71
- - [Zed](#zed)
72
- - [Cherry Studio](#cherry-studio)
73
- - [LobeHub / LobeChat](#lobehub--lobechat)
74
- - [AstrBot](#astrbot)
75
- - [nanobot](#nanobot)
76
-
77
- ---
78
-
79
- ## 📑 目录
80
-
81
- - [⚡ 快速开始](#-快速开始)
82
- - [🌟 功能特性](#-功能特性)
83
- - [1. 视频总结 (`get_video_info`)](#1-视频总结-get_video_info)
84
- - [2. 评论总结 (`get_video_comments`)](#2-评论总结-get_video_comments)
85
- - [3. 视频转录 (`get_video_transcript`)](#3-视频转录-get_video_transcript)
86
- - [4. 视频元数据 (`get_video_metadata`)](#4-视频元数据-get_video_metadata)
87
- - [5. 视频章节 (`get_video_chapters`)](#5-视频章节-get_video_chapters)
88
- - [6. 视频发现 (`search_bilibili_videos`)](#6-视频发现-search_bilibili_videos)
89
- - [7. 凭证助手工具](#7-凭证助手工具)
90
- - [8. 行为说明与错误处理](#8-行为说明与错误处理)
91
- - [📋 环境要求](#-环境要求)
92
- - [🚀 客户端接入方式](#-客户端接入方式)
93
- - [⚙️ 凭证配置](#️-凭证配置)
94
- - [🧭 该用哪个工具](#-该用哪个工具)
95
- - [💡 工具调用示例](#-工具调用示例)
96
- - [🛡️ API 限流机制](#️-api-限流机制)
97
- - [🛠️ 开发指南](#️-开发指南)
98
- - [⚖️ 安全性与免责声明](#️-安全性与免责声明)
99
- - [💬 反馈与建议](#-反馈与建议)
100
-
101
- ---
102
-
103
- ## 🌟 功能特性
104
-
105
- ### 1. 视频总结 (`get_video_info`)
106
- - 优先获取视频的 CC 或 AI 字幕
107
- - 无字幕时自动降级为视频标题、简介和标签
108
- - 支持多语言字幕选择(默认优先简体中文)
109
- - 可手动指定偏好字幕语言(如 `en`, `zh-Hant` 等)
110
-
111
- ### 2. 评论总结 (`get_video_comments`)
112
- - 获取视频热门评论,辅助判断视频真实口碑
113
- - 自动过滤表情占位符(如 `[doge]`)以保持文本整洁
114
- - 优先保留包含时间戳的评论(如 `05:20`),方便定位高能片段
115
- - 支持两种详细程度:
116
- - `brief`: 10 条热门评论速览
117
- - `detailed`: 20 条热门评论 + 高赞连带回复
118
- - 可选参数:
119
- - `limit`: 显式评论数量 `1-50`,覆盖 `detail_level` 的默认数量
120
- - `sort`: 排序方式 `"hot"`(按热度,默认)或 `"time"`(按时间)
121
- - `include_replies`: 是否包含高赞回复(默认 `true`)
122
-
123
- ### 3. 视频转录 (`get_video_transcript`)
124
- - 返回纯字幕文本,按行合并
125
- - 支持指定偏好语言(默认按 `zh-Hans` > `ai-zh` > `zh-CN` > `zh-Hant` > `en` 优先级选择)
126
- - 支持多P分集选择、时间戳输出和时间区间过滤
127
- - 支持可选关键词搜索:返回带上下文的时间戳匹配列表(大小写不敏感字面匹配)
128
- - 成功调用会同时返回向后兼容的格式化 JSON 文本和内容相同的 MCP `structuredContent`
129
- - 可选参数:
130
- - `preferred_lang`: 偏好字幕语言代码
131
- - `fallback_to_description`: 字幕不可用时是否降级为视频描述(默认 `false`)
132
- - `page`: 多P视频分集编号(从1开始的正整数)
133
- - `include_timestamps`: 每行添加 `[HH:MM:SS --> HH:MM:SS]` 时间戳前缀
134
- - `start_seconds` / `end_seconds`: 只返回与此区间重叠的字幕段
135
- - `query`: 关键词搜索词(最多100字符,大小写不敏感字面匹配)
136
- - `max_matches`: 最大匹配数(1-20,默认10)
137
- - `context_segments`: 每个匹配前后的上下文段数(0-5,默认1)
138
- - 默认不降级:无字幕时返回 `SUBTITLE_UNAVAILABLE` 错误
139
- - 时间戳/区间过滤/关键词搜索与描述降级不兼容:请求 timed 输出或搜索时不会静默降级
140
- - Cookie 失效时始终返回 `COOKIE_EXPIRED`,不静默降级
141
- - 证据链接:
142
- - 成功结果根字段 `source_url`:指向当前选中 Part 的 Bilibili 浏览器源 URL(多 P 视频附加 `p=<page>`)
143
- - 关键词搜索的每个 `matches[]` 项附带 `timestamp_url`:在 `source_url` 基础上叠加 `t=<start_seconds>`,直达命中字幕的播放时刻
144
-
145
- ### 4. 视频元数据 (`get_video_metadata`)
146
- - 返回视频标题、作者、时长、发布时间、描述、标签、播放/点赞/投币等统计信息
147
- - 返回多P分集列表(`pages`),含分集编号、CID、标题和时长
148
- - 不获取字幕或评论
149
-
150
- ### 5. 视频章节 (`get_video_chapters`)
151
- - 返回 Bilibili 创作者/平台定义的视频章节(进度条分段),含章节标题和起止时间
152
- - 无章节时返回空列表(`chapters: []`),不推断章节
153
- - 可选参数 `page`:多P视频分集编号
154
-
155
- ### 6. 视频发现 (`search_bilibili_videos`)
156
-
157
- - 按关键词返回 Bilibili 综合排序的普通视频候选;默认 5 条,最多 10 条。
158
- - 候选只包含可选择和传给现有工具的元数据,不自动获取字幕、评论,也不进行 AI 重排。
159
- - 必须先配置且登录 Bilibili Cookie;成功结果同时提供格式化 JSON 文本和内容相同的 MCP `structuredContent`。
160
-
161
- ### 7. 凭证助手工具
162
-
163
- - `get_credential_setup_instructions`: 返回安全的 Bilibili Cookie 配置命令和说明。AI agent 安装此 MCP 后可调用此工具引导用户完成配置。
164
- - `check_bilibili_credentials`: 检查凭证是否已配置并处于登录状态,不返回任何 Cookie 值。配置缺失或失效时返回下一步操作指引。
165
- - `check_mcp_update`: 检查本地包版本与 npm latest 是否一致,并返回 `npx @latest` 或全局安装的安全更新指引。
166
-
167
- ### 8. 行为说明与错误处理
168
-
169
- - **Cookie 过期智能检测**:当字幕获取为空时自动验证登录状态,区分“无字幕视频”与“凭证失效”,并抛出明确的 `COOKIE_EXPIRED` 错误,避免静默降级。
170
-
171
- #### 无 Cookie 行为
172
-
173
- - 部分公开视频元数据(`get_video_metadata`)可能在未登录状态下工作。
174
- - 字幕(`get_video_info`、`get_video_transcript`)在未登录时可能无法获取、不完整或返回空结果。
175
- - 评论(`get_video_comments`)在未登录时可能不完整、被限流或返回空列表。
176
- - 视频发现(`search_bilibili_videos`)强制检查已配置且有效的登录凭证;不提供匿名降级。
177
- - 不建议依赖无 Cookie 模式获取字幕或评论。
178
-
179
- #### Cookie 凭据来源
180
-
181
- - Cookie 凭据应通过 `.env` 文件、环境变量或凭据管理工具提供。
182
- - 支持的环境变量:`BILIBILI_SESSDATA`、`BILIBILI_BILI_JCT`、`BILIBILI_DEDEUSERID`。
183
- - **切勿**在源码、脚本、文档、测试、日志或示例中硬编码 Cookie 值。
184
- - 如果 Cookie 值曾出现在仓库历史中,应尽快到 Bilibili 账号设置中轮换/失效旧 Cookie。
185
-
186
- #### 预期错误码
187
-
188
- 所有 MCP 工具的错误响应都使用统一的结构化 payload,同时保留向后兼容的 `error`、`message`、`code`、`next_steps` 字段,并新增中英双语与分类字段:
189
-
190
- ```json
191
- {
192
- "error": true,
193
- "message": "Network request failed.",
194
- "message_en": "Network request failed.",
195
- "message_zh": "网络请求失败。",
196
- "code": "NETWORK_ERROR",
197
- "category": "network",
198
- "retryable": true,
199
- "user_action_required": false,
200
- "next_steps": ["Retry later.", "Check local network, proxy, firewall, or VPN settings if the problem repeats."],
201
- "next_steps_en": ["Retry later.", "Check local network, proxy, firewall, or VPN settings if the problem repeats."],
202
- "next_steps_zh": ["稍后重试。", "如果问题反复出现,请检查本机网络、代理、防火墙或 VPN 设置。"],
203
- "details": {
204
- "status_code": 503
205
- }
206
- }
207
- ```
208
-
209
- 字段含义:
210
-
211
- - `error` / `message` / `code` / `next_steps`:向后兼容字段;`next_steps` 与 `next_steps_en` 内容一致。
212
- - `message_en` / `message_zh` / `next_steps_en` / `next_steps_zh`:显式中英文版本,便于客户端按语言渲染。
213
- - `category`:错误分类(`validation` / `credentials` / `content` / `network` / `access` / `rate_limit` / `api` / `unknown`)。
214
- - `retryable`:是否建议自动重试。
215
- - `user_action_required`:是否需要用户介入才能解决。
216
- - `details`:可选的附加信息(如 HTTP 状态码、超时毫秒数、Bilibili API 错误码),不包含 Cookie 或完整 URL。
217
-
218
- 支持的错误码:
219
-
220
- | 错误码 | 含义 | 调用方建议 |
221
- |--------|------|-----------|
222
- | `VALIDATION_ERROR` | 输入参数不合法 | 检查并修正 `bvid_or_url` 或其他参数 |
223
- | `COOKIE_EXPIRED` | Cookie 已失效或未登录 | 用户应更新/轮换 Bilibili 凭据 |
224
- | `SUBTITLE_UNAVAILABLE` | 视频无可用的字幕 | 对 `get_video_transcript` 可重试并设置 `fallback_to_description: true` |
225
- | `NETWORK_ERROR` | 网络请求失败(HTTP 5xx、连接错误等) | 稍后重试;如反复出现请检查网络/代理/防火墙 |
226
- | `NETWORK_TIMEOUT` | 请求 Bilibili 超时 | 稍后重试;如反复出现请检查网络/代理/防火墙 |
227
- | `API_RATE_LIMITED` | 触发 Bilibili API 频率限制(HTTP 429) | 等待一段时间后重试;降低调用频率或调大 `BILIBILI_RATE_LIMIT_MS` |
228
- | `ACCESS_DENIED` | Bilibili 拒绝访问(权限不足、私密、地区限制、已下架等) | 检查视频访问权限,必要时运行凭据检查 |
229
- | `PAID_VIDEO` | 视频可能需要付费、会员或额外权限 | 在 Bilibili 端确认;本 MCP 不会绕过付费或受限访问 |
230
- | `COMMENTS_DISABLED` | 视频评论已关闭或访问受限 | 改用字幕或元数据工具;也可在 Bilibili 页面确认 |
231
- | `BILIBILI_API_ERROR` | 其他 Bilibili API 错误 | 临时问题可稍后重试;持续出现请带错误码反馈 |
232
- | `UNKNOWN_ERROR` | 未知错误 | 稍后重试;反馈时请勿包含 Cookie 或凭据 |
233
-
234
- ## 📋 环境要求
235
-
236
- - **Node.js**: v18.0.0 或更高版本
237
- - Bilibili 账号凭证 (Cookie)
238
-
239
- ---
240
-
241
- ## 🚀 客户端接入方式
1
+ <p align="center">
2
+ <img src="./assets/readme/hero.svg" width="100%" alt="Bilibili MCP:从视频搜索到带时间定位的字幕证据">
3
+ </p>
4
+
5
+ # Bilibili MCP
6
+
7
+ <p align="center">
8
+ <a href="https://www.npmjs.com/package/@xzxzzx/bilibili-mcp"><img src="https://img.shields.io/npm/v/@xzxzzx/bilibili-mcp.svg" alt="npm version"></a>
9
+ <a href="https://www.npmjs.com/package/@xzxzzx/bilibili-mcp"><img src="https://img.shields.io/npm/dm/@xzxzzx/bilibili-mcp.svg" alt="npm downloads"></a>
10
+ <a href="https://www.gnu.org/licenses/gpl-3.0"><img src="https://img.shields.io/badge/License-GPLv3-blue.svg" alt="GPL-3.0 license"></a>
11
+ </p>
12
+
13
+ <p align="center">
14
+ 让 Codex、Claude、Cursor 等 AI 客户端直接搜索 Bilibili,并读取字幕、时间定位、元数据、章节与热门评论。
15
+ </p>
16
+
17
+ <p align="center">
18
+ <a href="./README_EN.md">English</a> ·
19
+ <a href="./docs/client-setup.md">全部 Agent / 客户端配置</a> ·
20
+ <a href="./docs/tool-reference.md">工具参考</a> ·
21
+ <a href="./CHANGELOG.md">更新日志</a> ·
22
+ <a href="https://www.npmjs.com/package/@xzxzzx/bilibili-mcp">npm</a> ·
23
+ <a href="https://github.com/XZXZZX-Ai/bilibili-mcp/releases/latest">最新 Release</a>
24
+ </p>
242
25
 
243
26
  > [!NOTE]
244
- > 不要在 MCP 客户端配置文件中写入真实 Cookie。建议先用 `bilibili-mcp config` 保存到本机凭证配置,或在运行环境中提供环境变量;MCP server 启动后会自动读取这些凭证。详见 [⚙️ 凭证配置](#️-凭证配置)。
245
-
246
- > [!IMPORTANT]
247
- > 如果你是正在帮用户安装本 MCP 的 AI agent:不要只写入 MCP 配置就结束。添加 `bilibili-mcp` server 后,必须继续提醒并引导用户完成 Bilibili Cookie 配置。连接 MCP server 后,agent 也可调用 `get_credential_setup_instructions`、`check_bilibili_credentials` 或 `check_mcp_update` 工具来引导用户。
248
- >
249
- > 推荐引导用户运行:
250
- >
251
- > ```bash
252
- > npx -y @xzxzzx/bilibili-mcp@latest config
253
- > npx -y @xzxzzx/bilibili-mcp@latest check
254
- > ```
255
- >
256
- > MCP 客户端配置推荐使用 `npx -y @xzxzzx/bilibili-mcp@latest`,这样新的客户端会话会解析当前 npm release。已经全局安装的用户需要手动运行 `npm install -g @xzxzzx/bilibili-mcp@latest` 更新,也可以用 `bilibili-mcp check-update` 检查版本状态。
257
- >
258
- > 如果用户已经全局安装,也可以使用:
259
- >
260
- > ```bash
261
- > bilibili-mcp config
262
- > bilibili-mcp check
263
- > ```
264
- >
265
- > `config` 用于输入 `SESSDATA`、`bili_jct`、`DedeUserID`;`check` 用于确认凭证已加载。不要要求用户把 Cookie 粘贴进 Claude、Cursor、Codex、Qoder、Kimi 或其他 MCP 客户端配置文件。
266
-
267
- ### Codex app / Codex CLI
268
-
269
- Codex app、Codex CLI 和 Codex IDE extension 共用 MCP 配置。优先使用下面任一方式添加:
270
-
271
- #### Codex app
272
-
273
- 打开 Settings → Integrations & MCP,添加自定义 MCP server:
274
-
275
- - Command: `npx`
276
- - Arguments: `["-y", "@xzxzzx/bilibili-mcp@latest"]`
277
-
278
- #### Codex CLI
279
-
280
- ```bash
281
- codex mcp add bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp@latest
282
- ```
283
-
284
- 配置后,在 Codex CLI TUI 中运行 `/mcp` 查看 server 状态。
285
-
286
- #### 手动配置
287
-
288
- 也可以直接编辑 Codex 配置文件:
289
-
290
- - 用户级:`~/.codex/config.toml`
291
- - 项目级:`.codex/config.toml`(仅在 Codex 信任该项目时加载)
292
-
293
- ```toml
294
- [mcp_servers.bilibili-mcp]
295
- command = "npx"
296
- args = ["-y", "@xzxzzx/bilibili-mcp@latest"]
297
- ```
298
-
299
- ### Claude Code
300
-
301
- ```bash
302
- claude mcp add bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp@latest
303
- ```
304
-
305
- 默认会作为当前项目的本地 MCP server 保存。配置后可在 Claude Code 中运行 `/mcp`,或在终端运行 `claude mcp list` 检查连接状态。
306
-
307
- 如果希望所有项目都可用,可使用用户级 scope:
308
-
309
- ```bash
310
- claude mcp add --scope user bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp@latest
311
- ```
312
-
313
- 也可以手动编辑 `~/.claude.json`,在对应项目或用户配置下添加与 Claude Desktop 相同的 JSON。
314
-
315
- ### Claude Desktop
316
-
317
- 打开 Claude Desktop 的 Settings → Developer → Edit Config,或直接编辑:
318
-
319
- - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
320
-
321
- - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
322
-
323
- 添加:
324
-
325
- ```json
326
- {
327
- "mcpServers": {
328
- "bilibili-mcp": {
329
- "command": "npx",
330
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
331
- }
332
- }
333
- }
334
- ```
335
-
336
- 保存后重启 Claude Desktop。该配置适合本地 stdio MCP server;不要在 `env`、`args` 或配置文件里写真实 Cookie。
337
-
338
- ### OpenCode
339
-
340
- 编辑 OpenCode 配置文件 `~/.config/opencode/opencode.json`,在 `mcp` 下添加本地 MCP server:
341
-
342
- ```json
343
- {
344
- "$schema": "https://opencode.ai/config.json",
345
- "mcp": {
346
- "bilibili-mcp": {
347
- "type": "local",
348
- "command": ["npx", "-y", "@xzxzzx/bilibili-mcp@latest"],
349
- "enabled": true
350
- }
351
- }
352
- }
353
- ```
354
-
355
- OpenCode 会把 MCP tools 加入可用工具上下文。使用时可在提示词中明确要求使用 `bilibili-mcp`。
356
-
357
- ### OpenClaw
358
-
359
- 使用 OpenClaw 的 MCP registry 注册本服务:
360
-
361
- ```bash
362
- openclaw mcp set bilibili-mcp '{"command":"npx","args":["-y","@xzxzzx/bilibili-mcp@latest"]}'
363
- ```
364
-
365
- 检查配置:
366
-
367
- ```bash
368
- openclaw mcp list
369
- openclaw mcp show bilibili-mcp
370
- ```
371
-
372
- 也可以在 OpenClaw 配置中加入同等结构:
373
-
374
- ```json
375
- {
376
- "mcp": {
377
- "servers": {
378
- "bilibili-mcp": {
379
- "command": "npx",
380
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
381
- }
382
- }
383
- }
384
- }
385
- ```
386
-
387
- `openclaw mcp set` 只写入 OpenClaw 的 MCP server 定义;具体运行时是否启用,取决于你的 OpenClaw agent/runtime 配置。
388
-
389
- ### Hermes
390
-
391
- 编辑 `~/.hermes/config.yaml`,在 `mcp_servers` 下添加:
392
-
393
- ```yaml
394
- mcp_servers:
395
- bilibili-mcp:
396
- command: "npx"
397
- args: ["-y", "@xzxzzx/bilibili-mcp@latest"]
398
- ```
399
-
400
- 如果你已经在运行 Hermes 会话,使用 `/reload-mcp` 重新加载 MCP 配置;也可以开启一个新的 Hermes 会话。
401
-
402
- ### Cursor
403
-
404
- Cursor 编辑器和 Cursor CLI (`cursor-agent`) 共用同一套 `mcp.json` 配置。CLI 会自动读取编辑器已配置的 MCP server。
405
-
406
- #### 方式一:Cursor 编辑器
407
-
408
- 在 Cursor 设置中打开 MCP / MCP Servers,添加自定义 stdio server;也可以直接编辑配置文件。
409
-
410
- 项目级配置:
411
-
412
- ```text
413
- .cursor/mcp.json
414
- ```
415
-
416
- 全局配置:
417
-
418
- ```text
419
- ~/.cursor/mcp.json
420
- ```
421
-
422
- 配置内容:
423
-
424
- ```json
425
- {
426
- "mcpServers": {
427
- "bilibili-mcp": {
428
- "type": "stdio",
429
- "command": "npx",
430
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
431
- }
432
- }
433
- }
434
- ```
435
-
436
- #### 方式二:Cursor CLI
437
-
438
- Cursor CLI 使用同一份 `mcp.json`,无需单独再写一份配置。可用下面命令检查:
439
-
440
- ```bash
441
- cursor-agent mcp list
442
- cursor-agent mcp list-tools bilibili-mcp
443
- ```
444
-
445
- 如果 MCP server 需要认证,Cursor CLI 使用:
446
-
447
- ```bash
448
- cursor-agent mcp login bilibili-mcp
449
- ```
450
-
451
- ### Cline
452
-
453
- Cline 支持本地 STDIO 和远程 MCP。编辑 Cline MCP 配置文件,加入:
454
-
455
- ```json
456
- {
457
- "mcpServers": {
458
- "bilibili-mcp": {
459
- "command": "npx",
460
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"],
461
- "disabled": false,
462
- "autoApprove": []
463
- }
464
- }
465
- }
466
- ```
467
-
468
- Cline CLI 用户可用 JSON 方式查看或管理 MCP 设置:
469
-
470
- ```bash
471
- cline config mcp --json
472
- ```
473
-
474
- 配置后在 Cline 的 MCP 面板确认 server 已启用。不要把真实 Cookie 写进 Cline 配置。
475
-
476
- ### Kilo Code
477
-
478
- Kilo Code 的 MCP server 写在主配置文件的 `mcp` 对象下。
479
-
480
- 配置位置:
481
-
482
- - 全局:`~/.config/kilo/kilo.jsonc`
483
- - 项目级:`kilo.jsonc`
484
- - 项目级:`.kilo/kilo.jsonc`
485
-
486
- 添加:
487
-
488
- ```jsonc
489
- {
490
- "mcp": {
491
- "bilibili-mcp": {
492
- "type": "local",
493
- "command": ["npx", "-y", "@xzxzzx/bilibili-mcp@latest"],
494
- "enabled": true,
495
- "timeout": 10000
496
- }
497
- }
498
- }
499
- ```
500
-
501
- 也可以在 Kilo Code 设置 UI 中打开 Agent Behaviour → MCP Servers 添加。项目级配置优先于全局配置。
502
-
503
- ### VS Code
504
-
505
- VS Code 原生支持 MCP 配置。工作区配置可通过命令面板打开:
506
-
507
- ```text
508
- MCP: Open Workspace Folder MCP Configuration
509
- ```
510
-
511
- 这会创建或打开:
512
-
513
- ```text
514
- .vscode/mcp.json
515
- ```
516
-
517
- 添加:
518
-
519
- ```json
520
- {
521
- "servers": {
522
- "bilibili-mcp": {
523
- "type": "stdio",
524
- "command": "npx",
525
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
526
- }
527
- }
528
- }
529
- ```
530
-
531
- 用户级配置可用命令面板打开:
532
-
533
- ```text
534
- MCP: Open User Configuration
535
- ```
536
-
537
- VS Code MCP 还支持 HTTP、SSE、Windows named pipe 和 Unix socket。配置后可在 VS Code 的 MCP server 列表中启动、停止或查看 server 状态。使用本项目时不要把真实 Cookie 写进 `.vscode/mcp.json`。
538
-
539
- ### GitHub Copilot (VS Code)
540
-
541
- GitHub Copilot Chat 在 VS Code 中读取 VS Code MCP 配置。工作区配置可写入:
542
-
543
- ```text
544
- .vscode/mcp.json
545
- ```
546
-
547
- 添加:
548
-
549
- ```json
550
- {
551
- "servers": {
552
- "bilibili-mcp": {
553
- "type": "stdio",
554
- "command": "npx",
555
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
556
- }
557
- }
558
- }
559
- ```
560
-
561
- 也可以用命令面板打开 `MCP: Open User Configuration` 配置全局 MCP。配置后在 Copilot Chat Agent Mode 中使用该 server 的工具。
562
-
563
- ### WorkBuddy
564
-
565
- WorkBuddy 官方文档推荐通过界面配置 MCP。进入侧边栏 插件 → MCP 服务器 → 配置 MCP,然后添加:
566
-
567
- ```json
568
- {
569
- "mcpServers": {
570
- "bilibili-mcp": {
571
- "type": "stdio",
572
- "command": "npx",
573
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
574
- }
575
- }
576
- }
577
- ```
578
-
579
- 也可以按作用域编辑配置文件:
580
-
581
- - 用户级:`~/.workbuddy/mcp.json`
582
- - 项目级:`<项目目录>/.workbuddy/mcp.json`
583
-
584
- ### CodeBuddy
585
-
586
- #### 方式一:CodeBuddy CLI
587
-
588
- CodeBuddy CLI 可以直接添加 stdio MCP server:
589
-
590
- ```bash
591
- codebuddy mcp add --scope user bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp@latest
592
- ```
593
-
594
- 检查配置:
595
-
596
- ```bash
597
- codebuddy mcp list
598
- codebuddy mcp get bilibili-mcp
599
- ```
600
-
601
- #### 方式二:CodeBuddy IDE
602
-
603
- 在 CodeBuddy IDE 侧栏对话面板右上角打开 CodeBuddy Settings → MCP → Add MCP,填入:
604
-
605
- ```json
606
- {
607
- "mcpServers": {
608
- "bilibili-mcp": {
609
- "type": "stdio",
610
- "command": "npx",
611
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"],
612
- "description": "Bilibili MCP server"
613
- }
614
- }
615
- }
616
- ```
617
-
618
- 如果使用项目级 `.mcp.json`,请确认 CodeBuddy settings 允许启用该项目 MCP server。
619
-
620
- ### Trae CN
621
-
622
- 在 Trae CN 中打开 AI 对话窗口右上角设置入口,进入 MCP 配置;也可以直接编辑 MCP 配置文件。
623
-
624
- 常见配置路径:
625
-
626
- - Windows: `%APPDATA%\Trae\User\settings\mcp.json`
627
- - macOS: `~/Library/Application Support/Trae/User/settings/mcp.json`
628
- - 项目级:`.trae/mcp.json`
629
-
630
- 添加:
631
-
632
- ```json
633
- {
634
- "mcpServers": {
635
- "bilibili-mcp": {
636
- "command": "npx",
637
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
638
- }
639
- }
640
- }
641
- ```
642
-
643
- 如果你使用项目级 `.trae/mcp.json`,请在 Trae 的 MCP 管理面板中确认项目配置导入已启用。
644
-
645
- ### Trae International
646
-
647
- 在 Trae 国际版中打开 AI 对话窗口右上角 Settings → MCP,选择 Add 或手动配置 MCP server。
648
-
649
- 如果需要直接编辑项目级配置,可创建 `.trae/mcp.json`:
650
-
651
- ```json
652
- {
653
- "mcpServers": {
654
- "bilibili-mcp": {
655
- "command": "npx",
656
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
657
- }
658
- }
659
- }
660
- ```
661
-
662
- Trae 支持 stdio MCP server;本项目使用 `npx` 启动 stdio server。
663
-
664
- ### Trae SOLO CN
665
-
666
- Trae SOLO CN 是 Trae 中国版的 SOLO 工作方式。官方公开文档没有给出独立于 Trae MCP 的专属配置文件;当前可按 Trae 项目级 MCP 配置接入,然后在 SOLO Coder 中使用。
667
-
668
- 在项目根目录创建 `.trae/mcp.json`:
669
-
670
- ```json
671
- {
672
- "mcpServers": {
673
- "bilibili-mcp": {
674
- "command": "npx",
675
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
676
- }
677
- }
678
- }
679
- ```
680
-
681
- 然后在 Trae 的 MCP 管理面板中确认项目配置导入已启用,并在 SOLO Coder 中使用该 MCP server。
682
-
683
- ### Trae SOLO International
684
-
685
- Trae SOLO International 已存在,官方 FAQ 说明国际版 SOLO 面向 Pro 用户。没有找到单独的 SOLO 专属 MCP JSON 格式;可使用 Trae International 的 MCP 配置方式,然后在 SOLO Coder / Builder with MCP 中调用。
686
-
687
- 项目级配置同样使用 `.trae/mcp.json`:
688
-
689
- ```json
690
- {
691
- "mcpServers": {
692
- "bilibili-mcp": {
693
- "command": "npx",
694
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
695
- }
696
- }
697
- }
698
- ```
699
-
700
- 如果使用 Trae International 的 UI,打开 AI 对话窗口右上角 Settings → MCP,手动添加同等 `mcpServers` 配置。
701
-
702
- ### Qoder IDE / Qoder CLI / QoderWork
703
-
704
- Qoder 有多种形态,MCP 入口略有不同:Qoder IDE 在设置页配置,Qoder CLI 用 `qodercli mcp` 命令,QoderWork 桌面端在 MCP Servers 页面添加。
705
-
706
- #### Qoder IDE
707
-
708
- 打开右上角用户图标 → Qoder Settings → MCP,在 My Servers 中点击 + Add,然后添加本地 STDIO server:
709
-
710
- ```json
711
- {
712
- "mcpServers": {
713
- "bilibili-mcp": {
714
- "command": "npx",
715
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
716
- }
717
- }
718
- }
719
- ```
720
-
721
- Qoder 文档说明 Streamable HTTP 可按 SSE endpoint 方式配置并自动检测;本项目是本地 stdio server,因此使用上面的 `command` / `args` 配置。
722
-
723
- #### Qoder CLI
724
-
725
- Qoder CLI 可直接添加 stdio MCP server:
726
-
727
- ```bash
728
- qodercli mcp add bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp@latest
729
- ```
730
-
731
- 常用检查命令:
732
-
733
- ```bash
734
- qodercli mcp list
735
- ```
736
-
737
- 如果 Qoder CLI 已经在运行,添加或修改 MCP server 后在会话中执行 `/mcp reload` 重新发现工具。默认 scope 是当前项目本地配置;也可以用 `-s user` 保存到用户级配置,或用 `-s project` 写入项目级 `.mcp.json`。
738
-
739
- 常见配置文件位置:
740
-
741
- - 用户级:`~/.qoder/settings.json`
742
- - 当前项目本地:`.qoder/settings.local.json`
743
- - 项目级共享:`.mcp.json`
744
-
745
- #### QoderWork
746
-
747
- 打开 QoderWork desktop app → Settings → MCP Servers,点击右上角 + Add。
748
-
749
- 最快方式是选择 Paste JSON Config,并粘贴:
750
-
751
- ```json
752
- {
753
- "mcpServers": {
754
- "bilibili-mcp": {
755
- "command": "npx",
756
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
757
- }
758
- }
759
- }
760
- ```
761
-
762
- 也可以选择 Fill in Config Manually,Server Type 选择 STDIO:
763
-
764
- - Server Name: `bilibili-mcp`
765
- - Command: `npx -y @xzxzzx/bilibili-mcp@latest`
766
-
767
- 添加后在 Custom Servers 中确认 server 已启用,并展开查看可用 tools。不要在 Qoder / QoderWork 的 MCP 配置中写真实 Cookie;凭证请使用 `bilibili-mcp config` 或环境变量配置。
768
-
769
- ### Kimi Code / Kimi Code CLI
770
-
771
- Kimi Code CLI 可作为 MCP client 连接本地 stdio server。当前 Kimi Code 文档推荐把 MCP server 写入 `mcp.json`:
772
-
773
- - 用户级:`~/.kimi-code/mcp.json`
774
- - 项目级:`.kimi-code/mcp.json`
775
-
776
- 添加:
777
-
778
- ```json
779
- {
780
- "mcpServers": {
781
- "bilibili-mcp": {
782
- "command": "npx",
783
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
784
- }
785
- }
786
- }
787
- ```
788
-
789
- 项目级 `.kimi-code/mcp.json` 只对当前仓库生效,并会覆盖同名用户级配置。进入 Kimi Code CLI 后,可以用:
790
-
791
- ```text
792
- /mcp
793
- /mcp-config
794
- ```
795
-
796
- `/mcp` 查看连接状态和工具列表,`/mcp-config` 交互式添加、编辑或删除 MCP server。
797
-
798
- 旧版 Kimi CLI 文档也提供过 `kimi mcp add` 命令;如果你使用的安装版本仍支持该命令,可用:
799
-
800
- ```bash
801
- kimi mcp add bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp@latest
802
- kimi mcp list
803
- kimi mcp test bilibili-mcp
804
- ```
805
-
806
- 不要在 Kimi Code 的 `mcp.json`、`env` 或命令参数中写真实 Cookie;凭证请用 `bilibili-mcp config` 或环境变量配置。
807
-
808
- ### Antigravity / Antigravity CLI
27
+ > **真实验收链路:**搜索视频 → 选择 `BV1Eb411u7Fw` 的 P4 → 在字幕中搜索“函数” → 返回上下文与可直达的 [`?p=4&t=1.12`](https://www.bilibili.com/video/BV1Eb411u7Fw/?p=4&t=1.12) 证据链接。搜索与转录成功结果同时提供兼容文本和 MCP `structuredContent`。
809
28
 
810
- Gemini CLI 已迁移到 Antigravity CLI。新的 MCP 配置不再写在 `~/.gemini/settings.json`,而是使用独立的 `mcp_config.json`。
29
+ ## ⚡ 安装与配置
811
30
 
812
- Antigravity IDE 可通过 MCP Store → Manage MCP Servers → View raw config 打开配置;Antigravity CLI 可通过 `/mcp` 管理 MCP servers。
31
+ Agent 安装提示词、全部客户端配置位置、CLI / JSON / TOML 示例、Cookie 配置与登录验证步骤,都集中在:
813
32
 
814
- 常见配置路径:
33
+ ### [打开完整 Agent / 客户端安装指南 →](./docs/client-setup.md)
815
34
 
816
- - Antigravity IDE:`~/.gemini/antigravity/mcp_config.json`
817
- - Antigravity CLI 全局:`~/.gemini/antigravity-cli/mcp_config.json`
818
- - Antigravity CLI 工作区:`.agents/mcp_config.json`
819
-
820
- 添加:
821
-
822
- ```json
823
- {
824
- "mcpServers": {
825
- "bilibili-mcp": {
826
- "command": "npx",
827
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
828
- }
829
- }
830
- }
831
- ```
832
-
833
- 保存后重启 Antigravity / Antigravity CLI,或在 CLI 中使用 `/mcp` 检查 server 是否加载。
834
-
835
- ### Pi
836
-
837
- Pi 通过 `pi-mcp-adapter` 使用 MCP。先安装 adapter:
838
-
839
- ```bash
840
- pi install npm:pi-mcp-adapter
841
- ```
842
-
843
- 重启 Pi 后,优先使用项目级共享配置:
844
-
845
- ```text
846
- .mcp.json
847
- ```
848
-
849
- 添加:
850
-
851
- ```json
852
- {
853
- "mcpServers": {
854
- "bilibili-mcp": {
855
- "command": "npx",
856
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
857
- }
858
- }
859
- }
860
- ```
861
-
862
- 也可以使用用户级共享配置:
863
-
864
- ```text
865
- ~/.config/mcp/mcp.json
866
- ```
867
-
868
- Pi 还支持 Pi 专属覆盖文件:
869
-
870
- - 全局:`~/.pi/agent/mcp.json`
871
- - 项目级:`.pi/mcp.json`
872
-
873
- 如果你已经在 Cursor、Claude Code、Codex、Windsurf 等客户端里配置过 MCP,可在 Pi 中运行 `/mcp setup` 导入或生成配置;终端也可运行:
874
-
875
- ```bash
876
- pi-mcp-adapter init
877
- ```
878
-
879
- Pi 默认 lazy 连接 MCP server,只有实际调用工具时才启动。进入 Pi 后使用 `/mcp` 查看 server 状态和工具列表。不要在 Pi 的 MCP 配置里写真实 Cookie;凭证请用 `bilibili-mcp config` 或环境变量配置。
880
-
881
- ### Oh My Pi
882
-
883
- Oh My Pi (`omp`) 原生支持 MCP,优先使用 OMP 专属配置文件:
884
-
885
- - 项目级:`.omp/mcp.json`
886
- - 用户级:`~/.omp/agent/mcp.json`
887
-
888
- 也可以使用可被其他 MCP client 复用的项目根配置:
889
-
890
- - `mcp.json`
891
- - `.mcp.json`
892
-
893
- 添加:
894
-
895
- ```json
896
- {
897
- "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/src/config/mcp-schema.json",
898
- "mcpServers": {
899
- "bilibili-mcp": {
900
- "type": "stdio",
901
- "command": "npx",
902
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
903
- }
904
- }
905
- }
906
- ```
907
-
908
- 也可以在 OMP 会话中使用引导式配置:
909
-
910
- ```text
911
- /mcp add
912
- ```
913
-
914
- 修改配置后使用:
915
-
916
- ```text
917
- /mcp reload
918
- /mcp list
919
- /mcp test bilibili-mcp
920
- ```
921
-
922
- OMP 支持 `stdio`、`http` 和 `sse` MCP。不要在 `env`、`args` 或配置文件中写真实 Cookie。
923
-
924
- ### Crush
925
-
926
- Crush 支持项目级和用户级 JSON 配置,MCP server 写在 `mcp` 对象下。
927
-
928
- 配置优先级:
929
-
930
- - 项目级:`.crush.json`
931
- - 项目级:`crush.json`
932
- - 用户级:`~/.config/crush/crush.json`
933
-
934
- 添加:
935
-
936
- ```json
937
- {
938
- "$schema": "https://charm.land/crush.json",
939
- "mcp": {
940
- "bilibili-mcp": {
941
- "type": "stdio",
942
- "command": "npx",
943
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
944
- }
945
- }
946
- }
947
- ```
948
-
949
- Crush 也支持 HTTP 和 SSE MCP。不要在 `env` 或 `args` 中写真实 Cookie;凭证请使用本项目的 CLI 向导或环境变量。
950
-
951
- ### DeepSeek-TUI
952
-
953
- DeepSeek-TUI 同时是 MCP client 和 MCP server。作为 MCP client 时,可用 `deepseek mcp add` 添加本项目:
954
-
955
- ```bash
956
- deepseek mcp add bilibili-mcp -- npx -y @xzxzzx/bilibili-mcp@latest
957
- ```
958
-
959
- 也可以编辑:
960
-
961
- ```text
962
- ~/.deepseek/mcp.json
963
- ```
964
-
965
- 添加:
966
-
967
- ```json
968
- {
969
- "mcpServers": {
970
- "bilibili-mcp": {
971
- "command": "npx",
972
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
973
- }
974
- }
975
- }
976
- ```
977
-
978
- 可用 `deepseek mcp list` 和 `deepseek mcp validate` 检查配置。DeepSeek-TUI 暴露的 MCP 工具通常以 `mcp_<server>_<tool>` 形式出现。
979
-
980
- ### Deep Code
981
-
982
- Deep Code 使用 `~/.deepcode/settings.json` 配置 MCP server。把 `bilibili-mcp` 加到 `mcpServers`:
983
-
984
- ```json
985
- {
986
- "mcpServers": {
987
- "bilibili-mcp": {
988
- "command": "npx",
989
- "args": ["@xzxzzx/bilibili-mcp@latest"]
990
- }
991
- }
992
- }
993
- ```
994
-
995
- Deep Code 文档说明 `command` 为 `npx` 时会自动补充 `-y`。配置后启动 `deepcode`,输入 `/mcp` 查看 MCP server 状态和可用工具。
996
-
997
- ### Reasonix
998
-
999
- Reasonix 支持原生 MCP。最简单的方式是启动时传入 `--mcp`:
1000
-
1001
- ```bash
1002
- npx reasonix code --mcp "bilibili=npx -y @xzxzzx/bilibili-mcp@latest"
1003
- ```
1004
-
1005
- 也可以编辑全局配置:
1006
-
1007
- ```text
1008
- ~/.reasonix/config.json
1009
- ```
1010
-
1011
- 在 `mcp` 数组中添加:
1012
-
1013
- ```json
1014
- {
1015
- "mcp": [
1016
- "bilibili=npx -y @xzxzzx/bilibili-mcp@latest"
1017
- ]
1018
- }
1019
- ```
1020
-
1021
- Reasonix 的格式是 `name=command arg1 arg2`。如果需要项目级覆盖,可放在项目的 `.reasonix/` 下。
1022
-
1023
- ### GitHub Copilot CLI
1024
-
1025
- GitHub Copilot CLI 可在交互模式里使用 `/mcp add` 添加 MCP server。按表单选择 `STDIO` 或 `Local`,然后填入:
1026
-
1027
- - Server Name: `bilibili-mcp`
1028
- - Command: `npx`
1029
- - Args: `-y @xzxzzx/bilibili-mcp`
1030
-
1031
- 也可以编辑用户级配置:
1032
-
1033
- ```text
1034
- ~/.copilot/mcp-config.json
1035
- ```
1036
-
1037
- 添加:
1038
-
1039
- ```json
1040
- {
1041
- "mcpServers": {
1042
- "bilibili-mcp": {
1043
- "type": "local",
1044
- "command": "npx",
1045
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"],
1046
- "env": {},
1047
- "tools": ["*"]
1048
- }
1049
- }
1050
- }
1051
- ```
1052
-
1053
- 项目级配置可用 `.mcp.json` 或 `.github/mcp.json`,并且会优先于用户级同名 server。进入 Copilot CLI 后可用 `/mcp show` 查看状态。
1054
-
1055
- ### Windsurf
1056
-
1057
- Windsurf 的 MCP 由 Cascade 使用。官方入口是 Cascade 面板右上角的 `MCPs` 图标,或 Windsurf Settings → Cascade → MCP Servers。
1058
-
1059
- #### 方式一:Cascade / MCP Servers UI
1060
-
1061
- 打开 MCP Marketplace 或 MCP Servers 设置后,添加自定义 stdio MCP server:
1062
-
1063
- - Command: `npx`
1064
- - Arguments: `["-y", "@xzxzzx/bilibili-mcp@latest"]`
1065
-
1066
- Windsurf 也支持 MCP deeplink;如果你在文档或网页中提供安装入口,可以使用 `windsurf://windsurf-mcp-registry?serverName=<server-name>` 打开对应 MCP registry 页面。
1067
-
1068
- #### 方式二:Raw config
1069
-
1070
- 直接编辑:
1071
-
1072
- ```text
1073
- ~/.codeium/windsurf/mcp_config.json
1074
- ```
1075
-
1076
- 添加:
1077
-
1078
- ```json
1079
- {
1080
- "mcpServers": {
1081
- "bilibili-mcp": {
1082
- "command": "npx",
1083
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
1084
- }
1085
- }
1086
- }
1087
- ```
1088
-
1089
- Windsurf/Cascade 支持 `stdio`、Streamable HTTP 和 SSE MCP。本项目使用本地 stdio server,因此不要把真实 Bilibili Cookie 写进该配置文件;凭证请用 `bilibili-mcp config` 或环境变量配置。
1090
-
1091
- ### Zed
1092
-
1093
- Zed 使用 `context_servers` 配置 MCP,不使用 `mcpServers`。可以通过 Agent Panel 的 settings view 添加自定义 server,也可以直接编辑 `settings.json`。
1094
-
1095
- #### 方式一:Agent Panel UI
1096
-
1097
- 打开 Agent Panel 的 Settings view,点击 Add Custom Server,填入本项目的 stdio server 配置。
1098
-
1099
- 配置后,在 Agent Panel 的 settings view 中查看 server 名称旁边的状态圆点;绿色表示 server active。
1100
-
1101
- #### 方式二:settings.json
1102
-
1103
- 用户级设置可通过 Zed 的 `zed: open settings` 打开。项目级设置可写入:
1104
-
1105
- ```text
1106
- .zed/settings.json
1107
- ```
1108
-
1109
- 添加:
1110
-
1111
- ```json
1112
- {
1113
- "context_servers": {
1114
- "bilibili-mcp": {
1115
- "command": "npx",
1116
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
1117
- }
1118
- }
1119
- }
1120
- ```
1121
-
1122
- #### 方式三:Zed extension
1123
-
1124
- Zed 也支持以 extension 的方式安装 MCP server。通用自定义 server 用上面的 `context_servers` 更直接;如果未来本项目发布 Zed MCP extension,再改用 extension 安装。
1125
-
1126
- Zed 支持 MCP Tools 和 Prompts,也支持远程 MCP;远程 server 使用 `url` 和可选 `headers`。本项目是本地 stdio server,不要在 Zed 配置里写真实 Bilibili Cookie。
1127
-
1128
- ### Cherry Studio
1129
-
1130
- Cherry Studio 在 Settings → MCP Server 中添加 MCP server。添加本项目时选择 `STDIO`:
1131
-
1132
- - Name: `bilibili-mcp`
1133
- - Type: `STDIO`
1134
- - Command: `npx`
1135
- - Parameters: `-y @xzxzzx/bilibili-mcp`
1136
-
1137
- 保存后,Cherry Studio 会启动该 MCP server;在聊天窗口中启用对应 MCP server 后即可调用工具。
1138
-
1139
- ### LobeHub / LobeChat
1140
-
1141
- LobeChat Desktop 支持导入 MCP server JSON。打开:
1142
-
1143
- ```text
1144
- Settings → Default Agent → Plugin Settings → Custom Plugins → Quick JSON Configuration Import
1145
- ```
1146
-
1147
- 粘贴:
1148
-
1149
- ```json
1150
- {
1151
- "mcpServers": {
1152
- "bilibili-mcp": {
1153
- "command": "npx",
1154
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
1155
- }
1156
- }
1157
- }
1158
- ```
1159
-
1160
- 安装后,在对应 Agent 的插件设置中启用该 MCP server。不要把真实 Cookie 写进 LobeChat 配置;凭证请通过本项目 CLI 或环境变量配置。
1161
-
1162
- ### AstrBot
1163
-
1164
- AstrBot 通过 WebUI 管理 MCP。先确保 AstrBot 运行环境可使用 `npm` 和 `node`,然后在 WebUI 的 MCP 服务器管理入口添加本地 MCP server:
1165
-
1166
- ```json
1167
- {
1168
- "mcpServers": {
1169
- "bilibili-mcp": {
1170
- "command": "npx",
1171
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
1172
- }
1173
- }
1174
- }
1175
- ```
1176
-
1177
- 如果 AstrBot 运行在 Docker 中,需要确保容器内已安装 Node.js / npm,且容器能访问运行 MCP server 所需的网络。
1178
-
1179
- ### nanobot
35
+ > [!IMPORTANT]
36
+ > 本 README 不再重复任何安装或配置方法。请以安装指南为唯一完整来源。
1180
37
 
1181
- nanobot 的配置文件是:
38
+ 安装完成后,可以直接向 AI 提问:
1182
39
 
1183
40
  ```text
1184
- ~/.nanobot/config.json
1185
- ```
1186
-
1187
- 在 `tools.mcpServers` 下添加:
1188
-
1189
- ```json
1190
- {
1191
- "tools": {
1192
- "mcpServers": {
1193
- "bilibili-mcp": {
1194
- "command": "npx",
1195
- "args": ["-y", "@xzxzzx/bilibili-mcp@latest"]
1196
- }
1197
- }
1198
- }
1199
- }
1200
- ```
1201
-
1202
- nanobot 的 MCP 配置兼容 Claude Desktop / Cursor 风格;也支持远程 MCP 的 `url` 和 `headers`。凭证仍应由本项目 CLI 或环境变量管理,不要写入 nanobot 配置。
1203
-
1204
- ## ⚙️ 凭证配置
1205
-
1206
- 如果你使用上方“用 agent 工具帮你安装”的提示词,agent 会引导你完成本节步骤;通常不需要手动阅读完整配置。这里用于说明 Cookie 保存位置、安全边界,以及 Docker、本地开发等手动场景。为了稳定获取字幕、转录和评论,建议配置 Bilibili Cookie;公开视频元数据可能无需 Cookie。
1207
-
1208
- ### 推荐方式:让 agent 引导你配置
1209
-
1210
- ```bash
1211
- npx -y @xzxzzx/bilibili-mcp@latest config
1212
- npx -y @xzxzzx/bilibili-mcp@latest check
41
+ 搜索 Bilibili 上的 MCP 入门视频,选一个候选,
42
+ 再从字幕中找出“工具调用”的出现位置并给我时间链接。
1213
43
  ```
1214
44
 
1215
- 如果你使用上方“用 agent 工具帮你安装”的提示词,agent 会在添加 MCP server 后引导你运行这两个命令。`config` 输入不会在终端回显,会把 Cookie 保存到本机凭证配置;MCP server 启动后会自动读取,不会写入 MCP 客户端配置或仓库。
1216
-
1217
- 如果已经全局安装,也可以运行:
1218
-
1219
- ```bash
1220
- bilibili-mcp config
1221
- bilibili-mcp check
1222
- ```
1223
-
1224
- ### 环境变量方式
1225
-
1226
- 适合 Docker、本地开发或你明确知道当前 MCP server 运行环境的情况。不要把真实 Cookie 写进可共享的 MCP 客户端配置文件。
1227
-
1228
- | 变量名 | 说明 |
1229
- |---|---|
1230
- | `BILIBILI_SESSDATA` | Bilibili 登录 Cookie 中的 SESSDATA |
1231
- | `BILIBILI_BILI_JCT` | Bilibili 登录 Cookie 中的 bili_jct |
1232
- | `BILIBILI_DEDEUSERID` | Bilibili 用户 ID |
1233
-
1234
- `.env` 示例:
45
+ ## 🧰 工具一览
1235
46
 
1236
- ```env
1237
- BILIBILI_SESSDATA=<your_sessdata>
1238
- BILIBILI_BILI_JCT=<your_bili_jct>
1239
- BILIBILI_DEDEUSERID=<your_dedeuserid>
1240
- ```
1241
-
1242
- ### Cookie 获取提醒
1243
-
1244
- 请只从你自己的 Bilibili 登录会话中获取 Cookie。不同浏览器的开发者工具界面会变化,具体步骤请以浏览器实际界面为准。
1245
-
1246
- 不要把 Cookie 发给他人,不要粘贴到公开聊天、Issue、PR、README、日志或测试文件。
1247
-
1248
- ### 安全须知
1249
-
1250
- - Cookie 只应保存在本地配置、环境变量或 `.env` 中。
1251
- - `.env` 已被 `.gitignore` 排除,但仍要避免提交。
1252
- - Cookie 泄露后应立即在 Bilibili 账号侧失效旧登录状态。
1253
- - 本项目不会把 Cookie 上传到除 Bilibili 官方 API 以外的第三方服务。
1254
-
1255
- ---
1256
-
1257
- ## 🧭 该用哪个工具?
1258
-
1259
- | 目标 | 推荐工具 | 返回重点 |
47
+ | 目标 | 工具 | 返回重点 |
1260
48
  |---|---|---|
1261
- | 只有主题,还没有视频链接 | `search_bilibili_videos` | 最多 10 个普通视频候选及可继续调用的 BVID;不自动抓取字幕或评论 |
1262
- | 想让 AI 总结一个视频 | `get_video_info` | 字幕优先;无字幕时返回标题、简介、标签 |
1263
- | 只想拿完整转录文本或关键词定位 | `get_video_transcript` | 纯字幕文本、语言、数据来源;支持时间戳、区间过滤和关键词搜索 |
1264
- | 想查看标题、作者、播放量等结构化信息 | `get_video_metadata` | 标题、作者、时长、发布时间、标签、统计数据、多P分集列表(`pages`) |
1265
- | 想看观众反馈和热门评论 | `get_video_comments` | 热门评论、时间戳评论、可选回复 |
1266
- | 想看视频章节/进度条分段 | `get_video_chapters` | 章节标题、起止时间;无章节时返回空列表 |
1267
- | 让 agent 引导用户配置 Cookie | `get_credential_setup_instructions` | 安全配置步骤、推荐命令、注意事项 |
1268
- | 检查 Cookie 是否已配置/登录 | `check_bilibili_credentials` | configured、source、logged_in、next_steps、next_steps_zh |
1269
- | 检查 MCP 包是否需要更新 | `check_mcp_update` | current_version、latest_version、update_available、notes_zh、更新命令 |
1270
-
1271
- ## 💡 工具调用示例
1272
-
1273
- > AI 客户端会自动将你的自然语言意图转换为对应的 JSON 调用。
1274
-
1275
- ### `get_credential_setup_instructions`
1276
-
1277
- **适合**:agent 安装 MCP server 后,引导用户完成 Cookie 配置。
1278
-
1279
- 请求示例:
1280
-
1281
- ```json
1282
- {
1283
- "name": "get_credential_setup_instructions",
1284
- "arguments": {}
1285
- }
1286
- ```
1287
-
1288
- 返回内容:推荐配置命令、全局安装命令、所需 Cookie 字段,以及 `security_notes_en` / `security_notes_zh` 双语安全提醒;不会返回任何 Cookie 值。
1289
-
1290
- ### `check_bilibili_credentials`
1291
-
1292
- **适合**:检查当前环境是否已配置 Cookie,以及是否处于登录状态。
1293
-
1294
- 请求示例:
1295
-
1296
- ```json
1297
- {
1298
- "name": "check_bilibili_credentials",
1299
- "arguments": {}
1300
- }
1301
- ```
1302
-
1303
- 返回内容:`configured`、`source`(`env` / `global_config` / `none`)、`logged_in`、兼容旧调用方的 `next_steps`,以及双语 `next_steps_en` / `next_steps_zh`;不会返回任何 Cookie 值。
1304
-
1305
- ### `check_mcp_update`
1306
-
1307
- **适合**:检查当前安装的 MCP 包是否落后于 npm latest,并给出安全更新命令。
1308
-
1309
- 请求示例:
1310
-
1311
- ```json
1312
- {
1313
- "name": "check_mcp_update",
1314
- "arguments": {}
1315
- }
1316
- ```
1317
-
1318
- 返回内容:`current_version`、`latest_version`、`update_available`、`recommended_mcp_config`、`update_commands`,以及双语 `notes_en` / `notes_zh`;不会自动更新包。
1319
-
1320
- ### `search_bilibili_videos`
1321
-
1322
- **适合**:只有一个主题,需要先在 Bilibili 内找到少量候选视频。
49
+ | 只有主题,还没有视频链接 | `search_bilibili_videos` | 最多 10 个普通视频候选及可继续调用的 BVID |
50
+ | 获取纯字幕或定位关键词 | `get_video_transcript` | 转录文本、语言、时间戳、区间过滤、关键词上下文与证据链接 |
51
+ | 让 AI 总结视频 | `get_video_info` | 字幕优先;无字幕时可返回标题、简介和标签 |
52
+ | 查看结构化视频信息 | `get_video_metadata` | 标题、作者、时长、发布时间、标签、统计数据和多 P 列表 |
53
+ | 查看视频章节 | `get_video_chapters` | 创作者或平台定义的章节标题与起止时间 |
54
+ | 查看观众反馈 | `get_video_comments` | 热门评论、时间戳评论和可选回复 |
55
+ | 获取安全配置步骤 | `get_credential_setup_instructions` | 本机凭证配置命令与双语安全提醒 |
56
+ | 检查登录凭证 | `check_bilibili_credentials` | 配置来源、登录状态和下一步建议,不返回 Cookie |
57
+ | 检查 MCP 更新 | `check_mcp_update` | 当前版本、最新版本和安全更新命令 |
1323
58
 
1324
- 请求示例:
59
+ 完整参数、JSON 示例、结构化错误和请求控制见[工具参考](./docs/tool-reference.md)。
1325
60
 
1326
- ```json
1327
- {
1328
- "name": "search_bilibili_videos",
1329
- "arguments": {
1330
- "query": "MCP 入门",
1331
- "limit": 5
1332
- }
1333
- }
1334
- ```
1335
-
1336
- 返回内容:综合排序的普通视频候选及其 `bvid`、标题、作者、时长、发布时间、播放量、简介片段和源链接。搜索需要有效登录凭证,且不会自动读取候选视频的字幕或评论。
1337
-
1338
- ### `get_video_transcript`
1339
-
1340
- **适合**:需要把视频内容交给 AI 做摘要、笔记、问答或知识整理。
1341
-
1342
- 请求示例:
1343
-
1344
- ```json
1345
- {
1346
- "name": "get_video_transcript",
1347
- "arguments": {
1348
- "bvid_or_url": "https://www.bilibili.com/video/BV1xx411c7mD",
1349
- "preferred_lang": "zh-Hans",
1350
- "fallback_to_description": false
1351
- }
1352
- }
1353
- ```
1354
-
1355
- 返回内容:`bvid`、`title`、`language`、`transcript`(按行合并)、`data_source`(`subtitle` 或 `description`)、`page`(分集编号)。
1356
-
1357
- > 默认无字幕时返回 `SUBTITLE_UNAVAILABLE`。如需降级,设置 `fallback_to_description: true`。
1358
-
1359
- **关键词搜索示例**:
1360
-
1361
- ```json
1362
- {
1363
- "name": "get_video_transcript",
1364
- "arguments": {
1365
- "bvid_or_url": "BV1xx411c7mD",
1366
- "query": "深度学习",
1367
- "max_matches": 5,
1368
- "context_segments": 1
1369
- }
1370
- }
1371
- ```
1372
-
1373
- 搜索模式返回:`query`、`total_matches`、`returned_matches`、`truncated`、`matches`(含 `start_seconds`、`end_seconds`、`content`、`context`)和紧凑 `transcript`。
1374
-
1375
- **定时区间转录示例**:
1376
-
1377
- ```json
1378
- {
1379
- "name": "get_video_transcript",
1380
- "arguments": {
1381
- "bvid_or_url": "BV1xx411c7mD",
1382
- "page": 1,
1383
- "include_timestamps": true,
1384
- "start_seconds": 120,
1385
- "end_seconds": 300
1386
- }
1387
- }
1388
- ```
61
+ ### 关键能力
1389
62
 
1390
- ### `get_video_metadata`
1391
-
1392
- **适合**:想快速了解视频基本信息,不需要字幕或评论内容。
1393
-
1394
- 请求示例:
1395
-
1396
- ```json
1397
- {
1398
- "name": "get_video_metadata",
1399
- "arguments": {
1400
- "bvid_or_url": "BV1xx411c7mD"
1401
- }
1402
- }
1403
- ```
1404
-
1405
- 返回内容:`bvid`、`title`、`author`、`duration`、`pubdate` / `pubdate_timestamp`、`description`、`tags`、`pages`(多P分集列表)和 `stats`(播放、点赞、投币、收藏、分享、评论、弹幕)。
1406
-
1407
- ### `get_video_chapters`
1408
-
1409
- **适合**:获取 Bilibili 创作者定义的视频章节,用于导航或定位。
1410
-
1411
- 请求示例:
1412
-
1413
- ```json
1414
- {
1415
- "name": "get_video_chapters",
1416
- "arguments": {
1417
- "bvid_or_url": "BV1vL411G7N7"
1418
- }
1419
- }
1420
- ```
1421
-
1422
- 返回内容:`bvid`、`page`、`cid`、`title`、`chapters`(数组,每项含 `title`、`start_seconds`、`end_seconds`)。无章节时 `chapters` 为空数组。
1423
-
1424
- ### `get_video_info`
1425
-
1426
- **适合**:让 AI 总结视频核心内容——会优先尝试字幕,无字幕时回退到简介和标签。
1427
-
1428
- 请求示例:
1429
-
1430
- ```json
1431
- {
1432
- "name": "get_video_info",
1433
- "arguments": {
1434
- "bvid_or_url": "https://www.bilibili.com/video/BV1xx411c7mD",
1435
- "preferred_lang": "zh-Hans"
1436
- }
1437
- }
1438
- ```
63
+ - **先发现、再阅读**:按主题搜索普通视频候选,再把返回的 BVID 交给字幕、元数据、章节或评论工具。
64
+ - **可验证的字幕证据**:支持多 P、语言偏好、时间戳、时间区间和关键词上下文;命中项包含可直达播放时刻的 `timestamp_url`。
65
+ - **结构化输出**:视频搜索和转录成功结果同时提供兼容文本与 MCP `structuredContent`。
66
+ - **明确的失败语义**:区分凭证失效、无字幕、访问受限、限流、超时和其他 API 错误,并给出下一步建议。
67
+ - **安全的凭证助手**:检查凭证状态时不返回 `SESSDATA`、`bili_jct`、`DedeUserID` 或完整 Cookie。
1439
68
 
1440
- 返回内容:`data_source`(`subtitle` 或 `description`)、`video_info`(标题、描述、标签、字幕文本、发布时间)。
69
+ ## 🧭 行为边界
1441
70
 
1442
- > 无字幕视频会自动降级返回描述和标签(即 `data_source: "description"`)。
71
+ - 视频搜索要求已配置且有效的 Bilibili 登录 Cookie,不提供匿名降级。
72
+ - `get_video_transcript` 默认在无字幕时返回 `SUBTITLE_UNAVAILABLE`;只有显式设置 `fallback_to_description: true` 才会退回简介。
73
+ - 时间戳、区间过滤和关键词搜索不会静默退回简介,避免把描述误当作字幕证据。
74
+ - 章节来自 Bilibili 创作者或平台数据;没有章节时返回空列表,不推断章节。
75
+ - 本项目不会绕过付费、会员、地区、私密、下架或其他访问限制。
76
+ - 所有请求由用户本机发起;本项目是第三方工具,不是 Bilibili 官方服务。
1443
77
 
1444
- ### `get_video_comments`
78
+ ## 🛠️ 开发
1445
79
 
1446
- **适合**:想了解观众对视频的真实评价、找精彩时间点。
1447
-
1448
- 请求示例:
1449
-
1450
- ```json
1451
- {
1452
- "name": "get_video_comments",
1453
- "arguments": {
1454
- "bvid_or_url": "BV1xx411c7mD",
1455
- "detail_level": "detailed",
1456
- "limit": 10,
1457
- "sort": "hot",
1458
- "include_replies": true
1459
- }
1460
- }
1461
- ```
1462
-
1463
- 返回内容:`comments[]`(含 `author`、`content`、`likes`、`timestamp`、`has_timestamp`)、`summary`(总数和时间戳评论数)。
1464
-
1465
- > Cookie 过期或未登录可能导致评论为空。`sort: "time"` 可获取最新评论,`include_replies: false` 不返回子回复。
1466
-
1467
- ---
1468
-
1469
- ## 🛡️ API 限流机制
1470
-
1471
- 为降低触发 Bilibili 风控和接口限流的概率,已内置以下请求控制策略:
1472
-
1473
- - **请求启动间隔**:默认 500ms(0.5 秒),可通过 `BILIBILI_RATE_LIMIT_MS` 调整。
1474
- - **执行方式**:对 API 请求启动做节流,避免瞬时大并发;适合本地单用户 MCP 使用。
1475
- - **重试策略**:对 408、429、5xx、网络错误和超时进行最多 3 次指数退避重试。
1476
- - **超时控制**:默认 10 秒,可通过 `BILIBILI_REQUEST_TIMEOUT_MS` 调整。
1477
- - **缓存容量**:默认 100 条,可通过 `BILIBILI_CACHE_SIZE` 调整。
1478
- - **User-Agent**:可通过 `USER_AGENT` 覆盖默认请求头。
1479
-
1480
- 以上环境变量均在 MCP server 进程启动时读取,修改后需重启 MCP 客户端或重连 MCP server 才能生效。
1481
-
1482
- ---
1483
-
1484
- ## 🛠️ 开发指南
1485
-
1486
- ```bash
1487
- # 1. 克隆仓库
1488
- git clone https://github.com/XZXZZX-Ai/bilibili-mcp.git
1489
- cd bilibili-mcp
1490
-
1491
- # 2. 安装依赖包
1492
- npm install
1493
-
1494
- # 3. 运行测试
1495
- npm test
1496
-
1497
- # 4. 编译 TypeScript
1498
- npm run build
1499
-
1500
- # 5. 启动监听与实时编译
1501
- npm run watch
1502
- ```
1503
-
1504
- 常用命令:
80
+ 源码开发环境的安装步骤也集中在[完整安装指南:从源码开发](./docs/client-setup.md#从源码开发)。
1505
81
 
1506
82
  | 命令 | 用途 |
1507
83
  |---|---|
1508
- | `npm run build` | 清理 `dist/` 后编译 TypeScript |
1509
- | `npm test` | 运行 Vitest 单元测试 |
1510
- | `npm run watch` | 开发时持续编译 |
1511
- | `npm start` | 运行已编译的 stdio MCP server |
1512
- | `npm pack --dry-run` | 检查 npm 包会包含哪些文件 |
1513
-
1514
- 本地调试说明:
1515
-
1516
- - MCP server 的入口是 `dist/index.js`,CLI 入口是 `dist/cli.js`;修改源码后先运行 `npm run build`。
1517
- - 启动 stdio MCP server 后,`stdout` 必须保留给 MCP 协议数据;调试日志和错误信息应写到 `stderr`,因此本项目使用 `console.error` 输出运行日志。
1518
- - 不要在测试、日志、示例或提交内容中写入真实 Cookie。需要验证凭证时,使用 `npx -y @xzxzzx/bilibili-mcp@latest check` 或本地环境变量。
1519
-
1520
- ---
1521
-
1522
- ## ⚖️ 安全性与免责声明
1523
-
1524
- > **⚠️ 重要:使用本工具即代表您同意以下条款**
1525
-
1526
- - **非官方项目**:Bilibili(哔哩哔哩)是哔哩哔哩公司的注册商标。本项目是第三方开源辅助工具,不隶属于 Bilibili,也不代表 Bilibili 官方。
1527
- - **使用边界**:本项目仅供个人学习、辅助阅读和内容理解使用。请遵守 Bilibili 用户协议、robots/接口访问规则和当地法律法规;不要用于商业剥削、大规模抓取、绕过权限或其他滥用场景。
1528
- - **账号风险**:所有请求均由用户本机发起。高频调用、异常访问模式、Cookie 泄露或账号自身状态可能触发风控、限流或账号异常;相关后果由使用者自行承担。
1529
- - **Cookie 安全**:不要把真实 Cookie 写入 MCP 客户端配置、公开聊天、Issue、PR、README、日志或测试文件。建议使用本项目的本机凭证配置、运行环境变量或本地 `.env` 管理 Cookie;Cookie 泄露后应立即在 Bilibili 账号侧失效旧登录状态。
1530
- - **隐私说明**:本项目不会把 Cookie 上传到除 Bilibili 官方接口以外的第三方服务。凭证仅在本机按用户选择的方式保存或读取;当前本地配置文件不承诺系统级加密,请自行保护设备、账号和配置文件访问权限。
1531
-
1532
- ### 许可证
1533
-
1534
- 本项目基于 **GNU General Public License v3.0** 开源。使用、复制、修改和分发本项目时,请遵守 GPL-3.0 的许可要求。
1535
-
1536
- ---
1537
-
1538
- ## 🛠️ 开发过程
1539
-
1540
- 本项目是一个典型的 AI 协同开发的结晶,完整经历了从原型到完善的过程:
1541
-
1542
- 1. **初版生成**:由 **Claude Code** (搭载 **GLM-4.7** 模型) 快速搭建核心架构与基础逻辑。
1543
- 2. **调试与优化**:在 **Antigravity** 环境下,利用 **Claude** 和 **Gemini** 模型进行深度的 Bug 修复与功能增强,确保了字幕提取与评论分析的稳定性。
1544
- 3. **迭代与扩展**:由 **Codex** 进行架构决策、计划分解和直接实现,或按任务通过 **Paseo** 启动 **Claude Code**;目前覆盖 30+ AI 客户端的 MCP 接入配置、9 个 MCP 工具、327 个单元测试。
84
+ | `npm run build` | 清理并编译 TypeScript 到 `dist/` |
85
+ | `npm test` | 运行 Vitest 测试 |
86
+ | `npm run watch` | 监听 TypeScript 变更 |
87
+ | `npm start` | 启动已构建的 stdio MCP server |
88
+ | `npm pack --dry-run` | 检查 npm 发布包内容 |
1545
89
 
1546
- ---
90
+ MCP stdio 协议使用 `stdout`;调试日志必须写到 `stderr`。测试和日志中不要使用真实 Cookie。
1547
91
 
1548
- ## 💬 反馈与建议
92
+ ## ⚖️ 安全与许可
1549
93
 
1550
- 如果您在使用过程中遇到任何问题,或者有好的功能建议,欢迎通过以下方式联系:
94
+ - 请遵守 Bilibili 用户协议、接口访问规则和当地法律法规,不要用于大规模抓取、商业剥削、绕过权限或其他滥用场景。
95
+ - 高频调用、异常访问模式或 Cookie 泄露可能触发限流、风控或账号异常,相关风险由使用者承担。
96
+ - 本项目仅向 Bilibili 官方接口发送 Bilibili 凭证,不会把 Cookie 上传到第三方服务;本地配置文件不承诺系统级加密。
97
+ - 本项目基于 [GNU General Public License v3.0](./LICENSE) 开源。
1551
98
 
1552
- - **提交 Issue**:[GitHub Issues](https://github.com/XZXZZX-Ai/bilibili-mcp/issues) —— **推荐方式**,我会定期查看并回复。
1553
- - **项目讨论**:在 [GitHub Discussions](https://github.com/XZXZZX-Ai/bilibili-mcp/discussions) 中交流。
99
+ ## 💬 反馈
1554
100
 
1555
- 感谢您的支持!
101
+ 遇到问题或有功能建议,请提交 [GitHub Issue](https://github.com/XZXZZX-Ai/bilibili-mcp/issues);一般讨论可前往 [GitHub Discussions](https://github.com/XZXZZX-Ai/bilibili-mcp/discussions)。