项目简介

'helix-py' 是一个用于与 'Helix-DB' 图向量数据库交互的Python库。它不仅提供简单的查询接口,还包含一个功能完整的MCP服务器实现,该服务器能以标准化的方式向大型语言模型(LLM)客户端提供数据库的上下文信息和操作能力。通过JSON-RPC协议,LLM客户端可以利用这些能力进行资源访问、工具调用和定制化交互。

主要功能点

  • 上下文服务: 向LLM客户端提供关于HelixDB数据库的结构(Schema)、数据以及预定义查询的上下文信息。
  • 工具调用: 暴露一系列数据库操作作为可由LLM调用的工具,包括:
    • 会话管理: 初始化、获取下一个结果、收集所有结果、重置会话连接等。
    • 图遍历: 根据节点类型、边类型、以及各种“出站/入站”步骤(out_step, in_step等)进行图数据遍历。
    • 数据过滤: 根据属性值或通过嵌套遍历结果对当前遍历结果进行精细过滤。
    • 向量和关键词搜索: 支持基于文本查询的向量相似性搜索(需配置嵌入器)以及基于关键词的BM25搜索。
  • 资源管理: 以资源形式提供数据库Schema信息。
  • 多种传输协议: 支持多种传输协议,如streamable-http,方便LLM客户端集成。

安装步骤

  1. 安装 'helix-py' 库: 在您的Python环境中运行:

    pip install helix-py

    或者使用 'uv':

    uv add helix-py
  2. 安装 'Helix CLI' (必需,因MCP服务器依赖HelixDB实例): 在您的终端中运行:

    curl -sSL "https://install.helix-db.com" | bash
    helix install

    这将安装HelixDB的命令行工具,用于部署和管理数据库实例。

  3. (可选)配置API密钥: 如果您计划使用OpenAI、Gemini、Anthropic或VoyageAI的嵌入或LLM提供商功能,请确保在环境变量中设置相应的API密钥,例如: 'OPENAI_API_KEY', 'GEMINI_API_KEY', 'ANTHROPIC_API_KEY', 'VOYAGEAI_API_KEY'。

服务器配置

MCP服务器是独立的应用程序,可以通过配置启动命令供MCP客户端调用。例如,对于Claude Desktop这类MCP客户端,您可以在其配置文件中添加如下JSON片段,以启动并连接到本地运行的'helix-py' MCP服务器。

请根据您的实际文件路径调整 '--directory' 参数。

{
  "mcpServers": {
    "helix-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/your/app/folder",  // 替换为您的apps目录的绝对路径,例如 /Users/username/dev/helix-py/apps
        "run",
        "mcp_server.py"                       // 启动apps/mcp_server.py脚本
      ]
    }
  }
}

参数注释:

  • 'helix-mcp': 这是MCP服务器的名称,LLM客户端将以此名称引用该服务器。
  • 'command': 用于执行MCP服务器脚本的命令。此处建议使用 'uv' (或 'python')。
  • 'args': 传递给 'command' 的参数列表。
    • '--directory': 指定 'mcp_server.py' 脚本所在的目录。
    • 'run': 'uv' 命令的一个子命令,用于运行Python脚本。
    • 'mcp_server.py': MCP服务器的启动脚本文件。

基本使用方法

一旦MCP服务器配置并运行,LLM客户端(例如Claude Desktop)就可以通过JSON-RPC协议,利用服务器提供的工具和资源与HelixDB进行交互。LLM可以通过调用如 'init' 工具创建会话,使用 'n_from_type' 或 'search_vector' 工具查询数据,并通过 'collect' 或 'next' 获取结果。

例如,LLM客户端可能会通过调用 'n_from_type' 工具来获取特定类型的节点,或者调用 'search_vector' 工具来执行语义搜索。

信息

分类

AI与计算