bili_stalker_mcp


Namebili_stalker_mcp JSON
Version 1.1.0 PyPI version JSON
download
home_pageNone
SummaryMCP Server for getting Bilibili user video updates
upload_time2025-09-02 04:30:30
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords mcp bilibili stalker
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # BiliStalkerMCP (b站用户视监MCP)

[![Python](https://img.shields.io/badge/Python-3.10+-blue?logo=python)](https://www.python.org/)
[![PyPI](https://img.shields.io/pypi/v/bili_stalker_mcp.svg)](https://pypi.org/project/bili_stalker_mcp/)
[![FastMCP](https://img.shields.io/badge/MCP-FastMCP-orange)](https://github.com/jlowin/fastmcp)
[![bilibili-api](https://img.shields.io/badge/Bilibili-API-ff69b4)](https://github.com/Nemo2011/bilibili-api)
[![Smithery](https://img.shields.io/badge/Smithery-Deployed-green)](https://smithery.ai)
[![ModelScope](https://img.shields.io/badge/ModelScope-Ready-blue)](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[![Python](https://img.shields.io/badge/Python-3.10+-blue?logo=python)](https://www.python.org/)\r\n[![PyPI](https://img.shields.io/pypi/v/bili_stalker_mcp.svg)](https://pypi.org/project/bili_stalker_mcp/)\r\n[![FastMCP](https://img.shields.io/badge/MCP-FastMCP-orange)](https://github.com/jlowin/fastmcp)\r\n[![bilibili-api](https://img.shields.io/badge/Bilibili-API-ff69b4)](https://github.com/Nemo2011/bilibili-api)\r\n[![Smithery](https://img.shields.io/badge/Smithery-Deployed-green)](https://smithery.ai)\r\n[![ModelScope](https://img.shields.io/badge/ModelScope-Ready-blue)](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"
}
        
Elapsed time: 1.58194s