Name | bili_stalker_mcp JSON |
Version |
1.1.0
JSON |
| download |
home_page | None |
Summary | MCP Server for getting Bilibili user video updates |
upload_time | 2025-09-02 04:30:30 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | MIT |
keywords |
mcp
bilibili
stalker
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# BiliStalkerMCP (b站用户视监MCP)
[](https://www.python.org/)
[](https://pypi.org/project/bili_stalker_mcp/)
[](https://github.com/jlowin/fastmcp)
[](https://github.com/Nemo2011/bilibili-api)
[](https://smithery.ai)
[](https://modelscope.cn)
**BiliStalkerMCP** 是一个基于 MCP (Model Context Protocol) 的服务,允许AI模型通过标准化协议获取指定Bilibili用户的最新视频和动态更新。
🚀 **支持多平台部署**: Smithery.ai 和 ModelScope
---
## 🚀 快速开始
### 1. 安装
通过 `uvx` 或 `pipx`,你可以轻松地在任何地方运行 `bili-stalker-mcp`,而无需担心项目路径或虚拟环境。
```bash
uvx bili-stalker-mcp
```
### 2. MCP客户端配置
将以下配置添加到你的MCP客户端(如Cline)的 `settings.json` 文件中:
```json
{
"mcpServers": {
"bilistalker": {
"command": "uvx",
"args": [
"bili-stalker-mcp"
],
"env": {
"SESSDATA": "您的SESSDATA",
"BILI_JCT": "您的BILI_JCT",
"BUVID3": "您的BUVID3"
}
}
}
}
```
> **如何获取Cookie?**
> 1. 登录 [bilibili.com](https://www.bilibili.com)
> 2. 打开浏览器开发者工具 (F12)
> 3. 切换到 `Application` -> `Cookies` -> `https://www.bilibili.com`
> 4. 复制 `SESSDATA`, `bili_jct`, 和 `buvid3` 的值
> ⚠️ **安全提示**: 不要将包含凭证的配置文件提交到公共仓库
---
## 🌐 多平台部署
BiliStalkerMCP 支持在多个 MCP 托管平台上部署,提供更好的可用性和用户覆盖面。
### Smithery.ai 部署
1. 访问 [smithery.ai](https://smithery.ai) 创建账户
2. 连接您的 GitHub 仓库
3. 平台自动检测 `smithery.yaml` 并构建容器
4. 配置环境变量后即可使用
### ModelScope 部署
1. 访问 [modelscope.cn](https://modelscope.cn) 创建账户
2. 创建新项目并连接 GitHub 仓库
3. 配置 Docker 构建参数
4. 部署后获取 HTTPS 端点
### 本地 Docker 部署
```bash
# 构建镜像
docker build -t bili-stalker-mcp:latest .
# 运行容器
docker run -p 8080:8080 \
-e SESSDATA=your_sessdata \
-e BILI_JCT=your_jct \
-e BUVID3=your_buvid3 \
bili-stalker-mcp:latest
```
📖 **详细部署指南**: 请查看 [DEPLOYMENT.md](DEPLOYMENT.md)
---
## ✨ 功能
- 🔍 用户视频获取:获取B站用户的最新视频列表
- 📱 动态更新监控:获取用户动态,按时间轴展示
- 🔗 智能用户匹配:支持用户名或用户ID双重查询
- 📊 数据结构规范:提供标准化JSON输出格式
---
## 💬 提示预设
- **`format_video_response`**: 视频数据规范化展示,包含播放量排序
- **`format_dynamic_response`**: 动态全类型时间轴显示
- **`analyze_user_activity`**: 多维度用户创作活跃度分析
---
## 🛠️ 工具
### `get_user_video_updates`
B站用户视频列表查询工具,支持用户名自动搜索,返回完整的视频统计信息。
### `get_user_dynamic_updates`
B站用户动态获取工具,返回完整的动态内容和互动统计。
---
## 📁 资源支持
### 用户信息资源
- URI: `bili://user/{user_id}/info`
- 获取用户基本信息
### 用户视频资源
- URI: `bili://user/{user_id}/videos`
- 获取用户视频列表
### 用户动态资源
- URI: `bili://user/{user_id}/dynamics`
- 获取用户动态更新
### 数据结构Schema资源
- URI: `bili://schemas`
- 获取视频和动态的数据结构定义,帮助模型理解输出格式
### 资源访问示例
```python
# 通过URI直接访问资源(在支持资源的MCP客户端中)
read_resource("bili://user/123456/info")
read_resource("bili://user/123456/videos")
read_resource("bili://user/123456/dynamics")
```
---
## 📝 许可证
[MIT License](https://github.com/222wcnm/BiliStalkerMCP/blob/main/LICENSE)
Raw data
{
"_id": null,
"home_page": null,
"name": "bili_stalker_mcp",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "mcp, bilibili, stalker",
"author": null,
"author_email": "222wcnm <222wcnm@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/a7/7d/cc672dd0ce147f13b37ae0af9019ccf7b09e1690c0350eeb01696277409a/bili_stalker_mcp-1.1.0.tar.gz",
"platform": null,
"description": "# BiliStalkerMCP (b\u7ad9\u7528\u6237\u89c6\u76d1MCP)\r\n\r\n[](https://www.python.org/)\r\n[](https://pypi.org/project/bili_stalker_mcp/)\r\n[](https://github.com/jlowin/fastmcp)\r\n[](https://github.com/Nemo2011/bilibili-api)\r\n[](https://smithery.ai)\r\n[](https://modelscope.cn)\r\n\r\n**BiliStalkerMCP** \u662f\u4e00\u4e2a\u57fa\u4e8e MCP (Model Context Protocol) \u7684\u670d\u52a1\uff0c\u5141\u8bb8AI\u6a21\u578b\u901a\u8fc7\u6807\u51c6\u5316\u534f\u8bae\u83b7\u53d6\u6307\u5b9aBilibili\u7528\u6237\u7684\u6700\u65b0\u89c6\u9891\u548c\u52a8\u6001\u66f4\u65b0\u3002\r\n\r\n\ud83d\ude80 **\u652f\u6301\u591a\u5e73\u53f0\u90e8\u7f72**: Smithery.ai \u548c ModelScope\r\n\r\n---\r\n\r\n## \ud83d\ude80 \u5feb\u901f\u5f00\u59cb\r\n\r\n### 1. \u5b89\u88c5\r\n\r\n\u901a\u8fc7 `uvx` \u6216 `pipx`\uff0c\u4f60\u53ef\u4ee5\u8f7b\u677e\u5730\u5728\u4efb\u4f55\u5730\u65b9\u8fd0\u884c `bili-stalker-mcp`\uff0c\u800c\u65e0\u9700\u62c5\u5fc3\u9879\u76ee\u8def\u5f84\u6216\u865a\u62df\u73af\u5883\u3002\r\n\r\n```bash\r\nuvx bili-stalker-mcp\r\n```\r\n\r\n### 2. MCP\u5ba2\u6237\u7aef\u914d\u7f6e\r\n\r\n\u5c06\u4ee5\u4e0b\u914d\u7f6e\u6dfb\u52a0\u5230\u4f60\u7684MCP\u5ba2\u6237\u7aef\uff08\u5982Cline\uff09\u7684 `settings.json` \u6587\u4ef6\u4e2d\uff1a\r\n\r\n```json\r\n{\r\n \"mcpServers\": {\r\n \"bilistalker\": {\r\n \"command\": \"uvx\",\r\n \"args\": [\r\n \"bili-stalker-mcp\"\r\n ],\r\n \"env\": {\r\n \"SESSDATA\": \"\u60a8\u7684SESSDATA\",\r\n \"BILI_JCT\": \"\u60a8\u7684BILI_JCT\",\r\n \"BUVID3\": \"\u60a8\u7684BUVID3\"\r\n }\r\n }\r\n }\r\n}\r\n```\r\n\r\n> **\u5982\u4f55\u83b7\u53d6Cookie?**\r\n> 1. \u767b\u5f55 [bilibili.com](https://www.bilibili.com)\r\n> 2. \u6253\u5f00\u6d4f\u89c8\u5668\u5f00\u53d1\u8005\u5de5\u5177 (F12)\r\n> 3. \u5207\u6362\u5230 `Application` -> `Cookies` -> `https://www.bilibili.com`\r\n> 4. \u590d\u5236 `SESSDATA`, `bili_jct`, \u548c `buvid3` \u7684\u503c\r\n\r\n> \u26a0\ufe0f **\u5b89\u5168\u63d0\u793a**: \u4e0d\u8981\u5c06\u5305\u542b\u51ed\u8bc1\u7684\u914d\u7f6e\u6587\u4ef6\u63d0\u4ea4\u5230\u516c\u5171\u4ed3\u5e93\r\n\r\n---\r\n\r\n## \ud83c\udf10 \u591a\u5e73\u53f0\u90e8\u7f72\r\n\r\nBiliStalkerMCP \u652f\u6301\u5728\u591a\u4e2a MCP \u6258\u7ba1\u5e73\u53f0\u4e0a\u90e8\u7f72\uff0c\u63d0\u4f9b\u66f4\u597d\u7684\u53ef\u7528\u6027\u548c\u7528\u6237\u8986\u76d6\u9762\u3002\r\n\r\n### Smithery.ai \u90e8\u7f72\r\n\r\n1. \u8bbf\u95ee [smithery.ai](https://smithery.ai) \u521b\u5efa\u8d26\u6237\r\n2. \u8fde\u63a5\u60a8\u7684 GitHub \u4ed3\u5e93\r\n3. \u5e73\u53f0\u81ea\u52a8\u68c0\u6d4b `smithery.yaml` \u5e76\u6784\u5efa\u5bb9\u5668\r\n4. \u914d\u7f6e\u73af\u5883\u53d8\u91cf\u540e\u5373\u53ef\u4f7f\u7528\r\n\r\n### ModelScope \u90e8\u7f72\r\n\r\n1. \u8bbf\u95ee [modelscope.cn](https://modelscope.cn) \u521b\u5efa\u8d26\u6237\r\n2. \u521b\u5efa\u65b0\u9879\u76ee\u5e76\u8fde\u63a5 GitHub \u4ed3\u5e93\r\n3. \u914d\u7f6e Docker \u6784\u5efa\u53c2\u6570\r\n4. \u90e8\u7f72\u540e\u83b7\u53d6 HTTPS \u7aef\u70b9\r\n\r\n### \u672c\u5730 Docker \u90e8\u7f72\r\n\r\n```bash\r\n# \u6784\u5efa\u955c\u50cf\r\ndocker build -t bili-stalker-mcp:latest .\r\n\r\n# \u8fd0\u884c\u5bb9\u5668\r\ndocker run -p 8080:8080 \\\r\n -e SESSDATA=your_sessdata \\\r\n -e BILI_JCT=your_jct \\\r\n -e BUVID3=your_buvid3 \\\r\n bili-stalker-mcp:latest\r\n```\r\n\r\n\ud83d\udcd6 **\u8be6\u7ec6\u90e8\u7f72\u6307\u5357**: \u8bf7\u67e5\u770b [DEPLOYMENT.md](DEPLOYMENT.md)\r\n\r\n---\r\n\r\n## \u2728 \u529f\u80fd\r\n\r\n- \ud83d\udd0d \u7528\u6237\u89c6\u9891\u83b7\u53d6\uff1a\u83b7\u53d6B\u7ad9\u7528\u6237\u7684\u6700\u65b0\u89c6\u9891\u5217\u8868\r\n- \ud83d\udcf1 \u52a8\u6001\u66f4\u65b0\u76d1\u63a7\uff1a\u83b7\u53d6\u7528\u6237\u52a8\u6001\uff0c\u6309\u65f6\u95f4\u8f74\u5c55\u793a\r\n- \ud83d\udd17 \u667a\u80fd\u7528\u6237\u5339\u914d\uff1a\u652f\u6301\u7528\u6237\u540d\u6216\u7528\u6237ID\u53cc\u91cd\u67e5\u8be2\r\n- \ud83d\udcca \u6570\u636e\u7ed3\u6784\u89c4\u8303\uff1a\u63d0\u4f9b\u6807\u51c6\u5316JSON\u8f93\u51fa\u683c\u5f0f\r\n\r\n---\r\n\r\n## \ud83d\udcac \u63d0\u793a\u9884\u8bbe\r\n\r\n- **`format_video_response`**: \u89c6\u9891\u6570\u636e\u89c4\u8303\u5316\u5c55\u793a\uff0c\u5305\u542b\u64ad\u653e\u91cf\u6392\u5e8f\r\n- **`format_dynamic_response`**: \u52a8\u6001\u5168\u7c7b\u578b\u65f6\u95f4\u8f74\u663e\u793a\r\n- **`analyze_user_activity`**: \u591a\u7ef4\u5ea6\u7528\u6237\u521b\u4f5c\u6d3b\u8dc3\u5ea6\u5206\u6790\r\n\r\n---\r\n\r\n## \ud83d\udee0\ufe0f \u5de5\u5177\r\n\r\n### `get_user_video_updates`\r\nB\u7ad9\u7528\u6237\u89c6\u9891\u5217\u8868\u67e5\u8be2\u5de5\u5177\uff0c\u652f\u6301\u7528\u6237\u540d\u81ea\u52a8\u641c\u7d22\uff0c\u8fd4\u56de\u5b8c\u6574\u7684\u89c6\u9891\u7edf\u8ba1\u4fe1\u606f\u3002\r\n\r\n### `get_user_dynamic_updates`\r\nB\u7ad9\u7528\u6237\u52a8\u6001\u83b7\u53d6\u5de5\u5177\uff0c\u8fd4\u56de\u5b8c\u6574\u7684\u52a8\u6001\u5185\u5bb9\u548c\u4e92\u52a8\u7edf\u8ba1\u3002\r\n\r\n---\r\n\r\n## \ud83d\udcc1 \u8d44\u6e90\u652f\u6301\r\n\r\n### \u7528\u6237\u4fe1\u606f\u8d44\u6e90\r\n- URI: `bili://user/{user_id}/info`\r\n- \u83b7\u53d6\u7528\u6237\u57fa\u672c\u4fe1\u606f\r\n\r\n### \u7528\u6237\u89c6\u9891\u8d44\u6e90\r\n- URI: `bili://user/{user_id}/videos`\r\n- \u83b7\u53d6\u7528\u6237\u89c6\u9891\u5217\u8868\r\n\r\n### \u7528\u6237\u52a8\u6001\u8d44\u6e90\r\n- URI: `bili://user/{user_id}/dynamics`\r\n- \u83b7\u53d6\u7528\u6237\u52a8\u6001\u66f4\u65b0\r\n\r\n### \u6570\u636e\u7ed3\u6784Schema\u8d44\u6e90\r\n- URI: `bili://schemas`\r\n- \u83b7\u53d6\u89c6\u9891\u548c\u52a8\u6001\u7684\u6570\u636e\u7ed3\u6784\u5b9a\u4e49\uff0c\u5e2e\u52a9\u6a21\u578b\u7406\u89e3\u8f93\u51fa\u683c\u5f0f\r\n\r\n### \u8d44\u6e90\u8bbf\u95ee\u793a\u4f8b\r\n```python\r\n# \u901a\u8fc7URI\u76f4\u63a5\u8bbf\u95ee\u8d44\u6e90\uff08\u5728\u652f\u6301\u8d44\u6e90\u7684MCP\u5ba2\u6237\u7aef\u4e2d\uff09\r\nread_resource(\"bili://user/123456/info\")\r\nread_resource(\"bili://user/123456/videos\")\r\nread_resource(\"bili://user/123456/dynamics\")\r\n```\r\n\r\n---\r\n\r\n## \ud83d\udcdd \u8bb8\u53ef\u8bc1\r\n\r\n[MIT License](https://github.com/222wcnm/BiliStalkerMCP/blob/main/LICENSE)\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "MCP Server for getting Bilibili user video updates",
"version": "1.1.0",
"project_urls": {
"Homepage": "https://github.com/222wcnm/BiliStalkerMCP"
},
"split_keywords": [
"mcp",
" bilibili",
" stalker"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "a2ccb462d64ad3138b3c636fceb709b064cb24a5e0e9968d7b790f7d7a4f8239",
"md5": "c69120aded8ce465bc9995729252f19c",
"sha256": "0f8a55d4193304d7c98d4adf8c8e21f1d4f5e18c7c45bb6bf484f7447a80ceb9"
},
"downloads": -1,
"filename": "bili_stalker_mcp-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c69120aded8ce465bc9995729252f19c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 10357,
"upload_time": "2025-09-02T04:30:29",
"upload_time_iso_8601": "2025-09-02T04:30:29.528765Z",
"url": "https://files.pythonhosted.org/packages/a2/cc/b462d64ad3138b3c636fceb709b064cb24a5e0e9968d7b790f7d7a4f8239/bili_stalker_mcp-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a77dcc672dd0ce147f13b37ae0af9019ccf7b09e1690c0350eeb01696277409a",
"md5": "6d9d3e4099d92710c733175ae9fd0f39",
"sha256": "94dfaeaf7d5f9c1ccd6454ebb612fc311227ea7b2c3e82419641d99d258640b9"
},
"downloads": -1,
"filename": "bili_stalker_mcp-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "6d9d3e4099d92710c733175ae9fd0f39",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 11610,
"upload_time": "2025-09-02T04:30:30",
"upload_time_iso_8601": "2025-09-02T04:30:30.959114Z",
"url": "https://files.pythonhosted.org/packages/a7/7d/cc672dd0ce147f13b37ae0af9019ccf7b09e1690c0350eeb01696277409a/bili_stalker_mcp-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-02 04:30:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "222wcnm",
"github_project": "BiliStalkerMCP",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "bili_stalker_mcp"
}