使用说明
项目简介
Neo4j MCP Server 是一个基于 Model Context Protocol (MCP) 的后端服务器实现,它使用 Neo4j 图数据库作为知识图谱的存储引擎。该服务器旨在为大型语言模型 (LLM) 应用提供结构化的上下文信息管理能力,通过工具化的方式,允许 LLM 客户端安全、可控地访问和操作存储在 Neo4j 中的知识图谱数据。
主要功能点
- 知识图谱存储: 使用 Neo4j 图数据库持久化存储实体和关系,构建结构化知识表示。
- 实体和关系管理: 提供工具用于创建、读取、更新和删除知识图谱中的实体 (Entities) 和关系 (Relations)。
- 观察 (Observations) 管理: 支持为实体添加和删除观察信息,丰富实体的内容。
- 知识图谱查询: 提供基于关键词的实体搜索和节点打开功能,方便检索知识图谱信息。
- MCP 协议兼容: 遵循 Model Context Protocol 标准,通过 JSON-RPC 协议与 MCP 客户端通信。
- 工具化接口: 通过标准化的工具接口向 LLM 客户端暴露知识图谱操作能力。
- 可配置的 Neo4j 连接: 支持通过环境变量配置 Neo4j 数据库的连接参数,方便部署和管理。
安装步骤
-
克隆仓库
git clone https://github.com/rebots-online/mcp-neo4j cd mcp-neo4j/servers/mcp-neo4j-memory -
安装依赖
npm install -
构建项目
npm run build
服务器配置
MCP 客户端需要以下 JSON 配置信息来连接 Neo4j MCP 服务器。请注意,以下配置为 'mcp-neo4j-memory' 服务器的默认配置,您可以根据实际情况进行调整。
{ "serverName": "mcp-neo4j-memory", "command": "node", "args": [ "dist/servers/mcp-neo4j-memory/main.js" ], "transport": "stdio" }
配置参数说明:
- 'serverName': 服务器名称,标识该 MCP 服务器实例,例如 '"mcp-neo4j-memory"'。
- 'command': 启动服务器的命令,这里使用 'node' 运行时环境来执行 JavaScript 代码。
- 'args': 传递给启动命令的参数数组,指向编译后的服务器主程序入口文件 '"dist/servers/mcp-neo4j-memory/main.js"'。
- 'transport': 指定 MCP 服务器使用的传输协议,这里使用标准输入输出流 '"stdio"' 进行通信。
环境变量配置 (可选):
Neo4j MCP 服务器支持通过以下环境变量配置 Neo4j 数据库连接,您可以根据需要设置:
- 'NEO4J_URL': Neo4j 连接 URL,例如 '"bolt://localhost:7687"' (默认为 '"bolt://localhost:7687"')。
- 'NEO4J_USER': Neo4j 数据库用户名 (默认为 '"neo4j"')。
- 'NEO4J_PASSWORD': Neo4j 数据库密码 (默认为 '"neo4j"')。
您可以通过在启动服务器命令前设置环境变量来覆盖默认配置,例如:
NEO4J_URL="bolt://<your_neo4j_host>:<your_neo4j_port>" \ NEO4J_USER="<your_neo4j_username>" \ NEO4J_PASSWORD="<your_neo4j_password>" \ node dist/servers/mcp-neo4j-memory/main.js
基本使用方法
-
启动服务器: 在配置好环境变量 (可选) 后,在 'mcp-neo4j/servers/mcp-neo4j-memory' 目录下执行以下命令启动服务器:
npm start或者直接运行编译后的 JavaScript 文件:
node dist/servers/mcp-neo4j-memory/main.js服务器成功启动后,会在控制台输出 "MCP Knowledge Graph Memory using Neo4j running on stdio"。
-
配置 MCP 客户端: 在您的 MCP 客户端应用中,配置上述提供的 JSON 配置信息,建立与 Neo4j MCP 服务器的连接。
-
调用工具: 通过 MCP 客户端,您可以调用服务器提供的各种工具,例如 'create_entities', 'create_relations', 'read_graph', 'search_nodes' 等,与 Neo4j 知识图谱进行交互。具体的工具输入参数和功能描述请参考 'servers/mcp-neo4j-memory/src/main.ts' 文件中 'ListToolsRequestSchema' 的定义。
信息
分类
数据库与文件