使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 应用提供访问Bilibili (B站) 数据的能力。通过标准化的 MCP 协议,LLM 可以安全、可扩展地获取B站的用户信息、关注列表以及搜索视频,从而实现更智能、更个性化的内容推荐和互动。

主要功能点

  • 提供B站用户信息查询工具: 允许LLM获取用户的基本信息,例如用户名、UID、等级、生日、性别、个性签名等。
  • 提供B站用户最新关注列表查询工具: 允许LLM获取用户最新关注的UP主列表,用于发现用户兴趣偏好。
  • 提供B站视频搜索工具: 允许LLM根据关键词搜索B站视频,为内容推荐和创作提供数据支持。
  • 支持SSE和Stdio两种传输协议: 方便在不同环境和应用场景下部署和使用。
  • 支持Cookie配置: 对于需要登录才能访问的私有信息(如用户信息、关注列表),可以通过配置文件提供B站Cookie进行身份验证。

安装步骤

  1. 安装Go环境: 确保你的机器上已安装 Go 语言环境 (版本要求请参考仓库 'go.mod' 文件)。
  2. 下载仓库代码: 使用 'git clone https://github.com/DnullP/bilibili-mcp-server' 命令克隆仓库到本地。
  3. 编译服务器: 进入仓库目录,分别编译 SSE 和 Stdio 版本的服务器:
    cd bilibili-mcp-server
    go build -o bilimcp-sse ./cmd/sse/main.go
    go build -o bilimcp-stdio ./cmd/stdio/main.go
    编译成功后,会在仓库根目录下生成 'bilimcp-sse' 和 'bilimcp-stdio' (或 'bilimcp-sse.exe' 和 'bilimcp-stdio.exe' 在 Windows 下) 可执行文件。

服务器配置

MCP客户端需要配置服务器的启动命令和参数才能连接到 BiliBili MCP Server。以下是 SSE 和 Stdio 两种连接方式的 MCP 客户端配置示例 (JSON 格式):

SSE 连接配置:

{
  "serverName": "bilibili-mcp-sse",
  "command": "./bilimcp-sse",  // Linux/macOS 下的启动命令,Windows 下为 "bilimcp-sse.exe"
  "args": [],
  "transport": {
    "type": "sse",
    "baseURL": "http://localhost:8080/sse" // SSE服务器地址,与启动参数一致
  }
}

参数注释:

  • 'serverName': 自定义服务器名称,用于在MCP客户端中标识。
  • 'command': 服务器可执行文件的路径,根据实际编译生成的文件名和路径填写。
  • 'args': 启动参数,本项目目前无需额外启动参数,保持为空数组即可。
  • 'transport.type': 传输协议类型,设置为 "sse" 表示使用 SSE 协议。
  • 'transport.baseURL': SSE 服务器的根URL,需要与 'cmd/sse/main.go' 中 'server.WithBaseURL("http://localhost:8080")' 的配置一致。

Stdio 连接配置:

{
  "serverName": "bilibili-mcp-stdio",
  "command": "./bilimcp-stdio",  // Linux/macOS 下的启动命令,Windows 下为 "bilimcp-stdio.exe"
  "args": [],
  "transport": {
    "type": "stdio"
  }
}

参数注释:

  • 'serverName': 自定义服务器名称,用于在MCP客户端中标识。
  • 'command': 服务器可执行文件的路径,根据实际编译生成的文件名和路径填写。
  • 'args': 启动参数,本项目目前无需额外启动参数,保持为空数组即可。
  • 'transport.type': 传输协议类型,设置为 "stdio" 表示使用 Stdio 协议。

可选的 Cookie 配置文件 (config.yml): 如果需要访问需要登录才能查看的B站私有信息 (例如用户信息、关注列表),你需要创建一个 'config.yml' 文件,并配置你的 B站 Cookie。

'config.yml' 示例:

Cookie: your_bilibili_cookie_string

注意: 将 'your_bilibili_cookie_string' 替换为你的实际 B站 Cookie 字符串。 你可以通过浏览器开发者工具 (Network -> 任意B站页面请求 -> Cookies) 获取 Cookie。

如果你需要使用 Cookie,启动服务器时需要将 'config.yml' 文件的路径作为第一个参数传递给服务器程序。 例如:

  • SSE: './bilimcp-sse config.yml'
  • Stdio: './bilimcp-stdio config.yml'

基本使用方法

  1. 启动服务器: 根据你选择的连接方式 (SSE 或 Stdio) 和是否需要 Cookie 配置,运行相应的服务器可执行文件。

    • SSE (无 Cookie): './bilimcp-sse'
    • SSE (带 Cookie): './bilimcp-sse config.yml'
    • Stdio (无 Cookie): './bilimcp-stdio'
    • Stdio (带 Cookie): './bilimcp-stdio config.yml' SSE 服务器默认监听 'http://localhost:8080'。
  2. 配置MCP客户端: 在你的 MCP 客户端中,根据上述 "服务器配置" 部分的示例,配置连接到 BiliBili MCP Server。 确保客户端的传输协议类型和服务器的启动方式一致 (例如,客户端配置为 SSE,则启动 SSE 版本的服务器)。

  3. 使用 MCP 客户端调用工具: 通过 MCP 客户端,你可以调用服务器提供的工具,例如:

    • 调用 'userProfile' 工具获取B站用户信息。
    • 调用 'newestFollowing' 工具获取最新关注列表。
    • 调用 'findVideo' 工具搜索视频 (需要提供 'keyword' 参数)。

    具体的工具调用方法和参数,请参考 MCP 客户端的文档和本项目 'internel/register.go' 文件中工具的定义。

信息

分类

网页与API