Skip to main content

MCP server for Bilibili API

Project description

Bilibili MCP Server

基于 bilibili-api-python 的 MCP (Model Context Protocol) 服务器,提供完整的 Bilibili API 工具调用能力。

特性

  • 22个实用工具,覆盖视频、用户、搜索、评论、排行榜、消息等核心功能
  • 使用 stdio 传输方式,与 Claude Desktop 无缝集成
  • 支持环境变量配置登录凭证,安全便捷
  • 统一的响应格式,易于处理
  • 完整的类型注解和参数验证

安装

方式一:从 PyPI 安装(推荐)

# 使用 pip 安装
pip install bilibili_mcp_python

# 或使用 uv 安装
uv pip install bilibili_mcp_python

方式二:从源码运行

# 克隆仓库
git clone https://github.com/YunGaoluo/bilibili-mcp-python.git
cd bilibili-mcp

# 使用 uv 安装依赖(推荐)
uv sync
source .venv/bin/activate  # Linux/Mac
# 或
.venv\Scripts\activate     # Windows

# 或使用 pip 安装
pip install -e .

配置

环境变量

复制 .env.example.env 并填写:

# Bilibili 登录凭证(可选,用于需要登录的操作)
BILI_SESSDATA=your_sessdata
BILI_JCT=your_bili_jct
BILI_BUVID3=your_buvid3

获取登录凭证:

  1. 登录 Bilibili 网页版
  2. 打开浏览器开发者工具 (F12) → Application/应用 → Cookies
  3. 复制 SESSDATA, bili_jct, buvid3 的值

Claude Desktop 配置

在 Claude Desktop 配置文件 claude_desktop_config.json 中添加:

PyPI 安装方式的配置

{
  "mcpServers": {
    "bilibili": {
      "command": "bilibili_mcp_python",
      "env": {
        "BILI_SESSDATA": "your_sessdata",
        "BILI_JCT": "your_bili_jct",
        "BILI_BUVID3": "your_buvid3"
      }
    }
  }
}

如果 bilibili-mcp 命令不在 PATH 中,可以使用完整路径:

{
  "mcpServers": {
    "bilibili": {
      "command": "python",
      "args": ["-m", "bilibili_mcp_python.server"],
      "env": {
        "BILI_SESSDATA": "your_sessdata",
        "BILI_JCT": "your_bili_jct",
        "BILI_BUVID3": "your_buvid3"
      }
    }
  }
}

源码运行方式的配置

{
  "mcpServers": {
    "bilibili": {
      "command": "uv",
      "args": ["run", "bilibili_mcp_python"],
      "cwd": "/path/to/bilibili_mcp_python",
      "env": {
        "BILI_SESSDATA": "your_sessdata",
        "BILI_JCT": "your_bili_jct",
        "BILI_BUVID3": "your_buvid3"
      }
    }
  }
}

或使用 Python 直接运行:

{
  "mcpServers": {
    "bilibili": {
      "command": "python",
      "args": ["-m", "bilibili_mcp_python.server"],
      "cwd": "/path/to/bilibili_mcp_python",
      "env": {
        "BILI_SESSDATA": "your_sessdata",
        "BILI_JCT": "your_bili_jct",
        "BILI_BUVID3": "your_buvid3"
      }
    }
  }
}

工具详解

视频模块(Video)

视频相关操作,包含信息获取、互动、弹幕等功能。

工具名 功能 关键参数 需登录
bilibili_video_get_info 获取视频完整信息 bvid: BV号
bilibili_video_interact 点赞/投币/收藏/三连 bvid, action, cancel
bilibili_video_get_download_info 获取下载链接和清晰度 bvid, page_num
bilibili_video_get_danmaku 获取弹幕列表 bvid, page_num, from_seg
bilibili_video_send_danmaku 发送弹幕 bvid, message, progress
bilibili_video_get_ai_conclusion 获取AI视频总结 bvid

使用示例:

# 获取视频信息
bilibili_video_get_info(bvid="BV1xx411c7mD")

# 给视频三连
bilibili_video_interact(bvid="BV1xx411c7mD", action="triple")

# 发送弹幕(视频第10秒处)
bilibili_video_send_danmaku(
    bvid="BV1xx411c7mD",
    message="精彩!",
    progress=10000,  # 毫秒
    color="ff0000"
)

用户模块(User)

用户信息查询和关系管理。

工具名 功能 关键参数 需登录
bilibili_user_get_info 获取用户完整信息 uid: 用户UID
bilibili_user_get_contents 获取用户发布的内容 uid, content_type
bilibili_user_modify_relation 关注/取关/拉黑/移除粉丝 uid, action
bilibili_user_get_followings 获取关注列表 uid, page_num
bilibili_user_get_followers 获取粉丝列表 uid, page_num

content_type 类型说明:

  • video - 视频(支持关键词搜索)
  • article - 专栏文章
  • album - 相簿
  • bangumi - 追番列表

使用示例:

# 获取UP主信息
bilibili_user_get_info(uid=208259)

# 获取用户的所有视频
bilibili_user_get_contents(uid=208259, content_type="video")

# 关注用户
bilibili_user_modify_relation(uid=208259, action="follow")

搜索模块(Search)

全网内容搜索和热门发现。

