项目简介
'helix-py' 是一个用于与 'Helix-DB' 图向量数据库交互的Python库。它不仅提供简单的查询接口,还包含一个功能完整的MCP服务器实现,该服务器能以标准化的方式向大型语言模型(LLM)客户端提供数据库的上下文信息和操作能力。通过JSON-RPC协议,LLM客户端可以利用这些能力进行资源访问、工具调用和定制化交互。
主要功能点
- 上下文服务: 向LLM客户端提供关于HelixDB数据库的结构(Schema)、数据以及预定义查询的上下文信息。
- 工具调用: 暴露一系列数据库操作作为可由LLM调用的工具,包括:
- 会话管理: 初始化、获取下一个结果、收集所有结果、重置会话连接等。
- 图遍历: 根据节点类型、边类型、以及各种“出站/入站”步骤(out_step, in_step等)进行图数据遍历。
- 数据过滤: 根据属性值或通过嵌套遍历结果对当前遍历结果进行精细过滤。
- 向量和关键词搜索: 支持基于文本查询的向量相似性搜索(需配置嵌入器)以及基于关键词的BM25搜索。
- 资源管理: 以资源形式提供数据库Schema信息。
- 多种传输协议: 支持多种传输协议,如streamable-http,方便LLM客户端集成。
安装步骤
-
安装 'helix-py' 库: 在您的Python环境中运行:
pip install helix-py或者使用 'uv':
uv add helix-py -
安装 'Helix CLI' (必需,因MCP服务器依赖HelixDB实例): 在您的终端中运行:
curl -sSL "https://install.helix-db.com" | bash helix install这将安装HelixDB的命令行工具,用于部署和管理数据库实例。
-
(可选)配置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与计算