使用说明

项目简介

VNDB MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,它允许大型语言模型 (LLM) 通过 MCP 协议访问 Visual Novel Database (VNDB)。该服务器充当 LLM 与 VNDB API 之间的桥梁,使得 LLM 能够查询视觉小说信息,用于增强其在相关领域的知识和对话能力。

主要功能点

  • 视觉小说搜索: 允许 LLM 根据关键词搜索 VNDB 数据库中的视觉小说。
  • 视觉小说详情: 允许 LLM 获取指定 VNDB ID 的视觉小说的详细信息。
  • API 请求缓存: 通过缓存机制优化对 VNDB API 的请求,提高响应速度并减少不必要的 API 调用。
  • 资源管理 (Notes): 虽然示例性质更强,但也展示了 MCP 服务器管理资源的能力,允许创建、读取和列出笔记资源。
  • Prompt 模板 (Summarize Notes): 提供了一个简单的 Prompt 模板示例,展示了如何根据服务器状态和客户端参数生成定制化的 Prompt。
  • 工具注册与执行 (VNDB Search/Details, Add Note): 注册了用于搜索和获取 VNDB 信息的工具,以及一个示例工具 (add-note) 用于演示工具的调用和状态管理。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/TANABEDAIGAKU/vndb-mcp
    cd vndb-mcp
  2. 安装依赖: 确保已安装 Python 和 pip,然后运行以下命令安装项目依赖:
    pip install -e .

服务器配置

MCP 客户端需要配置以下信息以连接到 VNDB MCP Server。以下是一个 JSON 格式的配置示例,请根据您的实际情况进行调整。

{
  "serverName": "vndb-mcp",
  "command": "vndb-mcp",  // 假设安装后 vndb-mcp 命令已添加到 PATH 环境变量,或者使用 python -m vndb_mcp.main
  "args": [],             // 启动命令参数,本项目无需额外参数
  "transport": "stdio"    // 使用标准输入输出 (stdio) 作为传输协议
}

配置参数说明:

  • 'serverName': 服务器名称,设置为 "vndb-mcp",与服务器代码中定义的一致。
  • 'command': 启动服务器的命令。
    • 如果在安装后 'vndb-mcp' 命令被添加到了系统的 PATH 环境变量中(通常 'pip install -e .' 会处理),可以直接使用 '"vndb-mcp"'。
    • 否则,你可能需要使用 Python 解释器来运行主模块,例如 '"python -m vndb_mcp.main"'。 请根据您的 Python 环境和安装方式选择合适的命令。
  • 'args': 传递给启动命令的参数列表。本项目服务器默认通过 stdio 运行,无需额外的命令行参数,因此设置为空列表 '[]' 即可。
  • 'transport': 指定 MCP 客户端与服务器之间的通信方式。本项目默认使用标准输入输出流 (stdio),因此设置为 '"stdio"'。

注意: 请确保 MCP 客户端能够找到并执行 'command' 中配置的命令。如果 'vndb-mcp' 命令不在 PATH 中,您可能需要提供 Python 解释器的完整路径以及模块路径。

基本使用方法

  1. 启动服务器: 在安装完成后,确保配置中的 'command' 可执行,然后在终端中运行配置中指定的命令(例如 'vndb-mcp' 或 'python -m vndb_mcp.main')来启动服务器。服务器将监听标准输入,并将其输出写入标准输出。

  2. 配置 MCP 客户端: 在您的 MCP 客户端应用中,配置连接到该服务器。需要填入上面提供的 JSON 配置信息,特别是 'serverName', 'command', 'args', 和 'transport'。

  3. 通过客户端与服务器交互: 使用 MCP 客户端发起请求,例如:

    • 列出工具: 客户端可以请求服务器列出所有可用的工具,服务器将返回 'search-vn' (搜索视觉小说), 'get-vn-details' (获取视觉小说详情) 等工具。
    • 调用工具: 客户端可以调用 'search-vn' 工具,并提供搜索关键词作为参数,服务器将调用 VNDB API 进行搜索,并将结果返回给客户端。同样,可以调用 'get-vn-details' 工具并提供 VNDB ID 来获取详细信息。
    • 列出 Prompt: 客户端可以请求服务器列出可用的 Prompt 模板,例如 'summarize-notes'。
    • 获取 Prompt: 客户端可以请求服务器根据 Prompt 模板和可选参数生成 Prompt 内容。
    • 读取资源: (示例功能) 客户端可以读取 'note://internal/{note_name}' 格式的 URI 来获取笔记内容。

简而言之,启动服务器后,MCP 客户端将能够通过标准 MCP 协议与该服务器通信,利用服务器提供的工具和资源来访问和操作 VNDB 数据。

信息

分类

数据库与文件