VikingDB MCP 服务器使用说明

项目简介

VikingDB MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在将 VikingDB 向量数据库的功能以标准化的方式提供给 LLM 客户端。通过集成 VikingDB,该服务器允许 LLM 应用利用向量检索能力,实现诸如信息检索、知识库查询等功能。它提供了一系列工具,允许 LLM 客户端与 VikingDB 数据库进行交互,包括查看数据库信息、向数据库中添加信息以及根据查询信息在数据库中搜索相关内容。

主要功能点

  • 介绍 VikingDB 集合 (Collection) 信息: 提供工具 'vikingdb-collection-intro',用于获取和展示 VikingDB 集合的基本信息,例如集合名称、主键、描述、状态等。
  • 介绍 VikingDB 索引 (Index) 信息: 提供工具 'vikingdb-index-intro',用于获取和展示 VikingDB 索引的基本信息,例如索引名称、主键、索引类型、创建时间等。
  • 向 VikingDB 数据库中添加信息 (Upsert): 提供工具 'vikingdb-upsert-information',允许用户向 VikingDB 数据库中添加文本信息,以便后续的检索和使用。
  • 在 VikingDB 数据库中搜索信息 (Search): 提供工具 'vikingdb-search-information',允许用户根据查询语句在 VikingDB 数据库中搜索相关信息,并返回搜索结果。

安装步骤

  1. 使用 Smithery 安装 (推荐 Claude Desktop 用户): 如果您使用 Claude Desktop,可以通过 Smithery 快速安装 VikingDB MCP 服务器。打开终端并运行以下命令:

    npx -y @smithery/cli install mcp-server-vikingdb --client claude

    Smithery 会自动下载并配置 VikingDB MCP 服务器。

  2. 手动安装 (开发者或高级用户): 如果您是开发者或需要更灵活的配置,可以手动安装。

    • 确保您已安装 Python 3.8 或更高版本。
    • 克隆或下载仓库代码到本地。
    • 进入项目根目录,使用 'uv' (或 'pip') 安装项目依赖:
      uv sync # 推荐使用 uv
      # 或
      pip install -r requirements.txt # 如果使用 pip
    • 构建项目 (可选,如果需要发布):
      uv build

服务器配置

MCP 客户端(如 Claude Desktop)需要配置 MCP 服务器的启动命令和参数才能连接。以下是 VikingDB MCP 服务器的配置信息,请根据您的实际情况修改占位符。

Claude Desktop 配置示例 (claude_desktop_config.json):

根据安装方式选择 "Development/Unpublished Servers Configuration" (手动安装) 或 "Published Servers Configuration" (Smithery 安装)。

Development/Unpublished Servers Configuration (手动安装):

{
  "mcpServers": {
    "mcp-server-vikingdb": {
      "command": "uv",
      "args": [
        "--directory",
        "dir to mcp-server-vikingdb",  //  请替换为 VikingDB MCP 服务器代码所在的目录
        "run",
        "mcp-server-vikingdb",
        "--vikingdb-host",
        "your host",       // 请替换为 VikingDB 服务器 Host
        "--vikingdb-region",
        "your region",     // 请替换为 VikingDB 服务器 Region
        "--vikingdb-ak",
        "your access key", // 请替换为 VikingDB Access Key
        "--vikingdb-sk",
        "your secret key", // 请替换为 VikingDB Secret Key
        "--collection-name",
        "your collection name", // 请替换为 VikingDB 集合名称
        "--index-name",
        "your index name"    // 请替换为 VikingDB 索引名称
      ]
    }
  }
}

Published Servers Configuration (Smithery 安装):

{
  "mcpServers": {
    "mcp-server-vikingdb": {
      "command": "uvx",
      "args": [
        "mcp-server-vikingdb",
        "--vikingdb-host",
        "your host",       // 请替换为 VikingDB 服务器 Host
        "--vikingdb-region",
        "your region",     // 请替换为 VikingDB 服务器 Region
        "--vikingdb-ak",
        "your access key", // 请替换为 VikingDB Access Key
        "--vikingdb-sk",
        "your secret key", // 请替换为 VikingDB Secret Key
        "--collection-name",
        "your collection name", // 请替换为 VikingDB 集合名称
        "--index-name",
        "your index name"    // 请替换为 VikingDB 索引名称
      ]
     }
    }
  }

配置参数说明:

  • 'command': 启动服务器的命令,'uv' 用于手动安装, 'uvx' 用于 Smithery 安装。
  • 'args': 启动参数列表,包括:
    • '--directory': (仅手动安装需要) VikingDB MCP 服务器代码所在的目录。
    • 'run mcp-server-vikingdb': 运行 VikingDB MCP 服务器的命令。
    • '--vikingdb-host': VikingDB 服务器的 Host 地址。
    • '--vikingdb-region': VikingDB 服务器的 Region。
    • '--vikingdb-ak': VikingDB Access Key。
    • '--vikingdb-sk': VikingDB Secret Key。
    • '--collection-name': 要使用的 VikingDB 集合名称。
    • '--index-name': 要使用的 VikingDB 索引名称。

环境变量配置 (可选):

您也可以将配置参数设置为环境变量,而不是直接在 'args' 中指定。环境变量名称与参数名对应,但使用大写和下划线分隔,例如 'VIKINGDB_HOST', 'VIKINGDB_REGION', 'VIKINGDB_AK', 'VIKINGDB_SK', 'COLLECTION_NAME', 'INDEX_NAME'。如果设置了环境变量,启动参数中可以省略对应参数。

基本使用方法

  1. 启动 MCP 服务器: 根据您的安装方式,MCP 服务器会在 Claude Desktop 启动时自动启动,或者您可以通过 Smithery 或手动方式启动。

  2. 在 LLM 客户端中使用工具: 在支持 MCP 协议的 LLM 客户端中(如 Claude Desktop),您可以使用以下工具与 VikingDB 数据库交互:

    • 'vikingdb-collection-intro': 查询 VikingDB 集合信息。无需任何参数。
    • 'vikingdb-index-intro': 查询 VikingDB 索引信息。无需任何参数。
    • 'vikingdb-upsert-information': 向 VikingDB 数据库添加信息。需要参数 'information' (要添加的文本信息)。
    • 'vikingdb-search-information': 在 VikingDB 数据库中搜索信息。需要参数 'query' (搜索查询语句)。

    例如,在 Claude 中,您可以指示 Claude 使用 'vikingdb-search-information' 工具来搜索您关心的信息。

请确保您已正确配置 VikingDB 服务器连接信息,并且 VikingDB 数据库已正确设置集合和索引。

信息

分类

数据库与文件