使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 应用提供访问Bilibili (B站) 数据的能力。通过标准化的 MCP 协议,LLM 可以安全、可扩展地获取B站的用户信息、关注列表以及搜索视频,从而实现更智能、更个性化的内容推荐和互动。
主要功能点
- 提供B站用户信息查询工具: 允许LLM获取用户的基本信息,例如用户名、UID、等级、生日、性别、个性签名等。
- 提供B站用户最新关注列表查询工具: 允许LLM获取用户最新关注的UP主列表,用于发现用户兴趣偏好。
- 提供B站视频搜索工具: 允许LLM根据关键词搜索B站视频,为内容推荐和创作提供数据支持。
- 支持SSE和Stdio两种传输协议: 方便在不同环境和应用场景下部署和使用。
- 支持Cookie配置: 对于需要登录才能访问的私有信息(如用户信息、关注列表),可以通过配置文件提供B站Cookie进行身份验证。
安装步骤
- 安装Go环境: 确保你的机器上已安装 Go 语言环境 (版本要求请参考仓库 'go.mod' 文件)。
- 下载仓库代码: 使用 'git clone https://github.com/DnullP/bilibili-mcp-server' 命令克隆仓库到本地。
- 编译服务器: 进入仓库目录,分别编译 SSE 和 Stdio 版本的服务器:
编译成功后,会在仓库根目录下生成 'bilimcp-sse' 和 'bilimcp-stdio' (或 'bilimcp-sse.exe' 和 'bilimcp-stdio.exe' 在 Windows 下) 可执行文件。cd bilibili-mcp-server go build -o bilimcp-sse ./cmd/sse/main.go go build -o bilimcp-stdio ./cmd/stdio/main.go
服务器配置
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'
基本使用方法
-
启动服务器: 根据你选择的连接方式 (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'。
-
配置MCP客户端: 在你的 MCP 客户端中,根据上述 "服务器配置" 部分的示例,配置连接到 BiliBili MCP Server。 确保客户端的传输协议类型和服务器的启动方式一致 (例如,客户端配置为 SSE,则启动 SSE 版本的服务器)。
-
使用 MCP 客户端调用工具: 通过 MCP 客户端,你可以调用服务器提供的工具,例如:
- 调用 'userProfile' 工具获取B站用户信息。
- 调用 'newestFollowing' 工具获取最新关注列表。
- 调用 'findVideo' 工具搜索视频 (需要提供 'keyword' 参数)。
具体的工具调用方法和参数,请参考 MCP 客户端的文档和本项目 'internel/register.go' 文件中工具的定义。
信息
分类
网页与API