bilibili用户视监MCP
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"bilistalker": {
"args": [
"bili-stalker-mcp"
],
"command": "uvx",
"env": {
"BILI_JCT": "您的BILI_JCT",
"BUVID3": "您的BUVID3",
"SESSDATA": "您的SESSDATA"
}
}
}
}
该服务需要配置环境变量:BILI_JCT、SESSDATA、buvid3
可用工具 (5 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
get_user_info 2 个参数
获取Bilibili用户的个人主页信息。 支持使用用户名或UID,两者效力相同。返回用户详细资料:昵称、签名、等级、粉丝数、关注数等。 您必须提供 user_id 或 username 中的一个。 :param user_id: 用户的Bilibili UID (可选)。 :param username: 用户的Bilibili昵称 (可选)。 :return: 包含用户详细信息的JSON对象。
该工具无需必填参数,直接调用即可
get_user_video_updates 4 个参数
获取Bilibili用户最近发布的视频列表。 支持使用用户名或UID,两者效力相同。返回视频详细信息:标题、描述、播放量、弹幕数、封面图、字幕信息等。 字幕信息包含:是否有字幕、字幕数量、字幕语言列表和字幕下载URL。 您必须提供 user_id 或 username 中的一个。 :param user_id: 用户的Bilibili UID (可选)。 :param username: 用户的Bilibili昵称 (可选)。 :param page: 页码,默认为1。 :param limit: 每页数量,默认为10,最大为50。 :return: 包含视频列表的JSON对象,每个视频包含详细的字幕信息。
该工具无需必填参数,直接调用即可
get_user_dynamic_updates 5 个参数
获取Bilibili用户最近发布的动态。 支持使用用户名或UID,两者效力相同。可指定动态类型(视频、专栏、图文等)和获取数量。 返回动态详细信息:类型、发布时间、文本内容、点赞/评论/转发数。 您必须提供 user_id 或 username 中的一个。 :param user_id: 用户的Bilibili UID (可选)。 :param username: 用户的Bilibili昵称 (可选)。 :param offset: 动态偏移量, 用于分页,默认为0。 :param limit: 需要获取的动态数量,默认为10,最大为50。 :param dynamic_type: 动态类型,可以是 "ALL", "VIDEO", "ARTICLE", "ANIME", "DRAW"。默认为 "ALL"。 :return: 包含动态列表的JSON对象。
该工具无需必填参数,直接调用即可
get_user_articles 4 个参数
获取Bilibili用户最近发布的专栏文章列表。 支持使用用户名或UID,两者效力相同。返回文章详细信息:标题、摘要、阅读量、封面图URL等。 您必须提供 user_id 或 username 中的一个。 :param user_id: 用户的Bilibili UID (可选)。 :param username: 用户的Bilibili昵称 (可选)。 :param page: 页码,默认为1。 :param limit: 每页数量,默认为10,最大为50。 :return: 包含文章列表的JSON对象。
该工具无需必填参数,直接调用即可
get_user_followings 4 个参数
获取Bilibili用户的关注列表。 支持使用用户名或UID,两者效力相同。返回关注用户详细信息:昵称、签名、头像等。 您必须提供 user_id 或 username 中的一个。 :param user_id: 用户的Bilibili UID (可选)。 :param username: 用户的Bilibili昵称 (可选)。 :param page: 页码,默认为1。 :param limit: 每页数量,默认为20,最大为50。 :return: 包含关注用户列表的JSON对象。
该工具无需必填参数,直接调用即可
服务介绍
BiliStalkerMCP
面向指定 B 站用户分析的 Bilibili MCP Server
BiliStalkerMCP 是一个基于 Model Context Protocol (MCP) 的 Bilibili MCP Server,专门面向需要分析指定 B 站用户或 UP 主的 AI 助手。
它的工作流默认从目标 uid 或用户名出发,再结构化获取该用户的档案、视频、动态、专栏、字幕与关注列表。
如果你在查找 Bilibili MCP、哔哩哔哩 MCP、B 站 MCP Server,或用于追踪与分析指定 B 站用户的 Model Context Protocol 服务,这个仓库就是为这些场景设计的。
English | 中文说明
🚀 快速开始
安装
uvx bili-stalker-mcp
# 或
pip install bili-stalker-mcp
配置 (Claude Desktop,推荐)
{
"mcpServers": {
"bilistalker": {
"command": "uv",
"args": ["run", "--directory", "/path/to/BiliStalkerMCP", "bili-stalker-mcp"],
"env": {
"SESSDATA": "必填_SESSDATA",
"BILI_JCT": "可选_BILI_JCT",
"BUVID3": "可选_BUVID3"
}
}
}
}
当 PyPI 包更新传播较慢时,优先使用
uv run --directory ...直接跑本地仓库版本。
uvx bili-stalker-mcp仍可用于快速一次性体验。
凭据获取: 在 B 站网页端按下 F12 -> Application -> Cookies 中获取相关值。
环境变量
| 变量名 | 必填 | 描述 |
|---|---|---|
SESSDATA |
是 | B 站登录凭证。 |
BILI_JCT |
否 | CSRF Token,涉及高权限操作时必需。 |
BUVID3 |
否 | 硬件指纹,显著降低风控阻断风险。 |
BILI_LOG_LEVEL |
否 | 映射至 DEBUG, INFO (默认), WARNING。 |
BILI_TIMEZONE |
否 | 格式化时间输出时区(默认:Asia/Shanghai)。 |
🛠️ 工具集
| 工具 | 功能描述 | 参数 |
|---|---|---|
get_user_info |
档案资料与核心统计数据 | user_id_or_username |
get_user_videos |
轻量视频列表 | user_id_or_username, page, limit |
search_user_videos |
指定用户视频关键词检索 | user_id_or_username, keyword, page, limit |
get_video_detail |
视频详情与可选字幕聚合 | bvid, fetch_subtitles(默认:false), subtitle_mode(smart/full/minimal), subtitle_lang(默认:auto), subtitle_max_chars |
get_user_dynamics |
结构化动态流(Cursor 分页) | user_id_or_username, cursor, limit, dynamic_type |
get_user_articles |
轻量专栏列表 | user_id_or_username, page, limit |
get_article_content |
专栏 Markdown 全文 | article_id |
get_user_followings |
用户关注列表分析 | user_id_or_username, page, limit |
动态类型过滤 (dynamic_type)
ALL(默认): 仅文本、图文(DRAW)、转发(最适合 AI 分析)。ALL_RAW: 原始全量数据(包含视频及专栏)。VIDEO,ARTICLE,DRAW,TEXT: 特定分类过滤。
分页机制: 响应包含 next_cursor。后续请求传入此参数可实现连续拉取。
字幕模式 (get_video_detail)
smart(fetch_subtitles=true时默认): 拉取全部分P字幕元数据,但仅下载 1 条最优匹配字幕正文。full: 下载所有字幕轨正文(开销较高)。minimal: 跳过字幕元数据与正文拉取。
subtitle_lang 可指定语言(如 en-US);auto 会按内置优先级自动回退。
subtitle_max_chars 可限制字幕正文最大返回字符数,避免 token 膨胀。
📎 附带 Skill
仓库内置一个可直接使用的 AI Agent Skill,位于 skills/bili-content-analysis/:
skills/bili-content-analysis/
├── SKILL.md # 工作流与输出规范
└── references/
└── analysis-style.md # 深度分析写作风格指南
功能
引导兼容的 AI Agent(Gemini、Claude 等)执行结构化的 6 步 B 站内容分析流程:
- 明确目标 — 提取 uid / bvid / 关键词等标识符。
- 最小采集 — 优先调用轻量列表工具,仅对高价值条目拉取详情。
- 重建原文 — 按时间线、章节或原始逻辑顺序还原源材料结构。
- 构建分析 — 梳理事实、逻辑链、假设、主题与近期转向。
- 保留锚点 — 输出中保留 uid、bvid、article_id、时间戳及关键原文片段。
- 安全降级 — 数据缺失时明确阻塞原因,拒绝臆测。
使用方式
将 bili-content-analysis 文件夹复制到项目的 Skill 目录:
<project>/.agent/skills/bili-content-analysis/
当用户请求涉及 B 站创作者追踪、字幕解读、时间线重建或内容深度分析时,Agent 将自动激活此 Skill。
👨💻 开发与测试
# 初始化
git clone https://github.com/222wcnm/BiliStalkerMCP.git
cd BiliStalkerMCP
uv pip install -e .[dev]
# 单元测试
uv run pytest -q
# 集成与性能基准(需凭据)
uv run python scripts/integration_suite.py -u <UID>
uv run python scripts/perf_baseline.py -u <UID> --tools dynamics -n 3
📦 发布 (维护者)
前置要求: 请确保系统用户目录下已配置
.pypirc文件以提供 PyPI 凭证。
# 构建 + 测试 + twine 检查(不上传)
.\scripts\pypi_release.ps1
# 上传到 TestPyPI
.\scripts\pypi_release.ps1 -TestPyPI -Upload
# 上传到 PyPI
.\scripts\pypi_release.ps1 -Upload
Docker 部署
基于 stdio 传输,无外部端口暴露。
docker build -t bilistalker-mcp .
docker run -e SESSDATA=... bilistalker-mcp
⚠️ 常见问题
- 412 Precondition Failed: 触发 B 站防爬虫机制。请刷新
SESSDATA或确保已提供BUVID3。 - 环境建议: 云服务器 IP 极易被封锁,建议优先在本地环境运行。
开源协议
MIT
声明:仅限个人研究与学习,禁止用于批量画像、骚扰或商业监测。
本项目由 AI 辅助构建与维护。