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 传输协议。
安装步骤
- 安装 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>
基本使用方法
-
启动 MCP 服务器: 在配置好环境变量或 '.env' 文件后,打开终端,运行以下命令启动 NebulaGraph MCP Server。您可以根据需要选择 'stdio' 或 'sse' 传输协议。
使用 Stdio 传输协议启动:
nebulagraph-mcp-server --transport stdio使用 SSE 传输协议启动 (推荐):
nebulagraph-mcp-server --transport sse -
配置 MCP 客户端: 在您的 MCP 客户端 (例如 LlamaIndex) 中,根据上述 服务器配置 部分的 JSON 示例,配置连接到 NebulaGraph MCP Server。确保客户端能够正确识别并连接到正在运行的服务器。
-
使用 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。
信息
分类
数据库与文件