mcpField
B
bilitrack

bilitrack

本地服务
github.com/CloudCorpRecords社交媒体01 周前更新

关于 bilitrack

bilitrack 是用于读取 Bilibili 公开数据的命令行工具和 MCP 服务,适合跟踪用户及其内容,包括动态、评论和可选的视频字幕。

主要功能

  1. 01搜索用户并查看资料
  2. 02列出视频、动态和专栏
  3. 03查看关注列表
  4. 04读取内容评论及回复
  5. 05获取视频字幕信息或文本

适用场景

  1. 01查看 Bilibili 用户近期发布内容
  2. 02按关键词搜索创作者的视频
  3. 03阅读视频或专栏评论
  4. 04获取视频字幕

MCP 相关

其 stdio MCP 服务通过公开 Web API 提供 Bilibili 用户搜索,以及用户、视频、专栏、动态、评论和字幕数据查询工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-bilitrack": {
"command": "npx",
"args": [
"-y",
"@reneturcios/bilitrack"
]
}
}
}
启动命令npx -y @reneturcios/bilitrack

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/bilitrack0.1.0
ocighcr.io/cloudcorprecords/bilitrack:0.1.0

工具

12

收录的工具列表 · 更新于 1 周前

参数类型必填说明
limitinteger否要返回的用户数上限(默认值为 20)。
keywordstring是用于搜索 Bilibili 用户的关键词。

详细介绍

bilitrack

bilitrack 可追踪 Bilibili 上的用户和内容:查找用户,查看他们最近发布的内容——视频、动态和专栏——查看他们关注了谁,还可以阅读视频、动态或专栏下的评论串,并在需要时获取视频字幕文本。所有数据均来自 Bilibili 的公开 Web API。

此软件包是对 12-tool BiliStalkerMCP 工具列表的洁净室重建,完全按照其公开 README 规范重新编写。

它如何与服务交互

每个工具都对应 https://api.bilibili.com/x/... 下的一个公开端点,并返回该端点的 data 负载:

# Optional: a logged-in session raises limits and unlocks gated reads.
export SESSDATA="your SESSDATA cookie value"
export BILI_JCT="your bili_jct cookie value (optional)"
export BUVID3="your buvid3 cookie value (optional)"
# Optional override (default: https://api.bilibili.com)
export BILIBILI_API_URL="https://api.bilibili.com"

Cookie 确实是可选的。不设置 Cookie 时,请求会以无 Cookie 的方式发送,而 Bilibili 接受大多数公开读取请求——仅仅因为缺少 SESSDATA 并不会导致失败。当 API 返回非零 code 时,调用会连同该代码和消息一起报错;上游 HTTP 错误则会附带其状态码和响应正文摘录。

用户名解析: 工具接受 user_id_or_username。数值会直接用作用户的 mid;其他值则通过用户搜索解析,并且只接受完全匹配的用户名——相似匹配会报错,而不会猜测。

字幕简化: 设置 fetch_subtitles 后,get_video_detail 会使用播放器 API 列出字幕轨道,并返回轨道元数据(subtitle_scope: "metadata"),或所选轨道的合并文本(根据 subtitle_lang 选择,或选择第一个轨道);如果提供了 subtitle_max_chars,文本会被截断。它不会像完整播放器客户端那样拼接多段字幕或 AI 生成的字幕轨道。

安装

npx @reneturcios/bilitrack search_users '{"keyword":"example"}'

或者运行容器镜像:

docker run -i ghcr.io/cloudcorprecords/bilitrack

容器默认启动 MCP 服务。传入 CLI 参数即可将其用作 CLI。

CLI

CLI 与工具一一对应:每个工具都有一个子命令,参数以单个 JSON 对象的形式传入。

bilitrack search_users '{"keyword":"example","limit":5}'
bilitrack get_user_info '{"user_id_or_username":"12345"}'
bilitrack get_user_snapshot '{"user_id_or_username":"example"}'
bilitrack get_user_videos '{"user_id_or_username":"12345","page":2}'
bilitrack get_video_detail '{"bvid":"BV1xx411c7mD","fetch_subtitles":true,"subtitle_lang":"zh-CN"}'
bilitrack get_content_comments '{"content_type":"video","content_id":"12345","sort":"hot"}'
bilitrack --version

退出码:成功时为 0,API 或验证错误时为 1(错误会指出问题),用法错误时为 2。

MCP 服务

一个二进制文件同时提供这两种用法。mcp 子命令会启动一个 stdio MCP 服务:

npx -y @reneturcios/bilitrack mcp

MCP 客户端配置:

{
  "mcpServers": {
    "bilitrack": {
      "command": "npx",
      "args": ["-y", "@reneturcios/bilitrack", "mcp"],
      "env": { "SESSDATA": "your cookie value (optional)" }
    }
  }
}
工具

此处架构中的所有 ID 参数均为字符串。

工具输入功能
search_userskeyword(必需)、limit按关键词搜索 Bilibili 用户。
get_user_snapshotuser_id_or_username(必需)、video_limit、dynamic_limit、article_limit获取 Bilibili 用户的综合快照:个人资料、视频、动态和文章。
get_user_infouser_id_or_username(必需)获取 Bilibili 用户的个人资料信息。
get_user_videosuser_id_or_username(必需)、page、limit分页列出 Bilibili 用户的视频。
search_user_videosuser_id_or_username(必需)、keyword(必需)、page、limit按关键词搜索 Bilibili 用户的视频。
get_video_detailbvid(必需)、fetch_subtitles、subtitle_scope、subtitle_page、subtitle_cid、subtitle_mode、subtitle_lang、subtitle_max_chars根据 BVID 获取 Bilibili 视频详情,可选择获取字幕。
get_user_dynamicsuser_id_or_username(必需)、cursor、limit、dynamic_type通过游标分页列出 Bilibili 用户的动态(动态信息流帖子)。
get_user_articlesuser_id_or_username(必需)、page、limit分页列出 Bilibili 用户的文章。
get_article_contentarticle_id(必需;数字或带 cv 前缀)获取 Bilibili 文章的完整内容。
get_user_followingsuser_id_or_username(必需)、page、limit分页列出 Bilibili 用户关注的账号。
get_content_commentscontent_type(必需)、content_id(必需)、cursor、limit、sort列出 Bilibili 视频、动态或文章的评论。
get_content_comment_repliescontent_type(必需)、content_id(必需)、root_rpid(必需)、page、limit列出 Bilibili 内容中某条根评论下的回复。

content_type 接受 video、article、dynamic、audio、 album、course 或作为字符串的 Bilibili 数字回复类型。

开发

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, fake fetch only, no network
npm run dev     # run the CLI from source via tsx

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。