MCP Neo4j 记忆体服务器是一款基于 Neo4j 图数据库的知识图谱存储与检索工具,专为 Model Context Protocol (MCP) 设计了记忆增强功能。它能够处理实体创建、关系建立以及观察信息的存储,还支持复杂的图数据查询,为知识图谱的管理提供了强大的支持。
MCP Neo4j 记忆体服务器是为满足知识图谱存储与检索需求而设计的工具。它借助 Neo4j 图数据库的强大功能,为 MCP 提供了记忆增强能力,可高效处理各类知识图谱相关操作。
通过 npm 安装:
npm install @jovanhsu/mcp-neo4j-memory-server
创建实体及其关系:
import { McpClient } from '@modelcontextprotocol/sdk/client/mcp.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
// 创建客户端运输
const transport = new StdioClientTransport({
command: 'npx',
args: ['-y', '@jovanhsu/mcp-neo4j-memory-server'],
env: {
NEO4J_URI: 'bolt://localhost:7687',
NEO4J_USER: 'neo4j',
NEO4J_PASSWORD: 'password'
}
});
const client = new McpClient();
await client.connect(transport);
// 创建实体
const createResult = await client.callTool('create_entities', {
entities: [
{
name: '李明',
entityType: '人物',
observations: ['喜欢编程', '使用TypeScript']
},
{
name: 'Google',
entityType: '公司',
observations: ['总部位于美国', '业务范围包括搜索、云计算等']
}
]
});
console.log('创建实体结果:', createResult);
// 建立关系
const relationResult = await client.callTool('create_relation', {
sourceEntityName: '李明',
targetEntityName: 'Google',
relationType: '工作于'
});
console.log('建立关系结果:', relationResult);
知识图谱在 Neo4j 中的存储模型如下:
(Entity:EntityType {name: "实体名称"}) 创建不同类型的实体。
(Entity)-[:HAS_OBSERVATION]->(Observation {content: "观察内容}) 存储与实体相关的观察信息。
(Entity1)-[:RELATION_TYPE]->(Entity2) 建立实体间的复杂关系。
结合了 Neo4j 的全文索引和 Fuse.js 进行模糊匹配:
# 克隆仓库
git clone https://github.com/JovanHsu/mcp-neo4j-memory-server.git
cd mcp-neo4j-memory-server
# 安装依赖
pnpm install
# 构建项目
pnpm build
# 开发模式(使用 MCP Inspector)
pnpm dev
# 运行测试
pnpm test
相比原始版本使用的 JSON 文件存储和 DuckDB 版本,Neo4j 具有以下优势:
本项目采用 MIT 许可证 - 详见 LICENSE 文件。