B

B站MCP服务器

NonokoOvO/bilibili-live-mcp
Hosted
1 Stars 279 次浏览 更新于 2026-08-23

为AI助手提供查询B站数据能力的服务器,包括用户搜索、直播状态、粉丝牌、评论、弹幕以及直播内容分析。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "bilibili": {
      "args": [
        "bilibili-live-mcp"
      ],
      "command": "uvx",
      "env": {
        "SILICONFLOW_API_KEY": "sk-你的硅基流动Key"
      }
    }
  }
}

该服务需要配置环境变量:SILICONFLOW_API_KEY

可用工具 (7 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

search_user 2 个参数 需填 1 项

搜索 B 站用户,返回匹配的用户列表(含 UID、昵称、粉丝数等)。 当只知道用户名而不知道 UID 时,先调用此工具获取 UID,再调用其他工具查询详细数据。

必填参数:keyword

get_live_status 2 个参数

获取 B 站主播的直播间开播状态。 返回直播状态(未开播/直播中/轮播中)、直播间标题、开播时间、在线人数等信息。 uid 和 room_id 至少提供一个。

该工具无需必填参数,直接调用即可

get_user_medals 1 个参数 需填 1 项

获取指定用户持有的粉丝牌列表。 返回该用户持有的所有粉丝牌,包含牌名、等级和对应主播的 UID。 数据来源:aicu.cc(非实时,有更新延迟)。

必填参数:uid

get_user_comments 4 个参数 需填 1 项

获取指定用户发表过的历史评论记录。 返回评论内容、发送时间、所在视频/动态 ID 等信息。 数据来源:aicu.cc(非实时,有更新延迟)。

必填参数:uid

get_user_danmaku 3 个参数 需填 1 项

获取指定用户在视频中发送过的历史弹幕记录。 返回弹幕内容、发送时间、所在视频 ID、弹幕在视频中的时间轴位置(毫秒)。 数据来源:aicu.cc(非实时,有更新延迟)。

必填参数:uid

get_user_live_danmaku 3 个参数 需填 1 项

获取指定用户在直播间发送过的历史弹幕记录。 结果按直播间分组,每组包含主播信息和该直播间的弹幕列表。 数据来源:aicu.cc(非实时,有更新延迟)。

必填参数:uid

get_live_content 4 个参数 需填 1 项

录制直播片段,同时进行 ASR 语音识别和视觉画面分析,综合描述直播内容。 工作流程: 1. 检查直播间是否在播; 2. 获取直播流地址并用 ffmpeg 录制片段(无需系统安装 ffmpeg); 3. 并行执行:ASR 语音转录(SenseVoiceSmall)+ 视觉画面分析(Qwen3-VL); 4. 返回语音转录原文(transcript)和画面描述(visual)。 硅基流动 API Key 通过服务端环境变量 SILICONFLOW_API_KEY 配置,无需在调用时传入。

必填参数:room_id

服务介绍

bilibili-mcp-server

B 站 MCP Server,为 AI 助手提供查询 B 站数据的能力。

功能

Tool 描述
search_user 按用户名搜索用户,返回 UID、昵称、粉丝数等
get_live_status 查询主播直播间开播状态(未开播/直播中/轮播中)
get_user_medals 查询用户持有的粉丝牌列表
get_user_comments 查询用户历史评论记录
get_user_danmaku 查询用户在视频中发送的历史弹幕
get_user_live_danmaku 查询用户在直播间发送的历史弹幕
get_live_content 录制直播片段,ASR 语音转录 + 视觉画面分析,描述直播内容

粉丝牌、历史评论、历史弹幕数据来源于 aicu.cc,数据非实时,有更新延迟。
get_live_content 需要硅基流动 API Key,通过环境变量 SILICONFLOW_API_KEY 配置。


本地安装(Cursor / Claude Desktop)

需要 Python 3.10+ 和 uv

cd bilibili-mcp-server
uv venv
uv pip install -e .

配置到 Cursor

~/.cursor/mcp.json 或项目级 .cursor/mcp.json 中添加:

{
  "mcpServers": {
    "bilibili": {
      "command": "uv",
      "args": ["run", "--directory", "D:/projects/bilibili-mcp-server", "bilibili-mcp"],
      "env": {
        "SILICONFLOW_API_KEY": "sk-你的硅基流动Key"
      }
    }
  }
}

配置到 Claude Desktop

%APPDATA%\Claude\claude_desktop_config.json 中添加(内容同上)。


云端部署(ModelScope MCP 广场)

1. 上传代码到 ModelScope

将项目推送到 ModelScope 的 Studio 仓库(类似 Hugging Face Space)。

2. 配置环境变量 / Secret

在 ModelScope Studio 的「设置 → 环境变量」中添加:

变量名 说明
SILICONFLOW_API_KEY 硅基流动 API Key(设为 Secret,不对外展示
MCP_TRANSPORT 设为 sse(ModelScope 使用 SSE 模式)
MCP_PORT 设为 7860(ModelScope Studio 默认端口,可不填)

3. 启动命令

在 Studio 配置中设置启动命令为:

python app.py

或者使用 uv:

uv run python app.py

4. 获取 SSE 地址并在客户端配置

ModelScope 会为你的服务生成一个专属 SSE 地址,格式类似:

https://modelscope.cn/studios/你的用户名/bilibili-mcp/sse

在 Cursor / Claude Desktop 中配置远程 MCP:

{
  "mcpServers": {
    "bilibili": {
      "url": "https://modelscope.cn/studios/你的用户名/bilibili-mcp/sse"
    }
  }
}

注意:SSE URL 是你的专属地址,包含鉴权信息,请勿对外泄露。


关于 get_live_content 的 API Key

SILICONFLOW_API_KEY 的优先级:

  1. 调用工具时显式传入的 api_key 参数(最高)
  2. 环境变量 SILICONFLOW_API_KEY(推荐,在 MCP 配置或云端 Secret 中设置)

推荐做法:在 MCP 配置的 env 或云端 Secret 中配置,对话中无需每次传入 Key。


使用示例

  • "帮我查一下 xxx 主播现在有没有在直播"
  • "查一下 UID 为 12345 的用户最近发了哪些评论"
  • "xxx 用户持有哪些粉丝牌"
  • "510 直播间现在在播什么内容?"(触发 get_live_content,录制 15 秒分析)

数据说明

  • 直播状态:B 站官方 API,实时数据,无需登录
  • 粉丝牌、历史评论、历史弹幕:aicu.cc,非实时,有更新延迟
  • 直播内容分析:ffmpeg 录制 + 硅基流动 SenseVoiceSmall(ASR)+ Qwen3-VL(视觉),需 API Key

相关 MCP 服务