B站API集成服务器

一个用于Bilibili API集成的MCP服务器,支持用户信息查询和视频搜索功能。

  • by masx200
  • TypeScript
  • 混合部署
  • 1 星标
  • 更新于
在 GitHub 查看 masx200/bilibili-mcp-server

使用说明

bilibili MCP服务器

用于Bilibili API集成的MCP服务器

英语| 简体中文

模型上下文协议(主控程序) 服务器 网站 bilibi.com API

特性

用户信息

  • [x] 通过以下方式获取用户信息 mid
  • [x] 按以下方式搜索视频信息 bvid
  • [x] 按关键字搜索视频

使用方法

Streamable HTTP 模式

bilibili-mcp-server支持两种运行模式:

  1. stdio模式(默认):通过标准输入输出与MCP客户端通信
  2. streamable-http模式:通过HTTP协议提供MCP服务,支持SSE(Server-Sent 活动)

Streamable HTTP 模式使用

要使用streamable-http模式,请使用以下命令启动服务器:

# 基本启动
node dist/streamable-http.js

# 指定端口
HTTP_API_PORT=8080 node dist/streamable-http.js

# 启用访问令牌认证
HTTP_API_TOKEN=your-secret-token HTTP_API_PORT=8080 node dist/streamable-http.js

服务器启动后,可以通过以下端点访问:

  • MCP API端点:http://localhost:PORT/mcp
  • 如果启用了令牌认证,客户端需要在请求头中添加:Authorization: Bearer your-secret-token

环境变量

  • HTTP_API_COOKIE(可选):设置此环境变量以提供您的Bilibili Cookie用于认证请求。这有助于避免因Bilibili的反机器人措施导致的"请求失败,封控检测问题"。示例格式:SESSDATA=您的SESSDATA值; buvid3=您的buvid3值
  • HTTP_API_TOKEN(可选):用于streamable-http模式的访问令牌认证。如果设置此环境变量,客户端请求时需要提供Bearer token进行身份验证。示例:your-secret-token
  • HTTP_API_PORT(可选):streamable-http服务器监听的端口号,默认为3000。示例:8080

cookie 可以在浏览器上获取。

注意:如果您使用的是 Chrome 浏览器,请确保已登录 Bilibili 账号。

克劳德桌面

请咨询官方 文档

npm配置(推荐)

{
  "mcpServers": {
    "bilibili": {
      "command": "npx",
      "args": ["-y", "@masx200/bilibili-mcp-server"],
      "env": {
        "HTTP_API_COOKIE": "您的SESSDATA值; buvid3=您的buvid3值"
      }
    }
  }
}

或

本地克隆仓库的配置

{
  "mcpServers": {
    "bilibili": {
      "command": "node",
      "args": [
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/bilibili-mcp-server/dist/index.js"
      ],
      "env": {
        "HTTP_API_COOKIE": "您的SESSDATA值; buvid3=您的buvid3值"
      }
    }
  }
}

保存配置并重新启动。你会看到新的 bilibili MCP 选项 如下图所示:

演示视频

https://github.com/user-attachments/assets/813dece6-c9b5-4bc5-96c1-c3b4d284cc76

地方发展

  1. 安装依赖项
pnpm i
  1. 构建
pnpm build
# or
pnpm dev
  1. 本地仓库的调试,请参阅 上方.

出版

要将新版本发布到npm:

# For patch version update (0.0.x)
pnpm publish:patch

# For minor version update (0.x.0)
pnpm publish:minor

# For major version update (x.0.0)
pnpm publish:major

这些命令将自动:

  1. 在package.json中修改版本
  2. 构建项目
  3. 发布到npm注册表

鸣谢