NebulaGraph MCP Server 使用说明

项目简介

NebulaGraph MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它允许大型语言模型 (LLM) 客户端通过标准化的 MCP 协议,安全高效地访问和操作 NebulaGraph 图数据库。该服务器提供了一系列工具和资源,使得 LLM 应用能够轻松地利用图数据库的强大功能,进行知识图谱查询、关系分析等任务。

主要功能点

  • 图数据库访问: 提供对 NebulaGraph 3.x 版本的无缝访问。
  • 资源管理: 以资源的形式提供图数据库的 Schema 信息、节点路径和邻居信息。
  • 工具注册与执行: 注册并提供用于查询图数据库的工具,例如执行 nGQL 查询、查找节点路径、获取邻居节点以及列出 Space 等。
  • LLM 集成: 遵循 Model Context Protocol 标准,易于与各类 LLM 工具链和应用系统集成,例如 LlamaIndex。
  • 灵活配置: 支持通过环境变量和 .env 文件进行配置,方便部署和管理。
  • 多种传输协议: 支持 Stdio 和 SSE 传输协议。

安装步骤

  1. 安装 Python 包:
    pip install nebulagraph-mcp-server

服务器配置

MCP 客户端需要配置以下信息以连接到 NebulaGraph MCP Server。配置信息为 JSON 格式,示例如下:

{
  "serverName": "nebulagraph-mcp-server",
  "command": "nebulagraph-mcp-server",
  "args": ["--transport", "sse"]
}

参数说明:

  • 'serverName': 服务器名称,可以自定义,用于在 MCP 客户端中标识该服务器。
  • 'command': 启动 NebulaGraph MCP Server 的命令。这里直接使用安装后可执行的 'nebulagraph-mcp-server' 命令。
  • 'args': 传递给启动命令的参数。
    • '--transport': 指定 MCP 服务器使用的传输协议,可选 'stdio' 或 'sse'。 推荐使用 'sse'。

环境变量配置 (服务器端):

NebulaGraph MCP Server 依赖以下环境变量进行 NebulaGraph 数据库连接配置。您需要在运行服务器的环境中设置这些环境变量,或者在 '.env' 文件中配置。

  • 'NEBULA_VERSION': NebulaGraph 版本,目前仅支持 'v3'。
  • 'NEBULA_HOST': NebulaGraph 服务器主机地址,默认为 '127.0.0.1'。
  • 'NEBULA_PORT': NebulaGraph 服务器端口号,默认为 '9669'。
  • 'NEBULA_USER': NebulaGraph 用户名,默认为 'root'。
  • 'NEBULA_PASSWORD': NebulaGraph 密码,默认为 'nebula'。

您可以在 '.env' 文件中添加如下内容进行配置:

NEBULA_VERSION=v3
NEBULA_HOST=<your-nebulagraph-server-host>
NEBULA_PORT=<your-nebulagraph-server-port>
NEBULA_USER=<your-nebulagraph-server-user>
NEBULA_PASSWORD=<your-nebulagraph-server-password>

基本使用方法

  1. 启动 MCP 服务器: 在配置好环境变量或 '.env' 文件后,打开终端,运行以下命令启动 NebulaGraph MCP Server。您可以根据需要选择 'stdio' 或 'sse' 传输协议。

    使用 Stdio 传输协议启动:

    nebulagraph-mcp-server --transport stdio

    使用 SSE 传输协议启动 (推荐):

    nebulagraph-mcp-server --transport sse
  2. 配置 MCP 客户端: 在您的 MCP 客户端 (例如 LlamaIndex) 中,根据上述 服务器配置 部分的 JSON 示例,配置连接到 NebulaGraph MCP Server。确保客户端能够正确识别并连接到正在运行的服务器。

  3. 使用 MCP 工具和资源: 在 MCP 客户端中,您可以使用服务器提供的工具 (例如 'list_spaces', 'execute_query', 'find_path', 'find_neighbors', 'get_space_schema') 和资源 (例如 'schema://space/{space}', 'path://space/{space}/from/{src}/to/{dst}/depth/{depth}/limit/{limit}', 'neighbors://space/{space}/vertex/{vertex}/depth/{depth}') 与 NebulaGraph 数据库进行交互。具体工具和资源的使用方法请参考 MCP 客户端的文档和 NebulaGraph MCP Server 的代码注释。

示例 (LlamaIndex 集成): 仓库的 'examples/llamaindex-with-nebulagraph-mcp.py' 文件提供了一个 LlamaIndex 集成示例,展示了如何使用 NebulaGraph MCP Server 提供的工具在 LlamaIndex Agent 中进行图数据库查询。您可以参考该示例了解如何在实际应用中使用 NebulaGraph MCP Server。

信息

分类

数据库与文件