工具名 功能 关键参数 需登录
bilibili_search 统一搜索 keyword, search_type
bilibili_get_hot_search 获取热门搜索词

search_type 类型说明:

  • all - 综合搜索
  • video - 视频
  • user - 用户
  • article - 专栏
  • live - 直播

使用示例:

# 搜索视频
bilibili_search(keyword="Python教程", search_type="video")

# 搜索用户
bilibili_search(keyword="老番茄", search_type="user")

# 获取热搜榜
bilibili_get_hot_search()

评论模块(Comment)

视频、动态、专栏的评论管理。

工具名 功能 关键参数 需登录
bilibili_comment_get 获取评论列表(懒加载) oid, type_, mode, offset
bilibili_comment_send 发送评论/回复 oid, text, root
bilibili_comment_operate 点赞/点踩/删除/获取子评论 oid, rpid, action

type_ 类型说明:

  • video - 视频(oid为aid)
  • dynamic - 动态(oid为动态id)
  • article - 专栏(oid为cv号)

使用示例:

# 获取视频评论(首次)
bilibili_comment_get(oid=170001, type_="video", mode="main")

# 回复评论(root为评论ID)
bilibili_comment_send(
    oid=170001,
    type_="video",
    text="说得好!",
    root=12345678
)

# 点赞评论
bilibili_comment_operate(oid=170001, rpid=12345678, action="like")

排行榜模块(Rank)

各类排行榜和热门视频获取。

工具名 功能 关键参数 需登录
bilibili_get_rank 获取分区排行榜 rank_type, day
bilibili_get_hot 获取热门视频 page, page_size

rank_type 排行榜类型:

类型值 说明 类型值 说明
all 全站榜 game 游戏
bangumi 番剧 music 音乐
movie 电影 douga 动画
documentary 纪录片 ent 娱乐
guochuang 国创 life 生活
technology 科技数码 food 美食
knowledge 知识 sports 运动
dance 舞蹈 kichiku 鬼畜
original 原创 rookie 新人
... 还有更多

使用示例:

# 获取全站排行榜
bilibili_get_rank(rank_type="all")

# 获取游戏区三日榜
bilibili_get_rank(rank_type="game", day=3)

# 获取热门视频
bilibili_get_hot(page=1, page_size=20)

消息会话模块(Session)

私信、互动消息和系统通知管理。

工具名 功能 关键参数 需登录
bilibili_session_list 获取会话列表/聊天记录 talker_id, session_type
bilibili_session_send 发送私信 receiver_id, content
bilibili_session_interactions 获取互动消息 interaction_type
bilibili_session_notifications 获取通知/未读统计 notification_type

interaction_type 互动类型:

  • replies - 收到的回复
  • likes - 收到的赞
  • at - @我的消息

notification_type 通知类型:

  • unread - 未读消息统计
  • system - 系统消息
  • settings - 消息设置

使用示例:

# 获取会话列表
bilibili_session_list()

# 获取与某用户的聊天记录
bilibili_session_list(talker_id=208259)

# 发送私信
bilibili_session_send(receiver_id=208259, content="你好!")

# 获取收到的赞
bilibili_session_interactions(interaction_type="likes")

# 获取未读消息数
bilibili_session_notifications(notification_type="unread")

响应格式

所有工具返回统一的 JSON 格式:

{
  "success": true,
  "code": 0,
  "message": "ok",
  "data": { ... }
}
字段 类型 说明
success boolean 是否成功
code int 状态码,0表示成功
message string 状态描述或错误信息
data any 实际返回数据

工具权限速查

无需登录(只读操作)

  • 视频信息、弹幕、下载链接
  • 用户信息、用户公开内容
  • 搜索、热搜、排行榜、热门视频
  • 评论列表

需要登录(写入操作)

  • 视频互动(点赞/投币/收藏/三连)
  • 发送弹幕、获取AI总结
  • 关注/取关/拉黑等用户关系操作
  • 发送评论、评论互动
  • 所有消息会话相关操作

License

GPL-3.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bilibili_mcp_python-0.1.0.tar.gz (129.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bilibili_mcp_python-0.1.0-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

Details for the file bilibili_mcp_python-0.1.0.tar.gz.

File metadata

  • Download URL: bilibili_mcp_python-0.1.0.tar.gz
  • Upload date:
  • Size: 129.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bilibili_mcp_python-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5e6e6e440fe7e58a76aa33f551f55e9f86d124c97682be624969043e61b6c37c
MD5 df8cfc6912553ef27cc40689efc54817
BLAKE2b-256 a9748160be0f5ae3972e912b05b2b6ba6ac3eb336b92982f05e15226243fd1f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for bilibili_mcp_python-0.1.0.tar.gz:

Publisher: publish.yml on YunGaoluo/bilibili-mcp-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bilibili_mcp_python-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for bilibili_mcp_python-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9299c48e1c87341d1adc628aaa4d336f6477d497589449113e2b69cd190e064a
MD5 5bc3a1cae8b673dbaa1042c513d0cd76
BLAKE2b-256 cf2aaf4c9cf57048e358654ab6a2a10123338579052d1748e50af441878c2a16

See more details on using hashes here.

Provenance

The following attestation bundles were made for bilibili_mcp_python-0.1.0-py3-none-any.whl:

Publisher: publish.yml on YunGaoluo/bilibili-mcp-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page