bibi-proxy
A local MCP proxy for BibiGPT that lets users summarize videos and audio through a single proxy URL, injecting BibiGPT API keys with round-robin rotation, auth-error retry, and hot-reload, exposing 32 MCP tools for summarization, subtitles, chapters, saved videos, notes, collections, channels, feeds, Notion export, mind maps, and more.
README
bibi-proxy
BibiGPT 视频总结本地 MCP 代理 · 多账号 API Key 轮询
A local MCP proxy for BibiGPT (AI video & audio summarizer). Clients configure only the proxy URL; the proxy injects BibiGPT API keys with round-robin rotation, retry-on-auth-error, and hot-reload.
Qwen Code / any MCP client ──> http://localhost:8788 (this proxy)
│ injects Authorization: Bearer <rotated key>
▼
https://bibigpt.co/api/mcp (BibiGPT remote MCP)
功能特性 Features
- 🔑 多账号轮询:
keys.json数组里放任意数量的 BibiGPT API Key,每个请求轮换使用 - 🔄 坏 Key 自动切换:认证失败(HTTP 401/403/429 或 JSON-RPC
UNAUTHORIZED)自动换下一个 Key 重试 - ♻️ 热重载:修改
keys.json无需重启,fs.watch自动加载 - 🔐 Key 不进客户端:客户端只连代理地址,不接触任何 Key;日志全程打码
- 🚀 32 个 MCP 工具:总结、分章节、字幕、异步长视频任务、个人库、笔记、合集、频道订阅、Feed、Notion 导出、思维导图、画面分析等
- ⚙️ 可作 Windows 服务:随附 NSSM 脚本,开机自启、崩溃自愈
目录结构 Project Structure
bibi-proxy/
├── src/index.ts # 代理源码(Node.js,零依赖,仅用 node:http)
├── package.json # npm 脚本:build / start / dev
├── tsconfig.json
├── keys.example.json # Key 配置模板(提交到仓库的占位符)
├── keys.json # 真实 Key(本地创建,已被 .gitignore 排除,勿提交)
├── setup-service.cmd # NSSM 服务安装脚本(可移植,自动探测 node/nssm)
├── nssm-2.24-101-g897c7ad/ # 随附的 NSSM 工具(win32/win64)
└── dist/ # 编译产物(npm run build 生成,已被忽略)
快速开始 Quick Start(中文)
1. 环境要求
- Node.js 18+(推荐 20+),
node在 PATH 中 - Windows / macOS / Linux 均可运行;Windows 服务化需要 Windows + NSSM(已随附)
- BibiGPT API Key:登录 https://bibigpt.co/user/integration 获取(多个账号可多放几个)
2. 安装依赖并构建
npm install
npm run build
3. 配置 API Key
copy keys.example.json keys.json
编辑 keys.json,填入你的 Key:
[
"key_1",
"key_2",
"key_3"
]
Key 数量不限;
keys.json已被.gitignore排除,不会误提交。
4. 启动代理
npm run start # 前台运行(开发调试用)
启动后应看到:
[proxy] keys reloaded (3) reason=startup
bibi-proxy listening on http://localhost:8788
Upstream: https://bibigpt.co/api/mcp
验证代理可用:
curl -s -X POST http://localhost:8788/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}"
应返回 BibiGPT 的 MCP 工具列表 JSON(HTTP 200)。
5. 接入 Qwen Code
qwen mcp add bibigpt http://localhost:8788 --transport http
然后在对话里直接说:
总结这个视频 https://www.bilibili.com/video/BV1xxxxxxxx
其他 MCP 客户端(Claude Desktop、Cursor 等)配置示例:
{
"mcpServers": {
"bibigpt": {
"url": "http://localhost:8788",
"type": "http"
}
}
}
安装为 Windows 服务(NSSM)
让代理开机自启、崩溃自动重启。需要管理员权限——请右键"以管理员身份运行"或在管理员终端中执行(会弹 UAC 由你确认)。
安装
setup-service.cmd
脚本会自动:
- 用脚本所在目录定位项目根和随附的 NSSM(
nssm-2.24-101-g897c7ad\win64\nssm.exe) - 从 PATH 探测
node.exe - 若
dist缺失先自动npm run build - 注册服务
bibi-proxy(自动启动,异常退出自动重启,日志写入_service.log) - 启动服务
成功输出:SERVICE_INSTALLED_AND_STARTED
验证:
sc query bibi-proxy
netstat -ano | findstr :8788
管理命令
net start bibi-proxy rem 启动
net stop bibi-proxy rem 停止
sc query bibi-proxy rem 查状态
- 更新 Key:直接编辑
keys.json,服务内自动热重载,无需重启服务 - 更新代码:
npm run build后net stop bibi-proxy && net start bibi-proxy
卸载
在项目目录执行:
nssm-2.24-101-g897c7ad\win64\nssm.exe remove bibi-proxy confirm
使用示例 Usage
常用 MCP 工具
| 用户意图 | 工具 |
|---|---|
| 总结视频/音频 URL | summarize_video |
| 自定义 prompt/模型/语言总结 | summarize_video_with_config |
| 分章节总结 | summarize_by_chapter |
| 提取字幕/转写 | get_subtitle |
| 长视频异步总结(>30 分钟) | create_summary_task + get_task_status 轮询 |
| 查账户/剩余额度 | get_account_info |
| 浏览/搜索已保存的视频 | list_saved_videos / search_saved_videos |
| 笔记、合集、频道、Feed、Notion 导出、思维导图等 | 详见 tools/list 返回的完整工具列表 |
curl 调用总结
curl -s -X POST http://localhost:8788/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"summarize_video\",\"arguments\":{\"url\":\"https://www.bilibili.com/video/BV1xxxxxxxx/\"}}}"
环境变量 Environment Variables
| 变量 | 默认值 | 说明 |
|---|---|---|
PORT |
8788 |
监听端口 |
KEYS_FILE |
./keys.json |
Key 文件路径 |
BIBIGPT_MCP_BASE_URL |
https://bibigpt.co/api/mcp |
上游 MCP 地址 |
MAX_BODY_BYTES |
1048576 |
请求体大小上限(字节) |
MAX_ERROR_BODY_BYTES |
262144 |
错误响应体缓冲上限(字节) |
MAX_RESPONSE_BODY_BYTES |
8388608 |
JSON 响应缓冲上限(字节,用于认证错误检测) |
安全说明 Security
keys.json与*.log已被.gitignore排除,提交前请确认 Key 未入库- 代理注入
Authorization: Bearer <key>,忽略客户端自带认证头 - 日志只记录 key 序号(
key #1/5),绝不输出明文 Key
常见问题 Troubleshooting
| 症状 | 原因 | 解决 |
|---|---|---|
启动报 No API keys available |
keys.json 缺失或为空 |
按上文第 3 步创建并填写 |
调用返回 UNAUTHORIZED 且全部 Key 都失败 |
所有 Key 均无效或额度用尽 | 检查 Key 有效性:curl https://api.bibigpt.co/api/version -H "Authorization: Bearer <key>";调用 get_account_info 查看剩余额度 |
| 端口 8788 被占用 | 已有进程监听 | netstat -ano | findstr :8788 找到 PID,停掉或改用 PORT 环境变量 |
改了 keys.json 没生效 |
— | 正常会自动热重载;日志应出现 keys reloaded (N) reason=fs.watch:rename |
| 服务注册失败 | 未以管理员运行 | 以管理员运行 setup-service.cmd(会弹 UAC) |
English Quick Start
npm install && npm run build
copy keys.example.json keys.json # then fill in your BibiGPT API keys
npm run start
Connect from Qwen Code:
qwen mcp add bibigpt http://localhost:8788 --transport http
Install as a Windows service (elevated):
setup-service.cmd
Get API keys at https://bibigpt.co/user/integration.
第三方组件 Third-party components
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。